# # 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', 221) 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,72,5,77,-73,77,19,22,26,29,33,1,3,118,72,11,14,18,72,25,28,72,5,77', '120,8,19,22,26,29,33,1,3,30,34,11,14,18,73,25,28,-73,30,34,80,8,147', '30,34,71,17,73,24,144,32,73,30,34,73,76,30,34,113,115,124,88,69,115', '70,137,17,5,24,146,32,19,22,26,29,33,1,3,77,3,11,14,18,14,25,28,136', '5,42,45,8,19,22,26,29,33,1,3,30,34,11,14,18,123,25,28,37,30,34,77,8', '129,30,34,,17,,24,135,32,30,34,,62,41,44,,127,30,34,,128,30,34,152,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,30,34,42,45,17,,24,115,32', '116,30,34,62,41,44,42,45,127,19,22,26,29,33,1,17,5,24,,32,19,22,26,29', '33,1,3,42,45,11,14,18,,25,28,,5,30,34,8,19,22,26,29,33,1,3,42,45,11', '14,18,,25,28,,,,,8,,-56,,-56,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,,,,,,,,62,41,44,47,49,,,', '17,,24,,32,5,149,,,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,,-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,,,,,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,,30,34,', '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,,30,34,,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,,,,,,,', ',,,,,,,,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,,,,,8,,,,,,,,,,,,142,', ',,,,,,,,-56,,-56,17,,24,,32,62,41,44,47,49,51,53,55,57,59,60,61,40,43', '46,48,50,52,54,56,58,86,,,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,,150,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,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,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,,,,,,,,,,,,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,,,,,,', ',,,,,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' ] racc_action_table = arr = Array.new(2241, 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,64,0,24,146,139,0,0,0,0,0,0,0,70,27,0,0,0,23,0,0,63,5,78,72,0,5,5', '5,5,5,5,5,24,24,5,5,5,64,5,5,146,0,0,24,5,139,131,131,23,0,27,0,131', '0,23,122,122,63,23,132,132,63,122,78,37,21,132,21,122,5,149,5,132,5', '149,149,149,149,149,149,149,126,14,149,149,149,14,149,149,121,8,38,38', '149,8,8,8,8,8,8,8,85,85,8,8,8,77,8,8,7,149,149,127,8,85,117,117,,149', ',149,117,149,81,81,,97,97,97,,81,151,151,,81,10,10,151,8,87,8,,8,87', '87,87,87,87,87,87,97,97,87,87,87,,87,87,,86,84,84,87,86,86,86,86,86', '86,86,82,82,86,86,86,,86,86,,87,87,,86,66,66,112,112,87,,87,66,87,66', '125,125,99,99,99,91,91,125,73,73,73,73,73,73,86,113,86,,86,113,113,113', '113,113,113,113,99,99,113,113,113,,113,113,,16,65,65,113,16,16,16,16', '16,16,16,94,94,16,16,16,,16,16,,,,,16,,113,,113,113,,113,,113,,,,,,', ',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', ',,,,,,,101,101,101,101,101,,,,18,,18,,18,145,145,,,145,145,145,145,145', '145,145,101,101,145,145,145,,145,145,,114,,,145,114,114,114,114,114', '114,114,,,114,114,114,,114,114,,,,,114,,145,,145,145,,145,,145,,,,103', '103,103,103,103,,,,,,,,114,115,114,,114,115,115,115,115,115,115,115', '103,103,115,115,115,,115,115,,25,,,115,25,25,25,25,25,25,25,,,25,25', '25,,25,25,,,,,25,,,,,115,,115,,115,,,,105,105,105,105,105,,,,,,,,25', '76,25,,25,76,76,76,76,76,76,76,105,105,76,76,76,,76,76,,28,,,76,28,28', '28,28,28,28,28,,,28,28,28,,28,28,,,,,28,,76,,76,76,,76,,76,,,,107,107', '107,107,107,,,,,,,,28,32,28,,28,32,32,32,32,32,32,32,107,107,32,32,32', ',32,32,,123,,,32,123,123,123,123,123,123,123,,,123,123,123,,123,123', ',32,32,,123,,,,,32,,32,,32,,,,,,,,,,,,,,,,123,142,123,,123,142,142,142', '142,142,142,142,,,142,142,142,,142,142,,71,,,142,71,71,71,71,71,71,71', ',,71,71,71,,71,71,,,,,71,,,,,142,,142,,142,,,,,,,,,,,,,,,,71,69,71,', '71,69,69,69,69,69,69,69,,,69,69,69,,69,69,,40,,,69,40,40,40,40,40,40', '40,,,40,40,40,,40,40,,69,69,,40,,,,,69,,69,,69,,,,,,,,,,,,,,,,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,,46,,,45,46,46,46,46,46,46', '46,,,46,46,46,,46,46,,,,,46,,,,,45,,45,,45,,,,,,,,,,,,,,,,46,47,46,', '46,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,,62,,,61,62,62,62,62,62,62', '62,,,62,62,62,,62,62,,,,,62,,,,,61,,61,,61,,,,,,,,,,,,,,,,62,39,62,', '62,39,39,39,39,39,39,39,,,39,39,39,,39,39,,,,,39,,,,,,,,,,,,130,,,,', ',,,,,39,,39,39,,39,,39,130,130,130,130,130,130,130,130,130,130,130,130', '130,130,130,130,130,130,130,130,130,36,,,130,130,,130,,,,,,,,,,,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', '148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148', '148,148,148,148,,,,148,148,,148,89,89,89,89,89,89,89,89,89,89,89,89', '89,89,89,89,89,89,89,89,89,,,,89,89,133,133,133,133,133,133,133,133', '133,133,133,133,133,133,133,133,133,133,133,133,133,,,,133,133,68,68', '68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,,,,68,68,67', '67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,,,,67,67', '134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134', '134,134,134,134,,,,134,134,111,111,111,111,111,111,111,111,111,111,111', '111,111,,,,,,,,,,,,111,111,13,13,13,13,13,13,13,13,13,13,13,13,13,13', '13,13,13,13,13,13,13,,,,13,13,138,138,138,138,138,138,138,138,138,138', '138,138,138,138,138,138,138,138,138,138,138,,,,138,138,119,119,119,119', '119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119', ',,,119,119,90,90,90,90,90,90,90,90,90,90,90,90,90,,,,,,,,,,,,90,90,110', '110,110,110,110,110,110,110,110,110,110,110,110,,,,,,,,,,,,110,110,92', '92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,,,,92,92', '93,93,93,93,93,93,93,93,93,93,93,93,93,,,,,,,,,,,,93,93,108,108,108', '108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108', '108,,,,108,108,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95', '95,95,95,,,,95,95,96,96,96,96,96,96,96,96,96,96,96,96,96,,,,,,,,,,,', '96,96,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,102,102', '102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102', '102,102,,,,102,102,104,104,104,104,104,104,104,104,104,104,104,104,104', '104,104,104,104,104,104,104,104,,,,104,104,106,106,106,106,106,106,106', '106,106,106,106,106,106,106,106,106,106,106,106,106,106,,,,106,106,109', '109,109,109,109,109,109,109,109,109,109,109,109,,,,,,,,,,,,109,109' ] racc_action_check = arr = Array.new(2241, 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, 110, 89, nil, 94, nil, nil, 1804, 71, nil, 227, 276, 296, nil, nil, 19, nil, 5, -9, 438, nil, 1, 507, nil, nil, nil, 556, nil, nil, nil, 1594, 65, 47, 1522, 714, 763, 783, 832, 852, 901, 921, 970, 990, 1039, 1059, 1108, 1128, 1177, 1197, 1246, 1266, 1315, 1335, 1384, 1404, 1453, 1473, 8, -12, 188, 142, 1726, 1700, 694, -2, 645, 12, 196, nil, nil, 487, 63, 11, nil, nil, 82, 126, nil, 116, 60, 158, 138, nil, 1648, 1882, 154, 1934, 1960, 195, 2012, 2038, 106, 2064, 175, 2090, 317, 2116, 386, 2142, 455, 2168, 524, 1986, 2194, 1908, 1778, 141, 207, 369, 418, nil, 74, nil, 1856, nil, 39, 14, 576, nil, 152, 70, 101, nil, nil, 1556, 5, 18, 1674, 1752, nil, nil, nil, 1830, -7, nil, nil, 625, nil, nil, 349, -9, nil, 1620, 69, nil, 90, nil ] racc_action_default = [ -56, -25, -12, -59, -13, -56, -14, -85, -56, -15, -2, -57, -16, -3, -85, -17, -56, -76, -56, -20, -7, -85, -21, -8, -69, -56, -22, -9, -56, -23, -18, -10, -56, -24, -19, -11, -85, -85, -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, -85, -85, -6, -85, -77, -28, -56, -85, -56, -85, -85, -60, -63, -76, -85, -69, -70, -65, -85, -31, -61, -29, -85, -56, -56, 153, -4, -44, -33, -53, -45, -34, -54, -46, -35, -47, -36, -48, -37, -49, -38, -50, -39, -51, -40, -52, -41, -42, -43, -32, -76, -56, -56, -75, -85, -58, -26, -62, -85, -85, -56, -66, -85, -85, -85, -67, -84, -85, -85, -85, -79, -78, -55, -64, -73, -27, -85, -72, -71, -56, -80, -81, -5, -74, -68, -85, -56, -82, -85, -83 ] racc_goto_table = [ 10, 39, 66, 83, 81, 140, 141, 63, 64, 121, 7, nil, nil, nil, nil, 78, 65, nil, 140, nil, nil, nil, nil, nil, nil, nil, nil, 87, nil, nil, nil, nil, 85, nil, nil, nil, nil, nil, nil, nil, 83, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 39, 114, 125, nil, nil, 122, nil, nil, nil, nil, nil, nil, nil, 117, nil, nil, 126, nil, nil, nil, 39, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 131, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 132, nil, nil, nil, nil, nil, nil, nil, nil, nil, 39, nil, nil, nil, nil, 114, nil, nil, 139, 36, nil, nil, 38, nil, 145, 114, nil, nil, nil, nil, nil, 67, 68, nil, nil, nil, nil, nil, nil, 82, nil, nil, 84, nil, 39, nil, nil, nil, nil, nil, nil, 151, nil, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, nil, nil, nil, nil, nil, nil, nil, nil, 119, nil, nil, nil, nil, 67, nil, nil, nil, nil, nil, nil, nil, nil, nil, 130, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 67, 133, 134, nil, nil, nil, nil, nil, nil, nil, 138, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 148, nil, nil, 89 ] racc_goto_check = [ 2, 4, 21, 18, 20, 16, 16, 6, 7, 5, 1, nil, nil, nil, nil, 4, 2, nil, 16, nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, nil, nil, nil, 2, nil, nil, nil, nil, nil, nil, nil, 18, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 4, 4, 20, nil, nil, 21, nil, nil, nil, nil, nil, nil, nil, 2, nil, nil, 4, nil, nil, nil, 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 21, nil, nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, nil, nil, nil, 4, nil, nil, 4, 3, nil, nil, 3, nil, 4, 4, nil, nil, nil, nil, nil, 3, 3, nil, nil, nil, nil, nil, nil, 3, nil, nil, 3, nil, 4, nil, nil, nil, nil, nil, nil, 2, 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, nil, nil, nil, nil, nil, nil, nil, 3, nil, nil, nil, nil, 3, nil, nil, nil, nil, nil, nil, nil, nil, nil, 3, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 3, 3, 3, nil, nil, nil, nil, nil, nil, nil, 3, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 3, nil, nil, 3 ] racc_goto_pointer = [ nil, 10, 0, 112, -9, -64, -7, -6, nil, nil, nil, nil, nil, nil, nil, nil, -121, nil, -24, nil, -20, -15 ] racc_goto_default = [ nil, nil, nil, 13, 16, 20, 23, 27, 31, 35, 2, 4, 6, 9, 12, 15, 79, 21, 74, 75, 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, 4, 63, :_reduce_73, 5, 63, :_reduce_74, 3, 68, :_reduce_75, 0, 77, :_reduce_76, 1, 77, :_reduce_77, 3, 77, :_reduce_78, 3, 77, :_reduce_79, 5, 69, :_reduce_80, 5, 69, :_reduce_81, 7, 69, :_reduce_82, 8, 69, :_reduce_83, 3, 71, :_reduce_84 ] racc_reduce_n = 85 racc_shift_n = 153 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", "ArgList" ] Racc_debug_parser = true ##### 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[2]) result end .,., module_eval(<<'.,.,', 'grammar.y', 180) def _reduce_74(val, _values, result) result = CallNode.new(val[1], val[3], true) result end .,., module_eval(<<'.,.,', 'grammar.y', 185) def _reduce_75(val, _values, result) result = ArrayNode.new(val[1]) result end .,., module_eval(<<'.,.,', 'grammar.y', 190) def _reduce_76(val, _values, result) result = [] result end .,., module_eval(<<'.,.,', 'grammar.y', 191) def _reduce_77(val, _values, result) result = val result end .,., module_eval(<<'.,.,', 'grammar.y', 192) def _reduce_78(val, _values, result) result = val[0] << val[2] result end .,., module_eval(<<'.,.,', 'grammar.y', 193) def _reduce_79(val, _values, result) result = val[0] << val[2] result end .,., module_eval(<<'.,.,', 'grammar.y', 198) def _reduce_80(val, _values, result) result = IfNode.new(val[1], val[3]) result end .,., module_eval(<<'.,.,', 'grammar.y', 200) def _reduce_81(val, _values, result) result = IfNode.new(val[1], val[3]) result end .,., module_eval(<<'.,.,', 'grammar.y', 203) def _reduce_82(val, _values, result) result = IfNode.new(val[1], val[3], val[5]) result end .,., module_eval(<<'.,.,', 'grammar.y', 206) def _reduce_83(val, _values, result) result = IfNode.new(val[1], val[3], val[6]) result end .,., module_eval(<<'.,.,', 'grammar.y', 210) def _reduce_84(val, _values, result) result = ParentheticalNode.new(val[1]) result end .,., def _reduce_none(val, _values, result) val[0] end end # class Parser