# # 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