Files
coffeescript/parser.rb
2009-12-13 23:59:12 -05:00

1077 lines
31 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', 225)
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 = [
'6,81,-73,81,21,24,28,31,35,2,4,127,76,13,16,20,81,27,30,76,6,76,81,10',
'21,24,28,31,35,2,4,92,4,13,16,20,16,27,30,-73,32,36,128,10,149,9,32',
'36,19,77,26,139,34,80,32,36,77,84,77,32,36,119,73,124,74,9,131,140,19',
'6,26,81,34,21,24,28,31,35,2,4,45,48,13,16,20,76,27,30,39,6,45,48,10',
'21,24,28,31,35,2,4,32,36,13,16,20,122,27,30,,32,36,,10,133,9,,75,19',
',26,,34,77,,32,36,80,32,36,32,36,131,,138,9,132,,19,6,26,,34,21,24,28',
'31,35,2,4,45,48,13,16,20,,27,30,,6,32,36,10,21,24,28,31,35,2,4,45,48',
'13,16,20,,27,30,65,44,47,,10,,9,32,36,19,,26,,34,119,,120,65,44,47,50',
'52,32,36,45,48,9,,93,19,6,26,,34,21,24,28,31,35,2,4,45,48,13,16,20,',
'27,30,,6,151,,10,21,24,28,31,35,2,4,45,48,13,16,20,,27,30,,32,36,,10',
',9,32,36,19,,26,,34,45,48,,65,44,47,50,52,32,36,,,9,,147,19,6,26,,34',
'21,24,28,31,35,2,4,45,48,13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4',
',,13,16,20,,27,30,,32,36,,10,,9,,,19,,26,,34,32,36,,65,44,47,154,,,',
',,9,,,19,6,26,,34,21,24,28,31,35,2,4,45,48,13,16,20,,27,30,,6,,,10,21',
'24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,65,44,47',
'50,52,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,45,48,13,16,20,,27,30,',
'6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,21',
'24,28,31,35,2,,32,36,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20',
',27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,',
'26,,34,,,,65,44,47,50,52,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,45,48',
'13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10',
',9,,,19,,26,,34,,,,,,,,32,36,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,',
',13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10',
',9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13',
'16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9',
',,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16',
'20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19',
',26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27',
'30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,',
'34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30',
',6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34',
',,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6',
',,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,',
',,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10',
'21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,',
',,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21',
'24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,',
',9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24',
'28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9',
',,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28',
'31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19',
'6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28,31,35',
'2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26',
',34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4',
',,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34',
'21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13',
'16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24',
'28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,,,,,,,,,,,145,,,,,,,,,,9,,,19',
',26,,34,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49,51,53,55,57,59',
'61,90,,,45,48,,146,,,,,,,,,,,65,44,47,50,52,54,56,58,60,62,63,64,43',
'46,49,51,53,55,57,59,61,32,36,,45,48,65,44,47,50,52,54,56,58,60,62,63',
'64,43,46,49,51,53,55,57,59,61,,,,45,48,,152,65,44,47,50,52,54,56,58',
'60,62,63,64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64',
'43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63',
'64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62',
'63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60',
'62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58',
'60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56',
'58,60,62,63,64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63',
'64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49',
'51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46',
'49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43',
'46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64',
'43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63',
'64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49',
'51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,,',
',,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49,51,53,55',
'57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,,,,,,,,,,,',
'45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,,,,,,,,,,,,45,48,65,44',
'47,50,52,54,56,58,60,62,63,64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54',
'56,58,60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52',
'54,56,58,60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50',
'52,54,56,58,60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48' ]
racc_action_table = arr = Array.new(2235, 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,82,66,142,0,0,0,0,0,0,0,81,67,0,0,0,26,0,0,68,6,29,131,0,6,6,6,6,6',
'6,6,39,16,6,6,6,16,6,6,66,0,0,82,6,142,0,26,26,0,67,0,125,0,67,126,126',
'68,26,29,129,129,126,23,76,23,6,129,126,6,151,6,130,6,151,151,151,151',
'151,151,151,88,88,151,151,151,25,151,151,8,9,99,99,151,9,9,9,9,9,9,9',
'89,89,9,9,9,74,9,9,,151,151,,9,89,151,,25,151,,151,,151,25,,85,85,25',
'121,121,9,9,85,,121,9,85,,9,10,9,,9,10,10,10,10,10,10,10,117,117,10',
'10,10,,10,10,,75,12,12,10,75,75,75,75,75,75,75,96,96,75,75,75,,75,75',
'102,102,102,,75,,10,70,70,10,,10,,10,70,,70,112,112,112,112,112,40,40',
'102,102,75,,40,75,91,75,,75,91,91,91,91,91,91,91,112,112,91,91,91,,91',
'91,,148,148,,91,148,148,148,148,148,148,148,86,86,148,148,148,,148,148',
',91,91,,148,,91,69,69,91,,91,,91,41,41,,110,110,110,110,110,135,135',
',,148,,135,148,18,148,,148,18,18,18,18,18,18,18,110,110,18,18,18,,18',
'18,,19,,,18,19,19,19,19,19,19,19,,,19,19,19,,19,19,,18,18,,19,,18,,',
'18,,18,,18,153,153,,104,104,104,153,,,,,,19,,,19,20,19,,19,20,20,20',
'20,20,20,20,104,104,20,20,20,,20,20,,145,,,20,145,145,145,145,145,145',
'145,,,145,145,145,,145,145,,,,,145,,20,,,20,,20,,20,,,,106,106,106,106',
'106,,,,,145,,,145,127,145,,145,127,127,127,127,127,127,127,106,106,127',
'127,127,,127,127,,73,,,127,73,73,73,73,73,73,73,,,73,73,73,,73,73,,',
',,73,,127,,,127,,127,,127,77,77,77,77,77,77,,73,73,,,,73,,,73,27,73',
',73,27,27,27,27,27,27,27,,,27,27,27,,27,27,,119,,,27,119,119,119,119',
'119,119,119,,,119,119,119,,119,119,,,,,119,,27,,,27,,27,,27,,,,108,108',
'108,108,108,,,,,119,,,119,30,119,,119,30,30,30,30,30,30,30,108,108,30',
'30,30,,30,30,,34,,,30,34,34,34,34,34,34,34,,,34,34,34,,34,34,,,,,34',
',30,,,30,,30,,30,,,,,,,,34,34,,,,34,,,34,80,34,,34,80,80,80,80,80,80',
'80,,,80,80,80,,80,80,,118,,,80,118,118,118,118,118,118,118,,,118,118',
'118,,118,118,,,,,118,,80,,,80,,80,,80,,,,,,,,,,,,,118,,,118,90,118,',
'118,90,90,90,90,90,90,90,,,90,90,90,,90,90,,65,,,90,65,65,65,65,65,65',
'65,,,65,65,65,,65,65,,,,,65,,90,,,90,,90,,90,,,,,,,,,,,,,65,,,65,42',
'65,,65,42,42,42,42,42,42,42,,,42,42,42,,42,42,,43,,,42,43,43,43,43,43',
'43,43,,,43,43,43,,43,43,,,,,43,,42,,,42,,42,,42,,,,,,,,,,,,,43,,,43',
'44,43,,43,44,44,44,44,44,44,44,,,44,44,44,,44,44,,45,,,44,45,45,45,45',
'45,45,45,,,45,45,45,,45,45,,,,,45,,44,,,44,,44,,44,,,,,,,,,,,,,45,,',
'45,46,45,,45,46,46,46,46,46,46,46,,,46,46,46,,46,46,,47,,,46,47,47,47',
'47,47,47,47,,,47,47,47,,47,47,,,,,47,,46,,,46,,46,,46,,,,,,,,,,,,,47',
',,47,64,47,,47,64,64,64,64,64,64,64,,,64,64,64,,64,64,,49,,,64,49,49',
'49,49,49,49,49,,,49,49,49,,49,49,,,,,49,,64,,,64,,64,,64,,,,,,,,,,,',
',49,,,49,50,49,,49,50,50,50,50,50,50,50,,,50,50,50,,50,50,,51,,,50,51',
'51,51,51,51,51,51,,,51,51,51,,51,51,,,,,51,,50,,,50,,50,,50,,,,,,,,',
',,,,51,,,51,52,51,,51,52,52,52,52,52,52,52,,,52,52,52,,52,52,,53,,,52',
'53,53,53,53,53,53,53,,,53,53,53,,53,53,,,,,53,,52,,,52,,52,,52,,,,,',
',,,,,,,53,,,53,54,53,,53,54,54,54,54,54,54,54,,,54,54,54,,54,54,,55',
',,54,55,55,55,55,55,55,55,,,55,55,55,,55,55,,,,,55,,54,,,54,,54,,54',
',,,,,,,,,,,,55,,,55,56,55,,55,56,56,56,56,56,56,56,,,56,56,56,,56,56',
',57,,,56,57,57,57,57,57,57,57,,,57,57,57,,57,57,,,,,57,,56,,,56,,56',
',56,,,,,,,,,,,,,57,,,57,58,57,,57,58,58,58,58,58,58,58,,,58,58,58,,58',
'58,,59,,,58,59,59,59,59,59,59,59,,,59,59,59,,59,59,,,,,59,,58,,,58,',
'58,,58,,,,,,,,,,,,,59,,,59,60,59,,59,60,60,60,60,60,60,60,,,60,60,60',
',60,60,,61,,,60,61,61,61,61,61,61,61,,,61,61,61,,61,61,,,,,61,,60,,',
'60,,60,,60,,,,,,,,,,,,,61,,,61,62,61,,61,62,62,62,62,62,62,62,,,62,62',
'62,,62,62,,63,,,62,63,63,63,63,63,63,63,,,63,63,63,,63,63,,,,,63,,62',
',,62,,62,,62,,,,,,,,,,,,,63,,,63,48,63,,63,48,48,48,48,48,48,48,,,48',
'48,48,,48,48,,,,,48,,,,,,,,,,,,134,,,,,,,,,,48,,,48,,48,,48,134,134',
'134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134',
'134,134,38,,,134,134,,134,,,,,,,,,,,38,38,38,38,38,38,38,38,38,38,38',
'38,38,38,38,38,38,38,38,38,38,38,38,,38,38,150,150,150,150,150,150,150',
'150,150,150,150,150,150,150,150,150,150,150,150,150,150,,,,150,150,',
'150,116,116,116,116,116,116,116,116,116,116,116,116,116,,,,,,,,,,,,116',
'116,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,',
',,72,72,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,,,,71,71,136,136,136,136,136,136,136,136,136,136,136,136,136,136',
'136,136,136,136,136,136,136,,,,136,136,137,137,137,137,137,137,137,137',
'137,137,137,137,137,137,137,137,137,137,137,137,137,,,,137,137,123,123',
'123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123',
'123,123,,,,123,123,115,115,115,115,115,115,115,115,115,115,115,115,115',
',,,,,,,,,,,115,115,114,114,114,114,114,114,114,114,114,114,114,114,114',
',,,,,,,,,,,114,114,113,113,113,113,113,113,113,113,113,113,113,113,113',
'113,113,113,113,113,113,113,113,,,,113,113,141,141,141,141,141,141,141',
'141,141,141,141,141,141,141,141,141,141,141,141,141,141,,,,141,141,15',
'15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,,,,15,15',
'94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,,,,94',
'94,95,95,95,95,95,95,95,95,95,95,95,95,95,,,,,,,,,,,,95,95,97,97,97',
'97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,,,,97,97,98,98',
'98,98,98,98,98,98,98,98,98,98,98,,,,,,,,,,,,98,98,100,100,100,100,100',
'100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,,,,100',
'100,101,101,101,101,101,101,101,101,101,101,101,101,101,,,,,,,,,,,,101',
'101,103,103,103,103,103,103,103,103,103,103,103,103,103,,,,,,,,,,,,103',
'103,105,105,105,105,105,105,105,105,105,105,105,105,105,,,,,,,,,,,,105',
'105,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107',
'107,107,107,107,107,,,,107,107,109,109,109,109,109,109,109,109,109,109',
'109,109,109,109,109,109,109,109,109,109,109,,,,109,109,111,111,111,111',
'111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111',
',,,111,111' ]
racc_action_check = arr = Array.new(2235, 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, nil, nil, nil, 18, nil, 88, 87,
136, nil, 117, nil, nil, 1902, 20, nil, 274, 294,
343, nil, nil, 15, nil, 72, 4, 481, nil, 8,
550, nil, nil, nil, 570, nil, nil, nil, 1588, 31,
157, 215, 757, 777, 826, 846, 895, 915, 1516, 984,
1033, 1053, 1102, 1122, 1171, 1191, 1240, 1260, 1309, 1329,
1378, 1398, 1447, 1467, 964, 708, -11, -1, 6, 211,
142, 1694, 1668, 432, 90, 156, 51, 461, nil, nil,
619, -33, -11, nil, nil, 82, 193, nil, 35, 58,
688, 205, nil, nil, 1928, 1954, 124, 1980, 2006, 45,
2032, 2058, 156, 2084, 311, 2110, 380, 2136, 518, 2162,
242, 2188, 173, 1850, 1824, 1798, 1642, 104, 639, 501,
nil, 85, nil, 1772, nil, 0, 12, 412, nil, 17,
59, 10, nil, nil, 1550, 226, 1720, 1746, nil, nil,
nil, 1876, -9, nil, nil, 363, nil, nil, 225, nil,
1614, 67, nil, 287, nil ]
racc_action_default = [
-1, -73, -25, -12, -59, -13, -86, -14, -86, -86,
-86, -15, -2, -57, -16, -3, -86, -17, -86, -77,
-86, -20, -7, -86, -21, -8, -69, -86, -22, -9,
-86, -23, -18, -10, -86, -24, -19, -11, -86, -86,
-86, -30, -5, -86, -86, -86, -86, -86, -86, -86,
-86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
-86, -86, -86, -86, -86, -86, -74, -86, -86, -6,
-86, -78, -28, -86, -86, -86, -86, -86, -60, -63,
-77, -86, -69, -70, -65, -86, -31, -61, -29, -86,
-86, -86, 155, -56, -4, -44, -33, -53, -45, -34,
-54, -46, -35, -47, -36, -48, -37, -49, -38, -50,
-39, -51, -40, -52, -41, -42, -43, -32, -86, -86,
-76, -86, -58, -26, -62, -86, -86, -86, -66, -86,
-86, -86, -67, -85, -86, -86, -80, -79, -55, -64,
-75, -27, -86, -72, -71, -86, -81, -82, -5, -68,
-86, -86, -83, -86, -84 ]
racc_goto_table = [
12, 38, 70, 68, 67, 41, 85, 42, 125, 40,
66, 143, 144, 8, 71, 72, nil, nil, 69, nil,
nil, 82, 86, 143, nil, 88, nil, 87, nil, nil,
nil, nil, nil, 91, 89, 42, nil, 94, 95, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, nil, 129, 126, 42, 118, 87, nil, nil, nil,
123, nil, nil, 121, nil, 71, nil, nil, nil, nil,
130, nil, nil, nil, 42, 134, nil, nil, nil, nil,
nil, 135, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 136, 137, nil, 42, nil, nil, nil,
nil, 118, 141, nil, 142, nil, nil, nil, nil, nil,
148, nil, nil, nil, nil, nil, nil, nil, nil, nil,
150, nil, nil, 94, nil, nil, nil, nil, 42, nil,
nil, 153 ]
racc_goto_check = [
2, 3, 22, 7, 6, 3, 20, 4, 5, 2,
21, 16, 16, 1, 3, 3, nil, nil, 2, nil,
nil, 4, 3, 16, nil, 3, nil, 18, nil, nil,
nil, nil, nil, 4, 2, 4, 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, nil, 20, 22, 4, 4, 18, nil, nil, nil,
3, nil, nil, 2, nil, 3, nil, nil, nil, nil,
4, nil, nil, nil, 4, 3, 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, 3, 3, nil, 4, nil, nil, nil,
nil, 4, 3, nil, 4, nil, nil, nil, nil, nil,
4, nil, nil, nil, nil, nil, nil, nil, nil, nil,
3, nil, nil, 3, nil, nil, nil, nil, 4, nil,
nil, 2 ]
racc_goto_pointer = [
nil, 13, 0, -5, -5, -69, -12, -13, nil, nil,
nil, nil, nil, nil, nil, nil, -119, nil, -2, nil,
-20, -6, -17 ]
racc_goto_default = [
nil, nil, nil, 15, 18, 22, 25, 29, 33, 37,
3, 5, 7, 11, 14, 17, 83, 23, 78, 79,
nil, 1, nil ]
racc_reduce_table = [
0, 0, :racc_error,
0, 57, :_reduce_1,
1, 57, :_reduce_2,
1, 58, :_reduce_3,
3, 58, :_reduce_4,
2, 58, :_reduce_5,
2, 58, :_reduce_6,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 59, :_reduce_none,
1, 60, :_reduce_none,
1, 60, :_reduce_none,
1, 61, :_reduce_20,
1, 61, :_reduce_21,
1, 61, :_reduce_22,
1, 61, :_reduce_23,
1, 61, :_reduce_24,
1, 61, :_reduce_25,
3, 64, :_reduce_26,
3, 72, :_reduce_27,
2, 70, :_reduce_28,
2, 67, :_reduce_29,
2, 67, :_reduce_30,
2, 67, :_reduce_31,
3, 67, :_reduce_32,
3, 67, :_reduce_33,
3, 67, :_reduce_34,
3, 67, :_reduce_35,
3, 67, :_reduce_36,
3, 67, :_reduce_37,
3, 67, :_reduce_38,
3, 67, :_reduce_39,
3, 67, :_reduce_40,
3, 67, :_reduce_41,
3, 67, :_reduce_42,
3, 67, :_reduce_43,
3, 67, :_reduce_44,
3, 67, :_reduce_45,
3, 67, :_reduce_46,
3, 67, :_reduce_47,
3, 67, :_reduce_48,
3, 67, :_reduce_49,
3, 67, :_reduce_50,
3, 67, :_reduce_51,
3, 67, :_reduce_52,
3, 67, :_reduce_53,
3, 67, :_reduce_54,
4, 66, :_reduce_55,
3, 66, :_reduce_56,
1, 73, :_reduce_57,
3, 73, :_reduce_58,
1, 62, :_reduce_59,
2, 62, :_reduce_60,
2, 62, :_reduce_61,
2, 74, :_reduce_62,
1, 74, :_reduce_63,
3, 75, :_reduce_64,
2, 65, :_reduce_65,
3, 65, :_reduce_66,
3, 65, :_reduce_67,
5, 65, :_reduce_68,
0, 76, :_reduce_69,
1, 76, :_reduce_70,
3, 76, :_reduce_71,
3, 76, :_reduce_72,
1, 63, :_reduce_73,
2, 63, :_reduce_74,
4, 77, :_reduce_75,
3, 68, :_reduce_76,
0, 78, :_reduce_77,
1, 78, :_reduce_78,
3, 78, :_reduce_79,
3, 78, :_reduce_80,
5, 69, :_reduce_81,
5, 69, :_reduce_82,
7, 69, :_reduce_83,
8, 69, :_reduce_84,
3, 71, :_reduce_85 ]
racc_reduce_n = 86
racc_shift_n = 155
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,
:UMINUS => 18,
:NOT => 19,
"!" => 20,
"*" => 21,
"/" => 22,
"%" => 23,
"+" => 24,
"-" => 25,
"<=" => 26,
"<" => 27,
">" => 28,
">=" => 29,
"==" => 30,
"!=" => 31,
:IS => 32,
:AINT => 33,
"&&" => 34,
"||" => 35,
:AND => 36,
:OR => 37,
"-=" => 38,
"+=" => 39,
"/=" => 40,
"*=" => 41,
"\n" => 42,
";" => 43,
":" => 44,
"||=" => 45,
"&&=" => 46,
"=>" => 47,
"." => 48,
"," => 49,
"[" => 50,
"]" => 51,
"{" => 52,
"}" => 53,
"(" => 54,
")" => 55 }
racc_nt_base = 56
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",
"UMINUS",
"NOT",
"\"!\"",
"\"*\"",
"\"/\"",
"\"%\"",
"\"+\"",
"\"-\"",
"\"<=\"",
"\"<\"",
"\">\"",
"\">=\"",
"\"==\"",
"\"!=\"",
"IS",
"AINT",
"\"&&\"",
"\"||\"",
"AND",
"OR",
"\"-=\"",
"\"+=\"",
"\"/=\"",
"\"*=\"",
"\"\\n\"",
"\";\"",
"\":\"",
"\"||=\"",
"\"&&=\"",
"\"=>\"",
"\".\"",
"\",\"",
"\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"(\"",
"\")\"",
"$start",
"Root",
"Expressions",
"Expression",
"Terminator",
"Literal",
"Variable",
"Call",
"Assign",
"Object",
"Code",
"Operation",
"Array",
"If",
"Return",
"Parenthetical",
"AssignObj",
"ParamList",
"Accessor",
"Index",
"AssignList",
"Invocation",
"ArgList" ]
Racc_debug_parser = false
##### State transition tables end #####
# reduce 0 omitted
module_eval(<<'.,.,', 'grammar.y', 38)
def _reduce_1(val, _values, result)
result = Nodes.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 39)
def _reduce_2(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 44)
def _reduce_3(val, _values, result)
result = Nodes.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 45)
def _reduce_4(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 46)
def _reduce_5(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 47)
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
# reduce 18 omitted
# reduce 19 omitted
module_eval(<<'.,.,', 'grammar.y', 73)
def _reduce_20(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 74)
def _reduce_21(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 75)
def _reduce_22(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 76)
def _reduce_23(val, _values, result)
result = LiteralNode.new(true)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 77)
def _reduce_24(val, _values, result)
result = LiteralNode.new(false)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 78)
def _reduce_25(val, _values, result)
result = LiteralNode.new(nil)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 83)
def _reduce_26(val, _values, result)
result = AssignNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 88)
def _reduce_27(val, _values, result)
result = AssignNode.new(val[0], val[2], :object)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 93)
def _reduce_28(val, _values, result)
result = ReturnNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 100)
def _reduce_29(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 101)
def _reduce_30(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 102)
def _reduce_31(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 105)
def _reduce_32(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 106)
def _reduce_33(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 107)
def _reduce_34(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 109)
def _reduce_35(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 110)
def _reduce_36(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 112)
def _reduce_37(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 113)
def _reduce_38(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 114)
def _reduce_39(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 115)
def _reduce_40(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 117)
def _reduce_41(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 118)
def _reduce_42(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 119)
def _reduce_43(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 120)
def _reduce_44(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 122)
def _reduce_45(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 123)
def _reduce_46(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 124)
def _reduce_47(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 125)
def _reduce_48(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 127)
def _reduce_49(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 128)
def _reduce_50(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 129)
def _reduce_51(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 130)
def _reduce_52(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 131)
def _reduce_53(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 132)
def _reduce_54(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 138)
def _reduce_55(val, _values, result)
result = CodeNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 139)
def _reduce_56(val, _values, result)
result = CodeNode.new([], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 143)
def _reduce_57(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 144)
def _reduce_58(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 148)
def _reduce_59(val, _values, result)
result = VariableNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 149)
def _reduce_60(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 150)
def _reduce_61(val, _values, result)
result = VariableNode.new(val[0], [val[1]])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 154)
def _reduce_62(val, _values, result)
result = AccessorNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 155)
def _reduce_63(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 159)
def _reduce_64(val, _values, result)
result = IndexNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 163)
def _reduce_65(val, _values, result)
result = ObjectNode.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 164)
def _reduce_66(val, _values, result)
result = ObjectNode.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 165)
def _reduce_67(val, _values, result)
result = ObjectNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 167)
def _reduce_68(val, _values, result)
result = ObjectNode.new(val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 171)
def _reduce_69(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 172)
def _reduce_70(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 173)
def _reduce_71(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 174)
def _reduce_72(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 179)
def _reduce_73(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 180)
def _reduce_74(val, _values, result)
result = val[0].new_instance
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 184)
def _reduce_75(val, _values, result)
result = CallNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 189)
def _reduce_76(val, _values, result)
result = ArrayNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 194)
def _reduce_77(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 195)
def _reduce_78(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 196)
def _reduce_79(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 197)
def _reduce_80(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 202)
def _reduce_81(val, _values, result)
result = IfNode.new(val[1], val[3])
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', 207)
def _reduce_83(val, _values, result)
result = IfNode.new(val[1], val[3], val[5])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 210)
def _reduce_84(val, _values, result)
result = IfNode.new(val[1], val[3], val[6])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 214)
def _reduce_85(val, _values, result)
result = ParentheticalNode.new(val[1])
result
end
.,.,
def _reduce_none(val, _values, result)
val[0]
end
end # class Parser