Files
coffeescript/parser.rb
2009-12-14 10:00:31 -05:00

1146 lines
34 KiB
Ruby

#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.6
# from Racc grammer file "".
#
require 'racc/parser.rb'
require "lexer"
require "nodes"
class Parser < Racc::Parser
module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 234)
def parse(code, show_tokens=false)
# @yydebug = true
@tokens = Lexer.new.tokenize(code)
puts @tokens.inspect if show_tokens
do_parse
end
def next_token
@tokens.shift
end
...end grammar.y/module_eval...
##### State transition tables begin ###
clist = [
'9,46,40,158,22,28,31,34,38,2,6,11,15,17,19,21,25,6,138,46,136,7,10,46',
'40,40,9,27,11,15,22,28,31,34,38,2,6,74,77,17,19,21,25,45,11,15,152,7',
'10,26,40,46,36,27,4,93,13,11,15,36,44,4,46,13,101,45,45,147,47,42,42',
'107,71,73,76,26,11,15,36,9,4,59,13,22,28,31,34,38,2,6,140,45,17,19,21',
'25,74,77,11,15,7,10,88,9,89,97,27,22,28,31,34,38,2,6,11,15,17,19,21',
'25,135,138,11,15,7,10,106,139,26,100,27,36,148,4,,13,11,15,74,77,11',
'15,165,71,73,76,79,81,,71,73,76,26,105,,36,9,4,,13,22,28,31,34,38,2',
'6,74,77,17,19,21,25,74,77,11,15,7,10,,9,155,,27,22,28,31,34,38,2,6,11',
'15,17,19,21,25,109,11,15,,7,10,,149,26,,27,36,,4,,13,11,15,74,77,74',
'77,167,71,73,76,79,81,74,77,11,15,26,74,77,36,9,4,,13,22,28,31,34,38',
'2,6,74,77,17,19,21,25,11,15,,,7,10,,100,,9,27,98,,22,28,31,34,38,2,6',
',,17,19,21,25,,11,15,,7,10,26,,,36,27,4,,13,22,28,31,34,38,2,,,,,,,',
'11,15,,,,26,,,36,9,4,,13,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,',
'9,,,27,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,,26,,27,36,,4,,13',
',,,,,,,71,73,76,79,81,,,,,26,,,36,9,4,,13,22,28,31,34,38,2,6,74,77,17',
'19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10',
',,26,,27,36,,4,,13,,,,,,,,,,,,11,15,,,,26,,,36,9,4,,13,22,28,31,34,38',
'2,6,,,17,19,21,25,,,,,7,10,,,,9,27,,,22,28,31,34,38,2,6,,,17,19,21,25',
',11,15,,7,10,26,,,36,27,4,,13,,,,,,,,,,71,73,76,79,81,,,,,26,,,36,9',
'4,,13,22,28,31,34,38,2,6,74,77,17,19,21,25,,,,,7,10,,,,,27,,,,,,,,,',
',,,,,,,11,15,,,,26,,,36,,4,,13,9,160,,,22,28,31,34,38,2,6,,,17,19,21',
'25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,,26,',
'27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28,31,34,38,2,6,,,17',
'19,21,25,,,,,7,10,,,,9,27,,,22,28,31,34,38,2,6,,,17,19,21,25,,11,15',
',7,10,26,,,36,27,4,,13,,,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28,31,34',
'38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17,19,21',
'25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28',
'31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17',
'19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13',
'22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6',
',,17,19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9',
'4,,13,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34',
'38,2,6,,,17,19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,11,15,,',
',26,,,36,9,4,,13,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22',
'28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,',
',,,,,,26,,,36,9,4,,13,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,',
',27,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,',
',,,,,,,,,,,,,26,,,36,9,4,,13,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7',
'10,,,,9,27,,,22,28,31,34,38,2,6,,,17,19,21,25,,11,15,,7,10,26,,,36,27',
'4,,13,,,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28,31,34,38,2,6,,,17,19,21',
'25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,,26,',
'27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28,31,34,38,2,6,,,17',
'19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10',
',,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28,31,34,38,2',
'6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17,19,21,25,,',
',,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28,31,34',
'38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17,19,21',
'25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13,22,28',
'31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6,,,17',
'19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9,4,,13',
'22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34,38,2,6',
',,17,19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26,,,36,9',
'4,,13,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,9,,,27,22,28,31,34',
'38,2,6,,,17,19,21,25,,,,,7,10,,,26,,27,36,,4,,13,,,,,,,,,,,,,,,,,26',
',,36,9,4,,13,22,28,31,34,38,2,6,,,17,19,21,25,,,,,7,10,,,,,27,,,,,,',
',153,,,,,,,,,,,,,,26,,,36,,4,,13,71,73,76,79,81,83,85,87,66,68,69,70',
'72,75,78,80,82,84,86,65,67,103,,,74,77,,154,,,,,,,,,,,,,,,71,73,76,79',
'81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65,67,11,15,108,74,77,',
',,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65,67,,,',
'74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65,67',
',,,74,77,,166,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84',
'86,65,67,,,,74,77,,163,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78',
'80,82,84,86,65,67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,,',
',,,,,,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84',
'86,65,67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82',
'84,86,65,67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,,,,,,,,',
',,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65',
'67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86',
'65,67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84',
'86,65,67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,,,,,,,,,,,',
'74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65,67',
',,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65',
'67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,,,,,,,,,,,,74,77',
'71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65,67,,,,74',
'77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65,67,,',
',74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,75,78,80,82,84,86,65,67',
',,,74,77,71,73,76,79,81,83,85,87,66,68,69,70,72,,,,,,,,,,,,74,77,71',
'73,76,79,81,83,85,87,66,68,69,70,72,,,,,,,,,,,,74,77,71,73,76,79,81',
'83,85,87,66,68,69,70,72,,,,,,,,,,,,74,77,71,73,76,79,81,83,85,87,66',
'68,69,70,72,75,78,80,82,84,86,65,67,,,,74,77,71,73,76,79,81,83,85,87',
'66,68,69,70,72,,,,,,,,,,,,74,77,71,73,76,79,81,83,85,87,66,68,69,70',
'72,75,78,80,82,84,86,65,67,,,,74,77,71,73,76,79,81,83,85,87,66,68,69',
'70,72,75,78,80,82,84,86,65,67,,,,74,77' ]
racc_action_table = arr = Array.new(2620, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
arr[idx] = i.to_i unless i.empty?
idx += 1
end
end
clist = [
'0,144,57,148,0,0,0,0,0,0,0,91,91,0,0,0,0,19,91,50,91,0,0,4,56,3,79,0',
'30,30,79,79,79,79,79,79,79,63,63,79,79,79,79,57,0,0,144,79,79,0,14,100',
'0,79,0,40,0,4,4,19,3,19,99,19,50,56,3,107,4,56,3,60,127,127,127,79,90',
'90,79,78,79,24,79,78,78,78,78,78,78,78,96,14,78,78,78,78,127,127,60',
'60,78,78,33,7,33,46,78,7,7,7,7,7,7,7,94,94,7,7,7,7,89,94,102,102,7,7',
'59,94,78,102,7,78,108,78,,78,161,161,117,117,54,54,161,129,129,129,129',
'129,,125,125,125,7,54,,7,9,7,,7,9,9,9,9,9,9,9,129,129,9,9,9,9,125,125',
'146,146,9,9,,10,146,,9,10,10,10,10,10,10,10,62,62,10,10,10,10,62,134',
'134,,10,10,,134,9,,10,9,,9,,9,164,164,122,122,119,119,164,131,131,131',
'131,131,51,51,147,147,10,53,53,10,13,10,,10,13,13,13,13,13,13,13,131',
'131,13,13,13,13,48,48,,,13,13,,48,,160,13,48,,160,160,160,160,160,160',
'160,,,160,160,160,160,,13,13,,160,160,13,,,13,160,13,,13,45,45,45,45',
'45,45,,,,,,,,160,160,,,,160,,,160,77,160,,160,77,77,77,77,77,77,77,',
',77,77,77,77,,,,,77,77,,21,,,77,21,21,21,21,21,21,21,,,21,21,21,21,',
',,,21,21,,,77,,21,77,,77,,77,,,,,,,,112,112,112,112,112,,,,,21,,,21',
'158,21,,21,158,158,158,158,158,158,158,112,112,158,158,158,158,,,,,158',
'158,,25,,,158,25,25,25,25,25,25,25,,,25,25,25,25,,,,,25,25,,,158,,25',
'158,,158,,158,,,,,,,,,,,,25,25,,,,25,,,25,26,25,,25,26,26,26,26,26,26',
'26,,,26,26,26,26,,,,,26,26,,,,27,26,,,27,27,27,27,27,27,27,,,27,27,27',
'27,,26,26,,27,27,26,,,26,27,26,,26,,,,,,,,,,133,133,133,133,133,,,,',
'27,,,27,157,27,,27,157,157,157,157,157,157,157,133,133,157,157,157,157',
',,,,157,157,,,,,157,,,,,,,,,,,,,,,,,157,157,,,,157,,,157,,157,,157,156',
'156,,,156,156,156,156,156,156,156,,,156,156,156,156,,,,,156,156,,153',
',,156,153,153,153,153,153,153,153,,,153,153,153,153,,,,,153,153,,,156',
',153,156,,156,,156,,,,,,,,,,,,,,,,,153,,,153,35,153,,153,35,35,35,35',
'35,35,35,,,35,35,35,35,,,,,35,35,,,,36,35,,,36,36,36,36,36,36,36,,,36',
'36,36,36,,35,35,,36,36,35,,,35,36,35,,35,,,,,,,,,,,,,,,,,,,36,,,36,76',
'36,,36,76,76,76,76,76,76,76,,,76,76,76,76,,,,,76,76,,42,,,76,42,42,42',
'42,42,42,42,,,42,42,42,42,,,,,42,42,,,76,,42,76,,76,,76,,,,,,,,,,,,',
',,,,42,,,42,44,42,,42,44,44,44,44,44,44,44,,,44,44,44,44,,,,,44,44,',
'75,,,44,75,75,75,75,75,75,75,,,75,75,75,75,,,,,75,75,,,44,,75,44,,44',
',44,,,,,,,,,,,,,,,,,75,,,75,138,75,,75,138,138,138,138,138,138,138,',
',138,138,138,138,,,,,138,138,,137,,,138,137,137,137,137,137,137,137',
',,137,137,137,137,,,,,137,137,,,138,,137,138,,138,,138,,,,,,,,,,,,,',
',,,137,,,137,74,137,,137,74,74,74,74,74,74,74,,,74,74,74,74,,,,,74,74',
',104,,,74,104,104,104,104,104,104,104,,,104,104,104,104,,,,,104,104',
',,74,,104,74,,74,,74,,,,,,,,,,,,104,104,,,,104,,,104,73,104,,104,73',
'73,73,73,73,73,73,,,73,73,73,73,,,,,73,73,,103,,,73,103,103,103,103',
'103,103,103,,,103,103,103,103,,,,,103,103,,,73,,103,73,,73,,73,,,,,',
',,,,,,,,,,,103,,,103,97,103,,103,97,97,97,97,97,97,97,,,97,97,97,97',
',,,,97,97,,81,,,97,81,81,81,81,81,81,81,,,81,81,81,81,,,,,81,81,,,97',
',81,97,,97,,97,,,,,,,,,,,,,,,,,81,,,81,88,81,,81,88,88,88,88,88,88,88',
',,88,88,88,88,,,,,88,88,,,,87,88,,,87,87,87,87,87,87,87,,,87,87,87,87',
',88,88,,87,87,88,,,88,87,88,,88,,,,,,,,,,,,,,,,,,,87,,,87,86,87,,87',
'86,86,86,86,86,86,86,,,86,86,86,86,,,,,86,86,,85,,,86,85,85,85,85,85',
'85,85,,,85,85,85,85,,,,,85,85,,,86,,85,86,,86,,86,,,,,,,,,,,,,,,,,85',
',,85,84,85,,85,84,84,84,84,84,84,84,,,84,84,84,84,,,,,84,84,,83,,,84',
'83,83,83,83,83,83,83,,,83,83,83,83,,,,,83,83,,,84,,83,84,,84,,84,,,',
',,,,,,,,,,,,,83,,,83,82,83,,83,82,82,82,82,82,82,82,,,82,82,82,82,,',
',,82,82,,64,,,82,64,64,64,64,64,64,64,,,64,64,64,64,,,,,64,64,,,82,',
'64,82,,82,,82,,,,,,,,,,,,,,,,,64,,,64,65,64,,64,65,65,65,65,65,65,65',
',,65,65,65,65,,,,,65,65,,66,,,65,66,66,66,66,66,66,66,,,66,66,66,66',
',,,,66,66,,,65,,66,65,,65,,65,,,,,,,,,,,,,,,,,66,,,66,67,66,,66,67,67',
'67,67,67,67,67,,,67,67,67,67,,,,,67,67,,68,,,67,68,68,68,68,68,68,68',
',,68,68,68,68,,,,,68,68,,,67,,68,67,,67,,67,,,,,,,,,,,,,,,,,68,,,68',
'69,68,,68,69,69,69,69,69,69,69,,,69,69,69,69,,,,,69,69,,70,,,69,70,70',
'70,70,70,70,70,,,70,70,70,70,,,,,70,70,,,69,,70,69,,69,,69,,,,,,,,,',
',,,,,,,70,,,70,71,70,,70,71,71,71,71,71,71,71,,,71,71,71,71,,,,,71,71',
',72,,,71,72,72,72,72,72,72,72,,,72,72,72,72,,,,,72,72,,,71,,72,71,,71',
',71,,,,,,,,,,,,,,,,,72,,,72,80,72,,72,80,80,80,80,80,80,80,,,80,80,80',
'80,,,,,80,80,,,,,80,,,,,,,,145,,,,,,,,,,,,,,80,,,80,,80,,80,145,145',
'145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145,145',
'145,145,52,,,145,145,,145,,,,,,,,,,,,,,,52,52,52,52,52,52,52,52,52,52',
'52,52,52,52,52,52,52,52,52,52,52,52,52,61,52,52,,,,61,61,61,61,61,61',
'61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,,,,61,61,162,162,162,162',
'162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162',
',,,162,162,,162,159,159,159,159,159,159,159,159,159,159,159,159,159',
'159,159,159,159,159,159,159,159,,,,159,159,,159,151,151,151,151,151',
'151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,,,,151',
'151,128,128,128,128,128,128,128,128,128,128,128,128,128,,,,,,,,,,,,128',
'128,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141',
'141,141,141,141,141,,,,141,141,92,92,92,92,92,92,92,92,92,92,92,92,92',
'92,92,92,92,92,92,92,92,,,,92,92,126,126,126,126,126,126,126,126,126',
'126,126,126,126,,,,,,,,,,,,126,126,95,95,95,95,95,95,95,95,95,95,95',
'95,95,95,95,95,95,95,95,95,95,,,,95,95,32,32,32,32,32,32,32,32,32,32',
'32,32,32,32,32,32,32,32,32,32,32,,,,32,32,58,58,58,58,58,58,58,58,58',
'58,58,58,58,58,58,58,58,58,58,58,58,,,,58,58,124,124,124,124,124,124',
'124,124,124,124,124,124,124,,,,,,,,,,,,124,124,150,150,150,150,150,150',
'150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,,,,150,150',
'123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123',
'123,123,123,123,,,,123,123,121,121,121,121,121,121,121,121,121,121,121',
'121,121,,,,,,,,,,,,121,121,110,110,110,110,110,110,110,110,110,110,110',
'110,110,110,110,110,110,110,110,110,110,,,,110,110,111,111,111,111,111',
'111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,,,,111',
'111,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113',
'113,113,113,113,113,,,,113,113,114,114,114,114,114,114,114,114,114,114',
'114,114,114,,,,,,,,,,,,114,114,115,115,115,115,115,115,115,115,115,115',
'115,115,115,,,,,,,,,,,,115,115,116,116,116,116,116,116,116,116,116,116',
'116,116,116,,,,,,,,,,,,116,116,132,132,132,132,132,132,132,132,132,132',
'132,132,132,132,132,132,132,132,132,132,132,,,,132,132,118,118,118,118',
'118,118,118,118,118,118,118,118,118,,,,,,,,,,,,118,118,120,120,120,120',
'120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120',
',,,120,120,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130',
'130,130,130,130,130,130,,,,130,130' ]
racc_action_check = arr = Array.new(2620, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
arr[idx] = i.to_i unless i.empty?
idx += 1
end
end
racc_action_pointer = [
-2, nil, nil, 12, 11, nil, nil, 101, nil, 154,
178, nil, nil, 231, 37, nil, nil, nil, nil, 5,
nil, 334, nil, nil, 81, 411, 464, 490, nil, nil,
-18, nil, 2179, 51, nil, 677, 703, nil, nil, nil,
43, nil, 780, nil, 833, 284, 57, nil, 204, nil,
7, 176, 1912, 181, 94, nil, 11, -11, 2205, 126,
52, 1941, 145, -12, 1475, 1528, 1552, 1605, 1629, 1682,
1706, 1759, 1783, 1064, 987, 857, 756, 310, 77, 24,
1836, 1165, 1451, 1398, 1374, 1321, 1297, 1244, 1218, 105,
30, -35, 2101, nil, 68, 2153, 35, 1141, nil, 50,
39, nil, 76, 1088, 1011, nil, nil, 55, 120, nil,
2335, 2361, 351, 2387, 2413, 2439, 2465, 89, 2517, 168,
2543, 2309, 166, 2283, 2231, 124, 2127, 47, 2049, 118,
2569, 195, 2491, 507, 152, nil, nil, 934, 910, nil,
nil, 2075, nil, nil, -11, 1870, 129, 181, -1, nil,
2257, 2023, nil, 624, nil, nil, 600, 543, 387, 1995,
257, 90, 1967, nil, 167, nil, nil, nil ]
racc_action_default = [
-1, -59, -23, -8, -70, -60, -57, -89, -9, -89,
-89, -16, -10, -89, -74, -17, -11, -55, -12, -89,
-13, -89, -18, -14, -89, -89, -89, -89, -19, -15,
-2, -20, -3, -89, -21, -89, -78, -58, -22, -7,
-89, -61, -78, -64, -89, -89, -89, -66, -89, -71,
-70, -29, -89, -27, -89, -62, -89, -75, -26, -89,
-89, -3, -89, -28, -5, -89, -89, -89, -89, -89,
-89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
-89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
-6, -89, -79, -63, -89, -24, -89, -89, -68, -89,
-89, -67, -89, -89, -89, -88, 168, -89, -89, -54,
-4, -49, -38, -50, -39, -40, -41, -30, -42, -31,
-51, -43, -32, -52, -44, -33, -45, -34, -46, -35,
-47, -36, -48, -37, -89, -56, -77, -89, -89, -76,
-65, -25, -73, -72, -89, -89, -89, -89, -89, -53,
-81, -80, -69, -89, -82, -83, -5, -89, -89, -89,
-89, -89, -89, -84, -89, -86, -87, -85 ]
racc_goto_table = [
50, 48, 55, 56, 30, 51, 91, 52, 53, 142,
143, 57, 94, 96, 24, nil, nil, 54, nil, 58,
nil, nil, nil, 61, nil, 63, 64, nil, nil, 60,
62, nil, nil, nil, 92, nil, nil, nil, nil, 90,
92, nil, 95, nil, 99, 55, nil, 102, 104, nil,
64, nil, nil, nil, 142, nil, 64, nil, 64, nil,
nil, nil, 110, 111, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
128, 129, 130, 131, 132, 133, 64, 137, nil, nil,
137, nil, 134, nil, nil, 141, nil, nil, 144, nil,
nil, 145, nil, nil, nil, nil, nil, nil, 146, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
64, nil, nil, nil, nil, 150, 151, nil, nil, nil,
nil, nil, 156, 157, nil, nil, nil, nil, nil, nil,
nil, 159, nil, nil, 110, nil, 162, 64, nil, nil,
64, 161, nil, nil, 164 ]
racc_goto_check = [
4, 22, 19, 6, 2, 3, 23, 3, 3, 14,
14, 20, 23, 5, 1, nil, nil, 2, nil, 3,
nil, nil, nil, 3, nil, 3, 4, nil, nil, 2,
2, nil, nil, nil, 3, nil, nil, nil, nil, 2,
3, nil, 3, nil, 4, 19, nil, 22, 4, nil,
4, nil, nil, nil, 14, nil, 4, nil, 4, nil,
nil, nil, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 4, 4, nil, nil,
4, nil, 2, nil, nil, 3, nil, nil, 4, nil,
nil, 3, nil, nil, nil, nil, nil, nil, 2, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
4, nil, nil, nil, nil, 3, 3, nil, nil, nil,
nil, nil, 4, 4, nil, nil, nil, nil, nil, nil,
nil, 3, nil, nil, 3, nil, 3, 4, nil, nil,
4, 2, nil, nil, 2 ]
racc_goto_pointer = [
nil, 14, 4, -2, -4, -32, -16, nil, nil, nil,
nil, nil, nil, nil, -90, nil, nil, nil, nil, -12,
-8, nil, -3, -30 ]
racc_goto_default = [
nil, nil, nil, 32, 35, 39, 3, 8, 12, 16,
18, 20, 23, 29, 49, 33, 37, 1, 5, 41,
14, 43, nil, nil ]
racc_reduce_table = [
0, 0, :racc_error,
0, 61, :_reduce_1,
1, 61, :_reduce_2,
1, 62, :_reduce_3,
3, 62, :_reduce_4,
2, 62, :_reduce_5,
2, 62, :_reduce_6,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 63, :_reduce_none,
1, 64, :_reduce_none,
1, 64, :_reduce_none,
1, 65, :_reduce_18,
1, 65, :_reduce_19,
1, 65, :_reduce_20,
1, 65, :_reduce_21,
1, 65, :_reduce_22,
1, 65, :_reduce_23,
3, 68, :_reduce_24,
3, 74, :_reduce_25,
2, 73, :_reduce_26,
2, 70, :_reduce_27,
2, 70, :_reduce_28,
2, 70, :_reduce_29,
3, 70, :_reduce_30,
3, 70, :_reduce_31,
3, 70, :_reduce_32,
3, 70, :_reduce_33,
3, 70, :_reduce_34,
3, 70, :_reduce_35,
3, 70, :_reduce_36,
3, 70, :_reduce_37,
3, 70, :_reduce_38,
3, 70, :_reduce_39,
3, 70, :_reduce_40,
3, 70, :_reduce_41,
3, 70, :_reduce_42,
3, 70, :_reduce_43,
3, 70, :_reduce_44,
3, 70, :_reduce_45,
3, 70, :_reduce_46,
3, 70, :_reduce_47,
3, 70, :_reduce_48,
3, 70, :_reduce_49,
3, 70, :_reduce_50,
3, 70, :_reduce_51,
3, 70, :_reduce_52,
4, 69, :_reduce_53,
3, 69, :_reduce_54,
1, 75, :_reduce_55,
3, 75, :_reduce_56,
1, 66, :_reduce_57,
1, 66, :_reduce_58,
1, 66, :_reduce_59,
1, 66, :_reduce_60,
2, 66, :_reduce_61,
2, 66, :_reduce_62,
2, 79, :_reduce_63,
1, 79, :_reduce_64,
3, 81, :_reduce_65,
2, 77, :_reduce_66,
3, 77, :_reduce_67,
3, 77, :_reduce_68,
5, 77, :_reduce_69,
0, 82, :_reduce_70,
1, 82, :_reduce_71,
3, 82, :_reduce_72,
3, 82, :_reduce_73,
1, 67, :_reduce_74,
2, 67, :_reduce_75,
4, 80, :_reduce_76,
3, 76, :_reduce_77,
0, 83, :_reduce_78,
1, 83, :_reduce_79,
3, 83, :_reduce_80,
3, 83, :_reduce_81,
5, 71, :_reduce_82,
5, 71, :_reduce_83,
7, 71, :_reduce_84,
8, 71, :_reduce_85,
7, 72, :_reduce_86,
7, 72, :_reduce_87,
3, 78, :_reduce_88 ]
racc_reduce_n = 89
racc_shift_n = 168
racc_token_table = {
false => 0,
:error => 1,
:IF => 2,
:ELSE => 3,
:THEN => 4,
:NEWLINE => 5,
:NUMBER => 6,
:STRING => 7,
:REGEX => 8,
:TRUE => 9,
:FALSE => 10,
:NULL => 11,
:IDENTIFIER => 12,
:PROPERTY_ACCESS => 13,
:CODE => 14,
:PARAM => 15,
:NEW => 16,
:RETURN => 17,
:TRY => 18,
:CATCH => 19,
:FINALLY => 20,
:THROW => 21,
:UMINUS => 22,
:NOT => 23,
"!" => 24,
"*" => 25,
"/" => 26,
"%" => 27,
"+" => 28,
"-" => 29,
"<=" => 30,
"<" => 31,
">" => 32,
">=" => 33,
"==" => 34,
"!=" => 35,
:IS => 36,
:AINT => 37,
"&&" => 38,
"||" => 39,
:AND => 40,
:OR => 41,
"-=" => 42,
"+=" => 43,
"/=" => 44,
"*=" => 45,
"\n" => 46,
";" => 47,
":" => 48,
"||=" => 49,
"&&=" => 50,
"=>" => 51,
"." => 52,
"," => 53,
"[" => 54,
"]" => 55,
"{" => 56,
"}" => 57,
"(" => 58,
")" => 59 }
racc_nt_base = 60
racc_use_result_var = true
Racc_arg = [
racc_action_table,
racc_action_check,
racc_action_default,
racc_action_pointer,
racc_goto_table,
racc_goto_check,
racc_goto_default,
racc_goto_pointer,
racc_nt_base,
racc_reduce_table,
racc_token_table,
racc_shift_n,
racc_reduce_n,
racc_use_result_var ]
Racc_token_to_s_table = [
"$end",
"error",
"IF",
"ELSE",
"THEN",
"NEWLINE",
"NUMBER",
"STRING",
"REGEX",
"TRUE",
"FALSE",
"NULL",
"IDENTIFIER",
"PROPERTY_ACCESS",
"CODE",
"PARAM",
"NEW",
"RETURN",
"TRY",
"CATCH",
"FINALLY",
"THROW",
"UMINUS",
"NOT",
"\"!\"",
"\"*\"",
"\"/\"",
"\"%\"",
"\"+\"",
"\"-\"",
"\"<=\"",
"\"<\"",
"\">\"",
"\">=\"",
"\"==\"",
"\"!=\"",
"IS",
"AINT",
"\"&&\"",
"\"||\"",
"AND",
"OR",
"\"-=\"",
"\"+=\"",
"\"/=\"",
"\"*=\"",
"\"\\n\"",
"\";\"",
"\":\"",
"\"||=\"",
"\"&&=\"",
"\"=>\"",
"\".\"",
"\",\"",
"\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"(\"",
"\")\"",
"$start",
"Root",
"Expressions",
"Expression",
"Terminator",
"Literal",
"Value",
"Call",
"Assign",
"Code",
"Operation",
"If",
"Try",
"Return",
"AssignObj",
"ParamList",
"Array",
"Object",
"Parenthetical",
"Accessor",
"Invocation",
"Index",
"AssignList",
"ArgList" ]
Racc_debug_parser = false
##### State transition tables end #####
# reduce 0 omitted
module_eval(<<'.,.,', 'grammar.y', 39)
def _reduce_1(val, _values, result)
result = Nodes.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 40)
def _reduce_2(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 45)
def _reduce_3(val, _values, result)
result = Nodes.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 46)
def _reduce_4(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 47)
def _reduce_5(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 48)
def _reduce_6(val, _values, result)
result = val[1]
result
end
.,.,
# reduce 7 omitted
# reduce 8 omitted
# reduce 9 omitted
# reduce 10 omitted
# reduce 11 omitted
# reduce 12 omitted
# reduce 13 omitted
# reduce 14 omitted
# reduce 15 omitted
# reduce 16 omitted
# reduce 17 omitted
module_eval(<<'.,.,', 'grammar.y', 72)
def _reduce_18(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 73)
def _reduce_19(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 74)
def _reduce_20(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 75)
def _reduce_21(val, _values, result)
result = LiteralNode.new(true)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 76)
def _reduce_22(val, _values, result)
result = LiteralNode.new(false)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 77)
def _reduce_23(val, _values, result)
result = LiteralNode.new(nil)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 82)
def _reduce_24(val, _values, result)
result = AssignNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 87)
def _reduce_25(val, _values, result)
result = AssignNode.new(val[0], val[2], :object)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 92)
def _reduce_26(val, _values, result)
result = ReturnNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 99)
def _reduce_27(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 100)
def _reduce_28(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 101)
def _reduce_29(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 104)
def _reduce_30(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 105)
def _reduce_31(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 106)
def _reduce_32(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 108)
def _reduce_33(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 109)
def _reduce_34(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 111)
def _reduce_35(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 112)
def _reduce_36(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 113)
def _reduce_37(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 114)
def _reduce_38(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 116)
def _reduce_39(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 117)
def _reduce_40(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 118)
def _reduce_41(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 119)
def _reduce_42(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 121)
def _reduce_43(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 122)
def _reduce_44(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 123)
def _reduce_45(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 124)
def _reduce_46(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 126)
def _reduce_47(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 127)
def _reduce_48(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 128)
def _reduce_49(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 129)
def _reduce_50(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 130)
def _reduce_51(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 131)
def _reduce_52(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 137)
def _reduce_53(val, _values, result)
result = CodeNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 138)
def _reduce_54(val, _values, result)
result = CodeNode.new([], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 142)
def _reduce_55(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 143)
def _reduce_56(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 147)
def _reduce_57(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 148)
def _reduce_58(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 149)
def _reduce_59(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 150)
def _reduce_60(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 151)
def _reduce_61(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 152)
def _reduce_62(val, _values, result)
result = ValueNode.new(val[0], [val[1]])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 156)
def _reduce_63(val, _values, result)
result = AccessorNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 157)
def _reduce_64(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 161)
def _reduce_65(val, _values, result)
result = IndexNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 165)
def _reduce_66(val, _values, result)
result = ObjectNode.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 166)
def _reduce_67(val, _values, result)
result = ObjectNode.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 167)
def _reduce_68(val, _values, result)
result = ObjectNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 169)
def _reduce_69(val, _values, result)
result = ObjectNode.new(val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 173)
def _reduce_70(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 174)
def _reduce_71(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 175)
def _reduce_72(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 176)
def _reduce_73(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 181)
def _reduce_74(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 182)
def _reduce_75(val, _values, result)
result = val[1].new_instance
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 186)
def _reduce_76(val, _values, result)
result = CallNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 191)
def _reduce_77(val, _values, result)
result = ArrayNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 196)
def _reduce_78(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 197)
def _reduce_79(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 198)
def _reduce_80(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 199)
def _reduce_81(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 204)
def _reduce_82(val, _values, result)
result = IfNode.new(val[1], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 206)
def _reduce_83(val, _values, result)
result = IfNode.new(val[1], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 209)
def _reduce_84(val, _values, result)
result = IfNode.new(val[1], val[3], val[5])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 212)
def _reduce_85(val, _values, result)
result = IfNode.new(val[1], val[3], val[6])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 217)
def _reduce_86(val, _values, result)
result = TryNode.new(val[1], val[3], val[5])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 219)
def _reduce_87(val, _values, result)
result = TryNode.new(val[1], val[3], val[5])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 223)
def _reduce_88(val, _values, result)
result = ParentheticalNode.new(val[1])
result
end
.,.,
def _reduce_none(val, _values, result)
val[0]
end
end # class Parser