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

1070 lines
30 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 = [
'-1,-73,5,78,73,78,19,22,26,29,33,1,3,121,78,11,14,18,89,25,28,73,5,73',
'119,8,19,22,26,29,33,1,3,30,34,11,14,18,-73,25,28,74,30,34,81,8,146',
'3,30,34,17,14,24,78,32,125,30,34,74,78,74,130,77,116,42,45,30,34,136',
'137,17,5,24,128,32,19,22,26,29,33,1,3,30,34,11,14,18,73,25,28,69,5,70',
'37,8,19,22,26,29,33,1,3,42,45,11,14,18,124,25,28,,30,34,,8,30,34,,72',
'17,,24,128,32,74,,129,,77,30,34,62,41,44,47,49,116,,117,17,,24,,32,5',
'148,30,34,19,22,26,29,33,1,3,42,45,11,14,18,,25,28,,5,42,45,8,19,22',
'26,29,33,1,3,42,45,11,14,18,,25,28,62,41,44,,8,,-56,,-56,17,,24,,32',
'30,34,,62,41,44,135,30,34,,42,45,,144,,17,5,24,,32,19,22,26,29,33,1',
'3,42,45,11,14,18,,25,28,,5,42,45,8,19,22,26,29,33,1,3,42,45,11,14,18',
',25,28,30,34,,,8,,151,,,17,,24,,32,19,22,26,29,33,1,,30,34,,,,,,,17',
'5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33',
'1,3,,,11,14,18,,25,28,,,,,8,,-56,,-56,17,,24,,32,,,,62,41,44,47,49,',
',,,,,,17,5,24,,32,19,22,26,29,33,1,3,42,45,11,14,18,,25,28,,5,,,8,19',
'22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,62,41,44,47',
'49,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,42,45,11,14,18,,25,28,,5,,',
'8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,30,34,,8,,,,,17,,24,,32,,,,62',
'41,44,47,49,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,42,45,11,14,18,,25',
'28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32',
',,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,',
',8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,30,34,,8,,,,,17,,24,,32,,,',
',,,,,,,,,-56,,-56,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,',
'5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,',
',,,30,34,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,',
',8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,-56,,-56,17,,24,,32,',
',,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,',
'8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,',
',,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22',
'26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17',
'5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33',
'1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32',
'19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11',
'14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26',
'29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25',
'28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1',
'3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,',
'8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11',
'14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17',
',24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25',
'28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32',
',,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,',
',8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,',
',,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22',
'26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17',
'5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33',
'1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,142,,,,,,,,,,,,,17,,24',
',32,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52,54,56,58,87',
',,42,45,,143,,,,,,,,,,,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46',
'48,50,52,54,56,58,30,34,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40',
'43,46,48,50,52,54,56,58,,,,42,45,,149,62,41,44,47,49,51,53,55,57,59',
'60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43',
'46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40',
'43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61',
'40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60',
'61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59',
'60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,',
',,,,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52',
'54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50',
'52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48',
'50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,,,',
',,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52,54',
'56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52',
'54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,,,,,,,,,',
'42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52,54,56,58',
',,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,,,,,,,,,,42,45,62',
'41,44,47,49,51,53,55,57,59,60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49',
'51,53,55,57,59,60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49,51,53,55,57',
'59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55',
'57,59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53',
'55,57,59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51',
'53,55,57,59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45' ]
racc_action_table = arr = Array.new(2192, 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,114,0,24,64,139,0,0,0,0,0,0,0,73,79,0,0,0,37,0,0,63,5,27,70,0,5,5',
'5,5,5,5,5,24,24,5,5,5,114,5,5,64,0,0,24,5,139,14,86,86,0,14,0,128,0',
'79,123,123,63,127,27,86,63,123,95,95,126,126,122,123,5,148,5,126,5,148',
'148,148,148,148,148,148,65,65,148,148,148,23,148,148,21,8,21,7,148,8',
'8,8,8,8,8,8,113,113,8,8,8,78,8,8,,148,148,,8,82,82,,23,148,,148,82,148',
'23,,82,,23,66,66,108,108,108,108,108,66,,66,8,,8,,8,145,145,10,10,145',
'145,145,145,145,145,145,108,108,145,145,145,,145,145,,142,38,38,145',
'142,142,142,142,142,142,142,83,83,142,142,142,,142,142,98,98,98,,142',
',145,,145,145,,145,,145,118,118,,100,100,100,118,132,132,,98,98,,132',
',142,124,142,,142,124,124,124,124,124,124,124,100,100,124,124,124,,124',
'124,,16,92,92,124,16,16,16,16,16,16,16,85,85,16,16,16,,16,16,150,150',
',,16,,150,,,124,,124,,124,74,74,74,74,74,74,,16,16,,,,,,,16,17,16,,16',
'17,17,17,17,17,17,17,,,17,17,17,,17,17,,18,,,17,18,18,18,18,18,18,18',
',,18,18,18,,18,18,,,,,18,,17,,17,17,,17,,17,,,,102,102,102,102,102,',
',,,,,,18,116,18,,18,116,116,116,116,116,116,116,102,102,116,116,116',
',116,116,,115,,,116,115,115,115,115,115,115,115,,,115,115,115,,115,115',
',,,,115,,,,,116,,116,,116,,,,104,104,104,104,104,,,,,,,,115,88,115,',
'115,88,88,88,88,88,88,88,104,104,88,88,88,,88,88,,25,,,88,25,25,25,25',
'25,25,25,,,25,25,25,,25,25,,88,88,,25,,,,,88,,88,,88,,,,106,106,106',
'106,106,,,,,,,,25,87,25,,25,87,87,87,87,87,87,87,106,106,87,87,87,,87',
'87,,28,,,87,28,28,28,28,28,28,28,,,28,28,28,,28,28,,,,,28,,,,,87,,87',
',87,,,,,,,,,,,,,,,,28,32,28,,28,32,32,32,32,32,32,32,,,32,32,32,,32',
'32,,77,,,32,77,77,77,77,77,77,77,,,77,77,77,,77,77,,32,32,,77,,,,,32',
',32,,32,,,,,,,,,,,,,77,,77,77,72,77,,77,72,72,72,72,72,72,72,,,72,72',
'72,,72,72,,69,,,72,69,69,69,69,69,69,69,,,69,69,69,,69,69,,,,,69,,,',
',72,,72,,72,,,,,,,,69,69,,,,,,,69,39,69,,69,39,39,39,39,39,39,39,,,39',
'39,39,,39,39,,40,,,39,40,40,40,40,40,40,40,,,40,40,40,,40,40,,,,,40',
',39,,39,39,,39,,39,,,,,,,,,,,,,,,,40,41,40,,40,41,41,41,41,41,41,41',
',,41,41,41,,41,41,,42,,,41,42,42,42,42,42,42,42,,,42,42,42,,42,42,,',
',,42,,,,,41,,41,,41,,,,,,,,,,,,,,,,42,43,42,,42,43,43,43,43,43,43,43',
',,43,43,43,,43,43,,44,,,43,44,44,44,44,44,44,44,,,44,44,44,,44,44,,',
',,44,,,,,43,,43,,43,,,,,,,,,,,,,,,,44,45,44,,44,45,45,45,45,45,45,45',
',,45,45,45,,45,45,,62,,,45,62,62,62,62,62,62,62,,,62,62,62,,62,62,,',
',,62,,,,,45,,45,,45,,,,,,,,,,,,,,,,62,47,62,,62,47,47,47,47,47,47,47',
',,47,47,47,,47,47,,48,,,47,48,48,48,48,48,48,48,,,48,48,48,,48,48,,',
',,48,,,,,47,,47,,47,,,,,,,,,,,,,,,,48,49,48,,48,49,49,49,49,49,49,49',
',,49,49,49,,49,49,,50,,,49,50,50,50,50,50,50,50,,,50,50,50,,50,50,,',
',,50,,,,,49,,49,,49,,,,,,,,,,,,,,,,50,51,50,,50,51,51,51,51,51,51,51',
',,51,51,51,,51,51,,52,,,51,52,52,52,52,52,52,52,,,52,52,52,,52,52,,',
',,52,,,,,51,,51,,51,,,,,,,,,,,,,,,,52,53,52,,52,53,53,53,53,53,53,53',
',,53,53,53,,53,53,,54,,,53,54,54,54,54,54,54,54,,,54,54,54,,54,54,,',
',,54,,,,,53,,53,,53,,,,,,,,,,,,,,,,54,55,54,,54,55,55,55,55,55,55,55',
',,55,55,55,,55,55,,56,,,55,56,56,56,56,56,56,56,,,56,56,56,,56,56,,',
',,56,,,,,55,,55,,55,,,,,,,,,,,,,,,,56,57,56,,56,57,57,57,57,57,57,57',
',,57,57,57,,57,57,,58,,,57,58,58,58,58,58,58,58,,,58,58,58,,58,58,,',
',,58,,,,,57,,57,,57,,,,,,,,,,,,,,,,58,59,58,,58,59,59,59,59,59,59,59',
',,59,59,59,,59,59,,60,,,59,60,60,60,60,60,60,60,,,60,60,60,,60,60,,',
',,60,,,,,59,,59,,59,,,,,,,,,,,,,,,,60,61,60,,60,61,61,61,61,61,61,61',
',,61,61,61,,61,61,,46,,,61,46,46,46,46,46,46,46,,,46,46,46,,46,46,,',
',,46,,,,,61,,61,,61,,,131,,,,,,,,,,,,,46,,46,,46,131,131,131,131,131',
'131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,36,',
',131,131,,131,,,,,,,,,,,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36',
'36,36,36,36,36,36,36,36,,36,36,147,147,147,147,147,147,147,147,147,147',
'147,147,147,147,147,147,147,147,147,147,147,,,,147,147,,147,110,110',
'110,110,110,110,110,110,110,110,110,110,110,,,,,,,,,,,,110,110,93,93',
'93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,,,,93,93,67',
'67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,,,,67,67',
'13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,,,,13',
'13,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120',
'120,120,120,120,,,,120,120,112,112,112,112,112,112,112,112,112,112,112',
'112,112,,,,,,,,,,,,112,112,111,111,111,111,111,111,111,111,111,111,111',
'111,111,,,,,,,,,,,,111,111,133,133,133,133,133,133,133,133,133,133,133',
'133,133,133,133,133,133,133,133,133,133,,,,133,133,134,134,134,134,134',
'134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,,,,134',
'134,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,',
',,90,90,91,91,91,91,91,91,91,91,91,91,91,91,91,,,,,,,,,,,,91,91,68,68',
'68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,,,,68,68,138',
'138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138',
'138,138,138,,,,138,138,94,94,94,94,94,94,94,94,94,94,94,94,94,,,,,,',
',,,,,94,94,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109',
'109,109,109,109,109,109,,,,109,109,97,97,97,97,97,97,97,97,97,97,97',
'97,97,,,,,,,,,,,,97,97,99,99,99,99,99,99,99,99,99,99,99,99,99,,,,,,',
',,,,,99,99,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,103,103,103,103,103,103,,,,103,103,105,105,105,105,105,105,105,105',
'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,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96',
'96,96,96,96,,,,96,96' ]
racc_action_check = arr = Array.new(2192, 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 = [
0, nil, nil, nil, nil, 20, nil, 93, 89, nil,
104, nil, nil, 1677, 35, nil, 231, 280, 300, nil,
nil, 43, nil, 74, -9, 438, nil, 10, 507, nil,
nil, nil, 556, nil, nil, nil, 1545, 18, 120, 694,
714, 763, 783, 832, 852, 901, 1473, 970, 990, 1039,
1059, 1108, 1128, 1177, 1197, 1246, 1266, 1315, 1335, 1384,
1404, 1453, 921, 8, -9, 40, 87, 1651, 1885, 645,
9, nil, 625, 1, 260, nil, nil, 576, 63, 2,
nil, nil, 73, 130, nil, 199, 6, 487, 418, nil,
1833, 1859, 189, 1625, 1937, 19, 2145, 1989, 162, 2015,
179, 2041, 317, 2067, 386, 2093, 455, 2119, 110, 1963,
1599, 1755, 1729, 57, -12, 369, 349, nil, 155, nil,
1703, nil, 17, 14, 211, nil, 24, 47, 41, nil,
nil, 1507, 162, 1781, 1807, nil, nil, nil, 1911, -7,
nil, nil, 162, nil, nil, 142, nil, 1571, 69, nil,
210, nil ]
racc_action_default = [
-56, -25, -12, -59, -13, -56, -14, -86, -56, -15,
-2, -57, -16, -3, -86, -17, -56, -77, -56, -20,
-7, -86, -21, -8, -69, -56, -22, -9, -56, -23,
-18, -10, -56, -24, -19, -11, -86, -86, -30, -5,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -86, -86, -6, -86, -78, -28, -56,
-86, -73, -56, -86, -86, -60, -63, -77, -86, -69,
-70, -65, -86, -31, -61, -29, -86, -56, -56, 152,
-4, -44, -33, -53, -45, -34, -54, -46, -35, -47,
-36, -48, -37, -49, -38, -50, -39, -51, -40, -52,
-41, -42, -43, -32, -74, -56, -56, -76, -86, -58,
-26, -62, -86, -86, -56, -66, -86, -86, -86, -67,
-85, -86, -86, -80, -79, -55, -64, -75, -27, -86,
-72, -71, -56, -81, -82, -5, -68, -86, -56, -83,
-86, -84 ]
racc_goto_table = [
10, 36, 66, 64, 38, 39, 140, 141, 82, 63,
122, 7, nil, 67, 68, nil, 65, nil, 140, 79,
nil, 83, 84, nil, 85, 71, nil, nil, nil, nil,
nil, 88, 86, nil, nil, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 84,
39, 115, 123, 126, nil, 114, nil, nil, 120, 118,
nil, nil, nil, 67, nil, nil, nil, 127, nil, nil,
nil, 39, nil, 131, nil, nil, nil, nil, 132, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 133, 134, 39, nil, nil, nil, nil, 115, nil,
138, 139, nil, nil, nil, nil, nil, 145, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, 147, nil,
nil, 90, nil, nil, nil, 39, nil, nil, 150 ]
racc_goto_check = [
2, 3, 22, 7, 3, 4, 16, 16, 20, 6,
5, 1, nil, 3, 3, nil, 2, nil, 16, 4,
nil, 3, 18, nil, 3, 21, nil, nil, nil, nil,
nil, 4, 2, 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, 18,
4, 4, 22, 20, nil, 21, nil, nil, 3, 2,
nil, nil, nil, 3, nil, nil, nil, 4, nil, nil,
nil, 4, nil, 3, 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,
nil, 3, 3, 4, nil, nil, nil, nil, 4, nil,
3, 4, nil, nil, nil, nil, nil, 4, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, 3, nil,
nil, 3, nil, nil, nil, 4, nil, nil, 2 ]
racc_goto_pointer = [
nil, 11, 0, -4, -5, -64, -5, -11, nil, nil,
nil, nil, nil, nil, nil, nil, -121, nil, -5, nil,
-16, 2, -15 ]
racc_goto_default = [
nil, nil, nil, 13, 16, 20, 23, 27, 31, 35,
2, 4, 6, 9, 12, 15, 80, 21, 75, 76,
nil, nil, 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,
0, 73, :_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,
2, 63, :_reduce_73,
3, 63, :_reduce_74,
3, 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 = 152
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', 142)
def _reduce_56(val, _values, result)
result = []
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 = CallNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 180)
def _reduce_74(val, _values, result)
result = CallNode.new(val[1], val[2], true)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 184)
def _reduce_75(val, _values, result)
result = val[1]
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