From 1aad493c75d41ad3d510a3725ae12cab8bd32b7f Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Wed, 16 Dec 2009 00:00:18 -0500 Subject: [PATCH] with an 'expect 10', chapter one of mysterylang is written --- grammar.y | 6 + parser.rb | 725 +++++++++++++++++++++++++++--------------------------- 2 files changed, 365 insertions(+), 366 deletions(-) diff --git a/grammar.y b/grammar.y index 10e4ef18..c1923aab 100644 --- a/grammar.y +++ b/grammar.y @@ -24,8 +24,14 @@ prechigh left ':' right '-=' '+=' '/=' '*=' '||=' '&&=' nonassoc IF + left UNLESS + right RETURN THROW FOR WHILE preclow +# We expect 10 shift/reduce errors for optional syntax. +# There used to be 252 -- greatly improved. +expect 10 + rule # All parsing will end in this rule, being the trunk of the AST. diff --git a/parser.rb b/parser.rb index 5839a6e8..d32664f5 100644 --- a/parser.rb +++ b/parser.rb @@ -11,7 +11,7 @@ require 'racc/parser.rb' class Parser < Racc::Parser -module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 308) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 312) def parse(code, show_tokens=false) # @yydebug = true @tokens = Lexer.new.tokenize(code) @@ -26,68 +26,73 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 308) ##### State transition tables begin ### clist = [ -'12,109,74,74,32,37,40,45,50,4,7,133,134,20,24,31,35,185,131,49,3,9,93', -'93,17,23,179,196,182,46,74,2,8,179,191,118,26,30,105,118,26,83,83,128', -'176,116,93,74,110,116,172,21,26,77,77,186,107,21,26,29,197,93,43,12', -'1,83,11,32,37,40,45,50,4,7,21,26,20,24,31,35,83,77,49,3,9,11,115,17', -'23,209,21,26,46,192,2,8,123,93,77,12,30,109,11,32,37,40,45,50,4,7,21', -'26,20,24,31,35,83,7,49,3,9,169,29,17,23,43,168,1,46,11,2,8,60,93,61', -'12,30,206,68,32,37,40,45,50,4,7,21,26,20,24,31,35,83,201,49,3,9,169', -'29,17,23,43,135,1,46,11,2,8,109,43,58,1,30,11,164,26,21,26,166,205,125', -'26,107,53,128,142,129,21,26,,132,,21,26,29,,,43,12,1,,11,32,37,40,45', -'50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,21,26,46,174,2,8,,,,12,30,,93', -'32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,83,29,17,23,43,,1,46,11,2', -'8,87,90,92,12,30,,93,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,83,29', -'17,23,43,,1,46,11,2,8,87,90,92,12,30,,,32,37,40,45,50,4,7,,,20,24,31', +'12,74,74,74,32,37,40,45,50,4,7,185,105,20,24,31,35,179,196,49,3,9,21', +'26,17,23,118,26,172,46,128,2,8,60,191,61,116,30,118,26,133,134,109,21', +'26,201,193,74,116,186,131,197,77,77,77,169,11,21,26,29,21,26,43,12,1', +'168,11,32,37,40,45,50,4,7,21,26,20,24,31,35,21,26,49,3,9,209,115,17', +'23,110,21,26,46,192,2,8,176,107,77,12,30,179,11,32,37,40,45,50,4,7,182', +'123,20,24,31,35,68,7,49,3,9,135,29,17,23,43,169,1,46,11,2,8,87,90,92', +'12,30,206,109,32,37,40,45,50,4,7,109,58,20,24,31,35,53,142,49,3,9,,29', +'17,23,43,,1,46,11,2,8,,43,,1,30,11,164,26,21,26,166,205,125,26,107,', +'128,,129,87,90,92,95,97,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,', +'20,24,31,35,,,49,3,9,,,17,23,,21,26,46,174,2,8,87,90,92,12,30,,,32,37', +'40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12', +'30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11', +'2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43', +',1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29', +'17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,', +'49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20', +'24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50', +'4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37', +'40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12', +'30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11', +'2,8,21,26,,216,30,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96', +'98,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3', +'9,,,17,23,,21,26,46,199,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31', +'35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7', +',,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,21,26,,210,30,87,90', +'92,95,97,99,100,102,104,80,82,86,89,87,90,92,95,97,,21,26,29,,,43,12', +'1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,21,26,46,212', +'2,8,21,26,,132,30,87,90,92,95,97,99,100,102,104,80,82,86,89,87,90,92', +'95,97,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49', +'3,9,,,17,23,,,,46,,2,8,,,,,30,87,90,92,95,97,99,100,102,104,80,82,86', +'89,87,90,92,95,97,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24', +'31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,,30,87,90,92,95,97,99,100,102,104', +'80,82,86,89,,,,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24', +'31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20', +'24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,,30,87,90,92,95,97,99', +'100,102,104,80,82,86,89,,,,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50', +'4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,,30,87,90,92,95,97', +'99,100,102,104,80,82,86,89,,,,,,,21,26,29,,,43,12,1,,11,32,37,40,45', +'50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,12,30,,,32,37,40', +'45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30', +',,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2', +'8,,,,,30,87,90,92,95,97,99,100,102,104,80,82,86,89,,,,,,,21,26,29,,', +'43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46', +',2,8,,,,,30,87,90,92,95,97,99,100,102,104,80,82,86,89,,,,,,,21,26,29', +',,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46', +',2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23', +'43,,1,46,11,2,8,,,,,30,,,,,,,,,,,,,,,,,,,,21,26,29,,,43,12,1,,11,32', +'37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,12,30,', +',32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8', +',,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1', +'46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17', +'23,43,,1,46,11,2,8,,,,,30,,,,,,,,,,,,,,,,,,,,21,26,29,,,43,12,1,,11', +'32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,12,30', +',,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2', +'8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43', +',1,46,11,2,8,,,,,30,,,,,,,,,,,,,,,,,,,,21,26,29,,,43,12,1,,11,32,37', +'40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,,30,,,,,,', +',,,,,,,,,,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35', +',,49,3,9,,,17,23,,,,46,,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31', '35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7', ',,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40', '45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30', ',,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2', '8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43', ',1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29', -'17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,93', -',49,3,9,93,29,17,23,43,,1,46,11,2,8,,,,83,30,,21,26,83,193,21,26,,210', -'87,90,92,95,97,87,90,92,95,97,21,26,29,,,43,12,1,,11,32,37,40,45,50', -'4,7,,,20,24,31,35,,,49,3,9,,,17,23,,21,26,46,216,2,8,,,,12,30,,,32,37', -'40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12', -'30,,,32,37,40,45,50,4,7,,,20,24,31,35,93,,49,3,9,93,29,17,23,43,,1,46', -'11,2,8,,,,83,30,,21,26,83,212,21,26,,199,87,90,92,95,97,87,90,92,95', -'97,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,93,,20,24,31,35,,,49,3', -'9,,,17,23,,,,46,83,2,8,,,,,30,,,,87,90,92,95,97,99,100,102,104,80,82', -'86,89,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,93,,20,24,31,35,', -',49,3,9,,,17,23,,,,46,83,2,8,,,,,30,,,,87,90,92,95,97,99,100,102,104', -'80,82,86,89,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,93,,20,24,31', -'35,,,49,3,9,,,17,23,,,,46,83,2,8,,,,,30,,,,87,90,92,95,97,99,100,102', -'104,80,82,86,89,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24', -'31,35,,,49,3,9,,,17,23,,,,46,,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20', -'24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,,30,,,,,,,,,,,,,,,,,', -',,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,93,,20,24,31,35,,,49,3,9', -',,17,23,,,,46,83,2,8,,,,,30,,,,87,90,92,95,97,99,100,102,104,80,82,86', -'89,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3', -'9,,,17,23,,,,46,,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49', -'3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24', -'31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,,30,,,,,,,,,,,,,,,,,,,,21', -'26,29,,,43,12,1,,11,32,37,40,45,50,4,7,93,,20,24,31,35,,,49,3,9,,,17', -'23,,,,46,83,2,8,,,,,30,,,,87,90,92,95,97,99,100,102,104,80,82,86,89', -',,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9', -',,17,23,,,,46,,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49', -'3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24', -'31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4', -'7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,,30,,,,,,,,,,', -',,,,,,,,,21,26,29,,,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49', -'3,9,,,17,23,,,,46,,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,', -',49,3,9,,29,17,23,43,,1,46,11,2,8,,,,,30,,,,,,,,,,,,,,,,,,,,21,26,29', -',,43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46', -',2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23', -'43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9', -',29,17,23,43,,1,46,11,2,8,,,,,30,,,,,,,,,,,,,,,,,,,,21,26,29,,,43,12', -'1,,11,32,37,40,45,50,4,7,93,,20,24,31,35,,,49,3,9,,,17,23,,,,46,83,2', -'8,,,,,30,,,,87,90,92,95,97,99,100,102,104,80,82,86,89,,,,21,26,29,,', -'43,12,1,,11,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,,17,23,,,,46', -',2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23', -'43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9', -',29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35', -',,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20', +'17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,', +'49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20', '24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50', '4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37', '40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12', @@ -105,50 +110,42 @@ clist = [ '17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,', '49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20', '24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37,40,45,50', -'4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12,30,,,32,37', -'40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,,12', -'30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11', -'2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43', -',1,46,11,2,8,,,,12,30,,,32,37,40,45,50,4,7,,,20,24,31,35,,,49,3,9,,29', -'17,23,43,,1,46,11,2,8,,,84,,30,93,,,,,,,,,,,,,,,,,,,83,,29,,,43,,1,', -'11,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103,79', -'81,85,88,-121,,,93,,,184,,,,,,,,,,,,,,,,83,,,,,,207,,,93,,87,90,92,95', -'97,99,100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,,,', -'217,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103,79', -'81,85,88,,218,,208,93,,,,,,,,,,,,,,,,,,,83,,,,,,-121,,,93,,87,90,92', -'95,97,99,100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88', -',,,219,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103', +'4,7,,,20,24,31,35,,,49,3,9,,29,17,23,43,,1,46,11,2,8,,,84,,30,93,,,', +',,,,,,,,,,,,,,,83,,29,,,43,,1,,11,-121,87,90,92,95,97,99,100,102,104', +'80,82,86,89,91,94,96,98,,101,103,79,81,85,88,,,,,,,184,,87,90,92,95', +'97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103,79,81,85,88,,207', +',217,93,,,,,,,,,,,,,,,,,,,83,,,,,,218,,,93,,87,90,92,95,97,99,100,102', +'104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,-121,,,208,87,90', +'92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103,79,81,85,88', +',,,219,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103', '79,81,85,88,,,84,221,120,93,,,,,,,,,,,,,,,,,,,83,,,,,,84,,120,93,,87', '90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81', '85,88,21,26,,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98', ',101,103,79,81,85,88,21,26,84,,120,93,,,,,,,,,,,,,,,,,,,83,,,,,,84,', '120,93,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,83,101', -'103,79,81,85,88,21,26,,,87,90,92,95,97,99,100,102,104,80,82,86,89,91', -'94,96,98,,101,103,79,81,85,88,21,26,84,,,93,,,,,,,,,,,,,,,,,,,83,,,', -',,84,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,83', -'101,103,79,81,85,88,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89', -'91,94,96,98,83,101,103,79,81,85,88,-121,,,93,87,90,92,95,97,99,100,102', -'104,80,82,86,89,91,94,96,98,,83,,,,,,84,,,93,,87,90,92,95,97,99,100', -'102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,,,93,,87,90,92', -'95,97,99,100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88', -'84,,,93,87,90,92,95,97,99,100,102,104,80,82,86,89,,,,,,83,,,,,,84,,', -'93,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,83,101,103', -'79,81,85,88,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96', -'98,83,101,103,79,81,85,88,84,,,93,87,90,92,95,97,99,100,102,104,80,82', -'86,89,,,,,,83,,,,,,84,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89', -'91,94,96,98,83,101,103,79,81,85,88,,,,,87,90,92,95,97,99,100,102,104', -'80,82,86,89,91,94,96,98,,101,103,79,81,85,88,84,,,93,,,,,,,,,,,,,,,', -',,,83,,,,,,84,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94', -'96,98,83,101,103,79,81,85,88,,,93,,87,90,92,95,97,99,100,102,104,80', -'82,86,89,91,94,96,98,83,101,103,79,81,85,88,,,93,,87,90,92,95,97,99', -'100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,,,93,,87', -'90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81', -'85,88,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,83', -'101,103,79,81,85,88,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89', -'91,94,96,98,83,101,103,79,81,85,88,,,93,,87,90,92,95,97,99,100,102,104', +'103,79,81,85,88,21,26,-121,,87,90,92,95,97,99,100,102,104,80,82,86,89', +'91,94,96,98,,101,103,79,81,85,88,21,26,84,,,93,,87,90,92,95,97,99,100', +'102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,,,,,87,90,92', +'95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103,79,81,85,88,84', +',,93,,,,,,,,,,,,,,,,,,,83,,,,,,84,,,93,,87,90,92,95,97,99,100,102,104', '80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,,,,,87,90,92,95,97,99', -'100,102,104,80,82,86,89,91,94,96,98,,101,103,79,81,85,88' ] - racc_action_table = arr = Array.new(3597, nil) +'100,102,104,80,82,86,89,91,94,96,98,,101,103,79,81,85,88,84,,,93,,,', +',,,,,,,,,,,,,,,83,,,,,,84,,,93,,87,90,92,95,97,99,100,102,104,80,82', +'86,89,91,94,96,98,83,101,103,79,81,85,88,,,,,87,90,92,95,97,99,100,102', +'104,80,82,86,89,91,94,96,98,,101,103,79,81,85,88,84,,,93,,,,,,,,,,,', +',,,,,,,83,,,,,,84,,,93,,87,90,92,95,97,99,100,102,104,80,82,86,89,91', +'94,96,98,83,101,103,79,81,85,88,84,,,,87,90,92,95,97,99,100,102,104', +'80,82,86,89,91,94,96,98,,101,103,79,81,85,88,84,,,93,,87,90,92,95,97', +'99,100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,,,,,87', +'90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103,79,81,85', +'88,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101,103,79', +'81,85,88,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98,,101', +'103,79,81,85,88,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94,96,98', +',101,103,79,81,85,88,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94', +'96,98,,101,103,79,81,85,88,87,90,92,95,97,99,100,102,104,80,82,86,89', +'91,94,96,98,,101,103,79,81,85,88,87,90,92,95,97,99,100,102,104,80,82', +'86,89,91,94,96,98,,101,103,79,81,85,88' ] + racc_action_table = arr = Array.new(3493, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -158,149 +155,145 @@ clist = [ end clist = [ -'0,44,36,66,0,0,0,0,0,0,0,73,73,0,0,0,0,142,68,0,0,0,149,151,0,0,180', -'180,133,0,67,0,0,130,173,56,56,0,43,170,170,149,151,170,125,56,146,52', -'44,170,118,73,73,36,66,142,44,0,0,0,180,70,0,218,0,146,0,218,218,218', -'218,218,218,218,211,211,218,218,218,218,70,67,218,218,218,67,52,218', -'218,201,173,173,218,173,218,218,61,57,52,2,218,166,52,2,2,2,2,2,2,2', -'39,39,2,2,2,2,57,24,2,2,2,110,218,2,2,218,109,218,2,218,2,2,13,54,13', -'6,2,198,28,6,6,6,6,6,6,6,72,72,6,6,6,6,54,186,6,6,6,164,2,6,6,2,74,2', -'6,2,6,6,165,24,11,24,6,24,106,106,198,198,106,198,63,63,106,1,63,83', -'63,69,69,,69,,6,6,6,,,6,8,6,,6,8,8,8,8,8,8,8,,,8,8,8,8,,,8,8,8,,,8,8', -',122,122,8,122,8,8,,,,96,8,,156,96,96,96,96,96,96,96,,,96,96,96,96,', -',96,96,96,156,8,96,96,8,,8,96,8,96,96,156,156,156,12,96,,154,12,12,12', -'12,12,12,12,,,12,12,12,12,,,12,12,12,154,96,12,12,96,,96,12,96,12,12', -'154,154,154,95,12,,,95,95,95,95,95,95,95,,,95,95,95,95,,,95,95,95,,12', -'95,95,12,,12,95,12,95,95,,,,17,95,,,17,17,17,17,17,17,17,,,17,17,17', -'17,,,17,17,17,,95,17,17,95,,95,17,95,17,17,,,,18,17,,,18,18,18,18,18', -'18,18,,,18,18,18,18,,,18,18,18,,17,18,18,17,,17,18,17,18,18,,,,23,18', -',,23,23,23,23,23,23,23,,,23,23,23,23,,,23,23,23,,18,23,23,18,,18,23', -'18,23,23,,,,209,23,,,209,209,209,209,209,209,209,,,209,209,209,209,', -',209,209,209,,23,209,209,23,,23,209,23,209,209,,,,207,209,,,207,207', -'207,207,207,207,207,,,207,207,207,207,,,207,207,207,,209,207,207,209', -',209,207,209,207,207,,,,29,207,,,29,29,29,29,29,29,29,,,29,29,29,29', -'163,,29,29,29,158,207,29,29,207,,207,29,207,29,29,,,,163,29,,175,175', -'158,175,202,202,,202,163,163,163,163,163,158,158,158,158,158,29,29,29', -',,29,30,29,,29,30,30,30,30,30,30,30,,,30,30,30,30,,,30,30,30,,,30,30', -',213,213,30,213,30,30,,,,31,30,,,31,31,31,31,31,31,31,,,31,31,31,31', -',,31,31,31,,30,31,31,30,,30,31,30,31,31,,,,34,31,,,34,34,34,34,34,34', -'34,,,34,34,34,34,161,,34,34,34,159,31,34,34,31,,31,34,31,34,34,,,,161', -'34,,204,204,159,204,183,183,,183,161,161,161,161,161,159,159,159,159', -'159,34,34,34,,,34,35,34,,34,35,35,35,35,35,35,35,139,,35,35,35,35,,', -'35,35,35,,,35,35,,,,35,139,35,35,,,,,35,,,,139,139,139,139,139,139,139', -'139,139,139,139,139,139,,,,35,35,35,,,35,206,35,,35,206,206,206,206', -'206,206,206,150,,206,206,206,206,,,206,206,206,,,206,206,,,,206,150', -'206,206,,,,,206,,,,150,150,150,150,150,150,150,150,150,150,150,150,150', -',,,206,206,206,,,206,203,206,,206,203,203,203,203,203,203,203,141,,203', -'203,203,203,,,203,203,203,,,203,203,,,,203,141,203,203,,,,,203,,,,141', -'141,141,141,141,141,141,141,141,141,141,141,141,,,,203,203,203,,,203', -'94,203,,203,94,94,94,94,94,94,94,,,94,94,94,94,,,94,94,94,,,94,94,,', -',94,,94,94,,,,196,94,,,196,196,196,196,196,196,196,,,196,196,196,196', -',,196,196,196,,94,196,196,94,,94,196,94,196,196,,,,,196,,,,,,,,,,,,', -',,,,,,,196,196,196,,,196,191,196,,196,191,191,191,191,191,191,191,145', -',191,191,191,191,,,191,191,191,,,191,191,,,,191,145,191,191,,,,,191', -',,,145,145,145,145,145,145,145,145,145,145,145,145,145,,,,191,191,191', -',,191,49,191,,191,49,49,49,49,49,49,49,,,49,49,49,49,,,49,49,49,,,49', -'49,,,,49,,49,49,,,,185,49,,,185,185,185,185,185,185,185,,,185,185,185', -'185,,,185,185,185,,49,185,185,49,,49,185,49,185,185,,,,182,185,,,182', -'182,182,182,182,182,182,,,182,182,182,182,,,182,182,182,,185,182,182', -'185,,185,182,185,182,182,,,,,182,,,,,,,,,,,,,,,,,,,,182,182,182,,,182', -'55,182,,182,55,55,55,55,55,55,55,153,,55,55,55,55,,,55,55,55,,,55,55', -',,,55,153,55,55,,,,,55,,,,153,153,153,153,153,153,153,153,153,153,153', -'153,153,,,,55,55,55,,,55,179,55,,55,179,179,179,179,179,179,179,,,179', -'179,179,179,,,179,179,179,,,179,179,,,,179,,179,179,,,,168,179,,,168', -'168,168,168,168,168,168,,,168,168,168,168,,,168,168,168,,179,168,168', -'179,,179,168,179,168,168,,,,97,168,,,97,97,97,97,97,97,97,,,97,97,97', -'97,,,97,97,97,,168,97,97,168,,168,97,168,97,97,,,,60,97,,,60,60,60,60', -'60,60,60,,,60,60,60,60,,,60,60,60,,97,60,60,97,,97,60,97,60,60,,,,,60', -',,,,,,,,,,,,,,,,,,,60,60,60,,,60,93,60,,60,93,93,93,93,93,93,93,,,93', -'93,93,93,,,93,93,93,,,93,93,,,,93,,93,93,,,,134,93,,,134,134,134,134', -'134,134,134,,,134,134,134,134,,,134,134,134,,93,134,134,93,,93,134,93', -'134,134,,,,,134,,,,,,,,,,,,,,,,,,,,134,134,134,,,134,128,134,,134,128', -'128,128,128,128,128,128,,,128,128,128,128,,,128,128,128,,,128,128,,', -',128,,128,128,,,,127,128,,,127,127,127,127,127,127,127,,,127,127,127', -'127,,,127,127,127,,128,127,127,128,,128,127,128,127,127,,,,124,127,', -',124,124,124,124,124,124,124,,,124,124,124,124,,,124,124,124,,127,124', -'124,127,,127,124,127,124,124,,,,,124,,,,,,,,,,,,,,,,,,,,124,124,124', -',,124,119,124,,124,119,119,119,119,119,119,119,157,,119,119,119,119', -',,119,119,119,,,119,119,,,,119,157,119,119,,,,,119,,,,157,157,157,157', -'157,157,157,157,157,157,157,157,157,,,,119,119,119,,,119,115,119,,119', -'115,115,115,115,115,115,115,,,115,115,115,115,,,115,115,115,,,115,115', -',,,115,,115,115,,,,113,115,,,113,113,113,113,113,113,113,,,113,113,113', -'113,,,113,113,113,,115,113,113,115,,115,113,115,113,113,,,,104,113,', -',104,104,104,104,104,104,104,,,104,104,104,104,,,104,104,104,,113,104', -'104,113,,113,104,113,104,104,,,,103,104,,,103,103,103,103,103,103,103', -',,103,103,103,103,,,103,103,103,,104,103,103,104,,104,103,104,103,103', -',,,102,103,,,102,102,102,102,102,102,102,,,102,102,102,102,,,102,102', -'102,,103,102,102,103,,103,102,103,102,102,,,,101,102,,,101,101,101,101', -'101,101,101,,,101,101,101,101,,,101,101,101,,102,101,101,102,,102,101', -'102,101,101,,,,100,101,,,100,100,100,100,100,100,100,,,100,100,100,100', -',,100,100,100,,101,100,100,101,,101,100,101,100,100,,,,99,100,,,99,99', -'99,99,99,99,99,,,99,99,99,99,,,99,99,99,,100,99,99,100,,100,99,100,99', -'99,,,,77,99,,,77,77,77,77,77,77,77,,,77,77,77,77,,,77,77,77,,99,77,77', -'99,,99,77,99,77,77,,,,78,77,,,78,78,78,78,78,78,78,,,78,78,78,78,,,78', -'78,78,,77,78,78,77,,77,78,77,78,78,,,,79,78,,,79,79,79,79,79,79,79,', -',79,79,79,79,,,79,79,79,,78,79,79,78,,78,79,78,79,79,,,,92,79,,,92,92', -'92,92,92,92,92,,,92,92,92,92,,,92,92,92,,79,92,92,79,,79,92,79,92,92', -',,,81,92,,,81,81,81,81,81,81,81,,,81,81,81,81,,,81,81,81,,92,81,81,92', -',92,81,92,81,81,,,,82,81,,,82,82,82,82,82,82,82,,,82,82,82,82,,,82,82', -'82,,81,82,82,81,,81,82,81,82,82,,,,98,82,,,98,98,98,98,98,98,98,,,98', -'98,98,98,,,98,98,98,,82,98,98,82,,82,98,82,98,98,,,,84,98,,,84,84,84', -'84,84,84,84,,,84,84,84,84,,,84,84,84,,98,84,84,98,,98,84,98,84,84,,', -',85,84,,,85,85,85,85,85,85,85,,,85,85,85,85,,,85,85,85,,84,85,85,84', -',84,85,84,85,85,,,,86,85,,,86,86,86,86,86,86,86,,,86,86,86,86,,,86,86', -'86,,85,86,86,85,,85,86,85,86,86,,,,87,86,,,87,87,87,87,87,87,87,,,87', -'87,87,87,,,87,87,87,,86,87,87,86,,86,87,86,87,87,,,,88,87,,,88,88,88', -'88,88,88,88,,,88,88,88,88,,,88,88,88,,87,88,88,87,,87,88,87,88,88,,', -',89,88,,,89,89,89,89,89,89,89,,,89,89,89,89,,,89,89,89,,88,89,89,88', -',88,89,88,89,89,,,,90,89,,,90,90,90,90,90,90,90,,,90,90,90,90,,,90,90', -'90,,89,90,90,89,,89,90,89,90,90,,,,91,90,,,91,91,91,91,91,91,91,,,91', -'91,91,91,,,91,91,91,,90,91,91,90,,90,91,90,91,91,,,,80,91,,,80,80,80', -'80,80,80,80,,,80,80,80,80,,,80,80,80,,91,80,80,91,,91,80,91,80,80,,', -'136,,80,136,,,,,,,,,,,,,,,,,,,136,,80,,,80,,80,,80,,136,136,136,136', -'136,136,136,136,136,136,136,136,136,136,136,136,136,,136,136,136,136', -'136,136,214,,,214,,,136,,,,,,,,,,,,,,,,214,,,,,,200,,,200,,214,214,214', -'214,214,214,214,214,214,214,214,214,214,214,214,214,214,200,214,214', -'214,214,214,214,,,,214,200,200,200,200,200,200,200,200,200,200,200,200', -'200,200,200,200,200,,200,200,200,200,200,200,,215,,200,215,,,,,,,,,', -',,,,,,,,,215,,,,,,220,,,220,,215,215,215,215,215,215,215,215,215,215', -'215,215,215,215,215,215,215,220,215,215,215,215,215,215,,,,215,220,220', -'220,220,220,220,220,220,220,220,220,220,220,220,220,220,220,,220,220', -'220,220,220,220,,,59,220,59,59,,,,,,,,,,,,,,,,,,,59,,,,,,194,,194,194', -',59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,194,59,59,59,59', -'59,59,59,59,,,194,194,194,194,194,194,194,194,194,194,194,194,194,194', -'194,194,194,,194,194,194,194,194,194,194,194,62,,62,62,,,,,,,,,,,,,', -',,,,,62,,,,,,65,,65,65,,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62', -'62,62,65,62,62,62,62,62,62,62,62,,,65,65,65,65,65,65,65,65,65,65,65', -'65,65,65,65,65,65,,65,65,65,65,65,65,65,65,137,,,137,,,,,,,,,,,,,,,', -',,,137,,,,,,71,,,71,,137,137,137,137,137,137,137,137,137,137,137,137', -'137,137,137,137,137,71,137,137,137,137,137,137,,,171,,71,71,71,71,71', -'71,71,71,71,71,71,71,71,71,71,71,71,171,71,71,71,71,71,71,143,,,143', -'171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171', -',143,,,,,,177,,,177,,143,143,143,143,143,143,143,143,143,143,143,143', -'143,143,143,143,143,177,143,143,143,143,143,143,,,148,,177,177,177,177', -'177,177,177,177,177,177,177,177,177,177,177,177,177,148,177,177,177', -'177,177,177,152,,,152,148,148,148,148,148,148,148,148,148,148,148,148', -'148,,,,,,152,,,,,,112,,,112,,152,152,152,152,152,152,152,152,152,152', -'152,152,152,152,152,152,152,112,152,152,152,152,152,152,,,155,,112,112', -'112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,155,112', -'112,112,112,112,112,189,,,189,155,155,155,155,155,155,155,155,155,155', -'155,155,155,,,,,,189,,,,,,42,,,42,,189,189,189,189,189,189,189,189,189', -'189,189,189,189,189,189,189,189,42,189,189,189,189,189,189,,,,,42,42', -'42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,,42,42,42,42,42,42,178', -',,178,,,,,,,,,,,,,,,,,,,178,,,,,,64,,,64,,178,178,178,178,178,178,178', -'178,178,178,178,178,178,178,178,178,178,64,178,178,178,178,178,178,', -',162,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,162,64,64,64', -'64,64,64,,,140,,162,162,162,162,162,162,162,162,162,162,162,162,162', -'162,162,162,162,140,162,162,162,162,162,162,,,160,,140,140,140,140,140', -'140,140,140,140,140,140,140,140,140,140,140,140,160,140,140,140,140', -'140,140,,,144,,160,160,160,160,160,160,160,160,160,160,160,160,160,160', -'160,160,160,144,160,160,160,160,160,160,,,147,,144,144,144,144,144,144', -'144,144,144,144,144,144,144,144,144,144,144,147,144,144,144,144,144', -'144,,,138,,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147', -'147,147,138,147,147,147,147,147,147,,,,,138,138,138,138,138,138,138', -'138,138,138,138,138,138,138,138,138,138,,138,138,138,138,138,138' ] - racc_action_check = arr = Array.new(3597, nil) +'0,67,66,36,0,0,0,0,0,0,0,142,43,0,0,0,0,180,180,0,0,0,72,72,0,0,170', +'170,118,0,170,0,0,13,173,13,170,0,56,56,73,73,44,175,175,186,175,52', +'56,142,68,180,67,66,36,110,67,0,0,0,39,39,0,218,0,109,0,218,218,218', +'218,218,218,218,211,211,218,218,218,218,73,73,218,218,218,201,52,218', +'218,44,173,173,218,173,218,218,125,44,52,2,218,130,52,2,2,2,2,2,2,2', +'133,61,2,2,2,2,28,24,2,2,2,74,218,2,2,218,164,218,2,218,2,2,156,156', +'156,6,2,198,165,6,6,6,6,6,6,6,166,11,6,6,6,6,1,83,6,6,6,,2,6,6,2,,2', +'6,2,6,6,,24,,24,6,24,106,106,198,198,106,198,63,63,106,,63,,63,163,163', +'163,163,163,6,6,6,,,6,8,6,,6,8,8,8,8,8,8,8,,,8,8,8,8,,,8,8,8,,,8,8,', +'122,122,8,122,8,8,154,154,154,99,8,,,99,99,99,99,99,99,99,,,99,99,99', +'99,,,99,99,99,,8,99,99,8,,8,99,8,99,99,,,,12,99,,,12,12,12,12,12,12', +'12,,,12,12,12,12,,,12,12,12,,99,12,12,99,,99,12,99,12,12,,,,98,12,,', +'98,98,98,98,98,98,98,,,98,98,98,98,,,98,98,98,,12,98,98,12,,12,98,12', +'98,98,,,,17,98,,,17,17,17,17,17,17,17,,,17,17,17,17,,,17,17,17,,98,17', +'17,98,,98,17,98,17,17,,,,18,17,,,18,18,18,18,18,18,18,,,18,18,18,18', +',,18,18,18,,17,18,18,17,,17,18,17,18,18,,,,23,18,,,23,23,23,23,23,23', +'23,,,23,23,23,23,,,23,23,23,,18,23,23,18,,18,23,18,23,23,,,,209,23,', +',209,209,209,209,209,209,209,,,209,209,209,209,,,209,209,209,,23,209', +'209,23,,23,209,23,209,209,,,,207,209,,,207,207,207,207,207,207,207,', +',207,207,207,207,,,207,207,207,,209,207,207,209,,209,207,209,207,207', +',,,29,207,,,29,29,29,29,29,29,29,,,29,29,29,29,,,29,29,29,,207,29,29', +'207,,207,29,207,29,29,213,213,,213,29,171,171,171,171,171,171,171,171', +'171,171,171,171,171,171,171,171,171,,,29,29,29,,,29,30,29,,29,30,30', +'30,30,30,30,30,,,30,30,30,30,,,30,30,30,,,30,30,,183,183,30,183,30,30', +',,,31,30,,,31,31,31,31,31,31,31,,,31,31,31,31,,,31,31,31,,30,31,31,30', +',30,31,30,31,31,,,,34,31,,,34,34,34,34,34,34,34,,,34,34,34,34,,,34,34', +'34,,31,34,34,31,,31,34,31,34,34,202,202,,202,34,150,150,150,150,150', +'150,150,150,150,150,150,150,150,161,161,161,161,161,,34,34,34,,,34,35', +'34,,34,35,35,35,35,35,35,35,,,35,35,35,35,,,35,35,35,,,35,35,,204,204', +'35,204,35,35,69,69,,69,35,148,148,148,148,148,148,148,148,148,148,148', +'148,148,158,158,158,158,158,,35,35,35,,,35,206,35,,35,206,206,206,206', +'206,206,206,,,206,206,206,206,,,206,206,206,,,206,206,,,,206,,206,206', +',,,,206,153,153,153,153,153,153,153,153,153,153,153,153,153,159,159', +'159,159,159,,206,206,206,,,206,203,206,,206,203,203,203,203,203,203', +'203,,,203,203,203,203,,,203,203,203,,,203,203,,,,203,,203,203,,,,,203', +'145,145,145,145,145,145,145,145,145,145,145,145,145,,,,,,,203,203,203', +',,203,97,203,,203,97,97,97,97,97,97,97,,,97,97,97,97,,,97,97,97,,,97', +'97,,,,97,,97,97,,,,196,97,,,196,196,196,196,196,196,196,,,196,196,196', +'196,,,196,196,196,,97,196,196,97,,97,196,97,196,196,,,,,196,155,155', +'155,155,155,155,155,155,155,155,155,155,155,,,,,,,196,196,196,,,196', +'191,196,,196,191,191,191,191,191,191,191,,,191,191,191,191,,,191,191', +'191,,,191,191,,,,191,,191,191,,,,,191,141,141,141,141,141,141,141,141', +'141,141,141,141,141,,,,,,,191,191,191,,,191,49,191,,191,49,49,49,49', +'49,49,49,,,49,49,49,49,,,49,49,49,,,49,49,,,,49,,49,49,,,,185,49,,,185', +'185,185,185,185,185,185,,,185,185,185,185,,,185,185,185,,49,185,185', +'49,,49,185,49,185,185,,,,55,185,,,55,55,55,55,55,55,55,,,55,55,55,55', +',,55,55,55,,185,55,55,185,,185,55,185,55,55,,,,,55,157,157,157,157,157', +'157,157,157,157,157,157,157,157,,,,,,,55,55,55,,,55,182,55,,55,182,182', +'182,182,182,182,182,,,182,182,182,182,,,182,182,182,,,182,182,,,,182', +',182,182,,,,,182,139,139,139,139,139,139,139,139,139,139,139,139,139', +',,,,,,182,182,182,,,182,179,182,,182,179,179,179,179,179,179,179,,,179', +'179,179,179,,,179,179,179,,,179,179,,,,179,,179,179,,,,60,179,,,60,60', +'60,60,60,60,60,,,60,60,60,60,,,60,60,60,,179,60,60,179,,179,60,179,60', +'60,,,,,60,,,,,,,,,,,,,,,,,,,,60,60,60,,,60,168,60,,60,168,168,168,168', +'168,168,168,,,168,168,168,168,,,168,168,168,,,168,168,,,,168,,168,168', +',,,100,168,,,100,100,100,100,100,100,100,,,100,100,100,100,,,100,100', +'100,,168,100,100,168,,168,100,168,100,100,,,,96,100,,,96,96,96,96,96', +'96,96,,,96,96,96,96,,,96,96,96,,100,96,96,100,,100,96,100,96,96,,,,134', +'96,,,134,134,134,134,134,134,134,,,134,134,134,134,,,134,134,134,,96', +'134,134,96,,96,134,96,134,134,,,,,134,,,,,,,,,,,,,,,,,,,,134,134,134', +',,134,128,134,,134,128,128,128,128,128,128,128,,,128,128,128,128,,,128', +'128,128,,,128,128,,,,128,,128,128,,,,127,128,,,127,127,127,127,127,127', +'127,,,127,127,127,127,,,127,127,127,,128,127,127,128,,128,127,128,127', +'127,,,,124,127,,,124,124,124,124,124,124,124,,,124,124,124,124,,,124', +'124,124,,127,124,124,127,,127,124,127,124,124,,,,,124,,,,,,,,,,,,,,', +',,,,,124,124,124,,,124,119,124,,124,119,119,119,119,119,119,119,,,119', +'119,119,119,,,119,119,119,,,119,119,,,,119,,119,119,,,,,119,,,,,,,,', +',,,,,,,,,,,119,119,119,,,119,115,119,,119,115,115,115,115,115,115,115', +',,115,115,115,115,,,115,115,115,,,115,115,,,,115,,115,115,,,,113,115', +',,113,113,113,113,113,113,113,,,113,113,113,113,,,113,113,113,,115,113', +'113,115,,115,113,115,113,113,,,,104,113,,,104,104,104,104,104,104,104', +',,104,104,104,104,,,104,104,104,,113,104,104,113,,113,104,113,104,104', +',,,103,104,,,103,103,103,103,103,103,103,,,103,103,103,103,,,103,103', +'103,,104,103,103,104,,104,103,104,103,103,,,,102,103,,,102,102,102,102', +'102,102,102,,,102,102,102,102,,,102,102,102,,103,102,102,103,,103,102', +'103,102,102,,,,77,102,,,77,77,77,77,77,77,77,,,77,77,77,77,,,77,77,77', +',102,77,77,102,,102,77,102,77,77,,,,78,77,,,78,78,78,78,78,78,78,,,78', +'78,78,78,,,78,78,78,,77,78,78,77,,77,78,77,78,78,,,,79,78,,,79,79,79', +'79,79,79,79,,,79,79,79,79,,,79,79,79,,78,79,79,78,,78,79,78,79,79,,', +',80,79,,,80,80,80,80,80,80,80,,,80,80,80,80,,,80,80,80,,79,80,80,79', +',79,80,79,80,80,,,,81,80,,,81,81,81,81,81,81,81,,,81,81,81,81,,,81,81', +'81,,80,81,81,80,,80,81,80,81,81,,,,82,81,,,82,82,82,82,82,82,82,,,82', +'82,82,82,,,82,82,82,,81,82,82,81,,81,82,81,82,82,,,,95,82,,,95,95,95', +'95,95,95,95,,,95,95,95,95,,,95,95,95,,82,95,95,82,,82,95,82,95,95,,', +',84,95,,,84,84,84,84,84,84,84,,,84,84,84,84,,,84,84,84,,95,84,84,95', +',95,84,95,84,84,,,,85,84,,,85,85,85,85,85,85,85,,,85,85,85,85,,,85,85', +'85,,84,85,85,84,,84,85,84,85,85,,,,86,85,,,86,86,86,86,86,86,86,,,86', +'86,86,86,,,86,86,86,,85,86,86,85,,85,86,85,86,86,,,,87,86,,,87,87,87', +'87,87,87,87,,,87,87,87,87,,,87,87,87,,86,87,87,86,,86,87,86,87,87,,', +',88,87,,,88,88,88,88,88,88,88,,,88,88,88,88,,,88,88,88,,87,88,88,87', +',87,88,87,88,88,,,,89,88,,,89,89,89,89,89,89,89,,,89,89,89,89,,,89,89', +'89,,88,89,89,88,,88,89,88,89,89,,,,90,89,,,90,90,90,90,90,90,90,,,90', +'90,90,90,,,90,90,90,,89,90,90,89,,89,90,89,90,90,,,,91,90,,,91,91,91', +'91,91,91,91,,,91,91,91,91,,,91,91,91,,90,91,91,90,,90,91,90,91,91,,', +',92,91,,,92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,91,92,92,91', +',91,92,91,92,92,,,,93,92,,,93,93,93,93,93,93,93,,,93,93,93,93,,,93,93', +'93,,92,93,93,92,,92,93,92,93,93,,,,94,93,,,94,94,94,94,94,94,94,,,94', +'94,94,94,,,94,94,94,,93,94,94,93,,93,94,93,94,94,,,,101,94,,,101,101', +'101,101,101,101,101,,,101,101,101,101,,,101,101,101,,94,101,101,94,', +'94,101,94,101,101,,,136,,101,136,,,,,,,,,,,,,,,,,,,136,,101,,,101,,101', +',101,214,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136', +'136,136,,136,136,136,136,136,136,,,,,,,136,,214,214,214,214,214,214', +'214,214,214,214,214,214,214,214,214,214,214,,214,214,214,214,214,214', +',200,,214,200,,,,,,,,,,,,,,,,,,,200,,,,,,215,,,215,,200,200,200,200', +'200,200,200,200,200,200,200,200,200,200,200,200,200,215,200,200,200', +'200,200,200,220,,,200,215,215,215,215,215,215,215,215,215,215,215,215', +'215,215,215,215,215,,215,215,215,215,215,215,,,,215,,220,220,220,220', +'220,220,220,220,220,220,220,220,220,220,220,220,220,,220,220,220,220', +'220,220,,,62,220,62,62,,,,,,,,,,,,,,,,,,,62,,,,,,65,,65,65,,62,62,62', +'62,62,62,62,62,62,62,62,62,62,62,62,62,62,65,62,62,62,62,62,62,62,62', +',,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,,65,65,65,65,65', +'65,65,65,59,,59,59,,,,,,,,,,,,,,,,,,,59,,,,,,194,,194,194,,59,59,59', +'59,59,59,59,59,59,59,59,59,59,59,59,59,59,194,59,59,59,59,59,59,59,59', +'143,,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194,194', +'194,,194,194,194,194,194,194,194,194,177,,,177,,143,143,143,143,143', +'143,143,143,143,143,143,143,143,143,143,143,143,177,143,143,143,143', +'143,143,,,,,177,177,177,177,177,177,177,177,177,177,177,177,177,177', +'177,177,177,,177,177,177,177,177,177,112,,,112,,,,,,,,,,,,,,,,,,,112', +',,,,,71,,,71,,112,112,112,112,112,112,112,112,112,112,112,112,112,112', +'112,112,112,71,112,112,112,112,112,112,,,,,71,71,71,71,71,71,71,71,71', +'71,71,71,71,71,71,71,71,,71,71,71,71,71,71,42,,,42,,,,,,,,,,,,,,,,,', +',42,,,,,,64,,,64,,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42', +'64,42,42,42,42,42,42,,,,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64', +'64,64,,64,64,64,64,64,64,189,,,189,,,,,,,,,,,,,,,,,,,189,,,,,,178,,', +'178,,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189', +'189,178,189,189,189,189,189,189,152,,,,178,178,178,178,178,178,178,178', +'178,178,178,178,178,178,178,178,178,,178,178,178,178,178,178,137,,,137', +',152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152', +'137,152,152,152,152,152,152,,,,,137,137,137,137,137,137,137,137,137', +'137,137,137,137,137,137,137,137,,137,137,137,137,137,137,162,162,162', +'162,162,162,162,162,162,162,162,162,162,162,162,162,162,,162,162,162', +'162,162,162,138,138,138,138,138,138,138,138,138,138,138,138,138,138', +'138,138,138,,138,138,138,138,138,138,160,160,160,160,160,160,160,160', +'160,160,160,160,160,160,160,160,160,,160,160,160,160,160,160,144,144', +'144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,,144,144', +'144,144,144,144,140,140,140,140,140,140,140,140,140,140,140,140,140', +'140,140,140,140,,140,140,140,140,140,140,147,147,147,147,147,147,147', +'147,147,147,147,147,147,147,147,147,147,,147,147,147,147,147,147' ] + racc_action_check = arr = Array.new(3493, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -310,29 +303,29 @@ clist = [ end racc_action_pointer = [ - -2, 124, 97, nil, nil, nil, 133, nil, 196, nil, - nil, 111, 268, 71, nil, nil, nil, 340, 376, nil, - nil, nil, nil, 412, 105, nil, nil, nil, 138, 520, - 583, 619, nil, nil, 655, 718, -11, nil, nil, 51, - nil, nil, 3285, -21, -11, nil, nil, nil, nil, 1069, - nil, nil, 34, nil, 128, 1204, -24, 92, nil, 2828, - 1375, 81, 2915, 121, 3370, 2943, -10, 17, 18, 128, - 56, 3030, 87, -8, 150, nil, nil, 2023, 2059, 2095, - 2563, 2167, 2203, 173, 2275, 2311, 2347, 2383, 2419, 2455, - 2491, 2527, 2131, 1438, 907, 304, 232, 1339, 2239, 1987, - 1951, 1915, 1879, 1843, 1807, nil, 115, nil, nil, 74, - 54, nil, 3200, 1771, nil, 1735, nil, nil, -19, 1672, - nil, nil, 166, nil, 1609, -21, nil, 1573, 1537, nil, - 5, nil, nil, 16, 1474, nil, 2598, 3002, 3538, 726, - 3426, 852, -8, 3087, 3482, 1014, 41, 3510, 3143, 17, - 789, 18, 3172, 1212, 268, 3228, 232, 1680, 539, 674, - 3454, 669, 3398, 534, 90, 156, 89, nil, 1303, nil, - -20, 3058, nil, 31, nil, 502, nil, 3115, 3342, 1267, - -2, nil, 1141, 641, nil, 1105, 141, nil, nil, 3257, - nil, 1006, nil, nil, 2856, nil, 943, nil, 117, nil, - 2683, 64, 506, 844, 637, nil, 781, 484, nil, 448, - nil, 15, nil, 553, 2655, 2741, nil, nil, 61, nil, - 2769, nil ] + -2, 93, 97, nil, nil, nil, 133, nil, 196, nil, + nil, 88, 268, -28, nil, nil, nil, 340, 376, nil, + nil, nil, nil, 412, 105, nil, nil, nil, 116, 520, + 583, 619, nil, nil, 655, 718, -10, nil, nil, 1, + nil, nil, 3120, -47, 30, nil, nil, nil, nil, 1069, + nil, nil, 34, nil, nil, 1141, -21, nil, nil, 2891, + 1303, 96, 2804, 121, 3148, 2832, -11, -12, 50, 694, + nil, 3063, -37, 21, 109, nil, nil, 1915, 1951, 1987, + 2023, 2059, 2095, 141, 2167, 2203, 2239, 2275, 2311, 2347, + 2383, 2419, 2455, 2491, 2527, 2131, 1438, 907, 304, 232, + 1402, 2563, 1879, 1843, 1807, nil, 115, nil, nil, 13, + -12, nil, 3035, 1771, nil, 1735, nil, nil, -41, 1672, + nil, nil, 166, nil, 1609, 31, nil, 1573, 1537, nil, + 73, nil, nil, 98, 1474, nil, 2598, 3290, 3338, 1209, + 3410, 1011, -14, 2950, 3386, 849, nil, 3434, 723, nil, + 660, nil, 3262, 786, 196, 948, 97, 1146, 736, 799, + 3362, 673, 3314, 152, 59, 126, 134, nil, 1366, nil, + -33, 525, nil, 31, nil, -16, nil, 2978, 3233, 1267, + -11, nil, 1204, 553, nil, 1105, 33, nil, nil, 3205, + nil, 1006, nil, nil, 2919, nil, 943, nil, 117, nil, + 2688, 60, 631, 844, 688, nil, 781, 484, nil, 448, + nil, 15, nil, 496, 2630, 2716, nil, nil, 61, nil, + 2745, nil ] racc_action_default = [ -1, -109, -121, -32, -31, -10, -121, -67, -121, -33, @@ -356,8 +349,8 @@ racc_action_default = [ -121, -106, -121, -121, -75, -121, -121, -81, -80, -35, -84, -121, -90, -99, -121, -107, -121, -104, -121, -95, -121, -121, -121, -121, -121, -94, -121, -121, -100, -121, - -91, -108, -105, -121, -121, -121, -96, -102, -121, -101, - -121, -103 ] + -91, -108, -105, -121, -92, -121, -96, -102, -121, -101, + -92, -103 ] racc_goto_table = [ 54, 119, 111, 117, 124, 181, 57, 130, 63, 114, @@ -773,49 +766,49 @@ Racc_debug_parser = false # reduce 0 omitted -module_eval(<<'.,.,', 'grammar.y', 32) +module_eval(<<'.,.,', 'grammar.y', 36) def _reduce_1(val, _values, result) result = Nodes.new([]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 33) +module_eval(<<'.,.,', 'grammar.y', 37) def _reduce_2(val, _values, result) result = Nodes.new([]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 34) +module_eval(<<'.,.,', 'grammar.y', 38) def _reduce_3(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 39) +module_eval(<<'.,.,', 'grammar.y', 43) def _reduce_4(val, _values, result) result = Nodes.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 40) +module_eval(<<'.,.,', 'grammar.y', 44) def _reduce_5(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 41) +module_eval(<<'.,.,', 'grammar.y', 45) def _reduce_6(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 42) +module_eval(<<'.,.,', 'grammar.y', 46) def _reduce_7(val, _values, result) result = val[1] result @@ -856,672 +849,672 @@ module_eval(<<'.,.,', 'grammar.y', 42) # reduce 24 omitted -module_eval(<<'.,.,', 'grammar.y', 76) +module_eval(<<'.,.,', 'grammar.y', 80) def _reduce_25(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 77) +module_eval(<<'.,.,', 'grammar.y', 81) def _reduce_26(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 78) +module_eval(<<'.,.,', 'grammar.y', 82) def _reduce_27(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 79) +module_eval(<<'.,.,', 'grammar.y', 83) def _reduce_28(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 80) +module_eval(<<'.,.,', 'grammar.y', 84) def _reduce_29(val, _values, result) result = LiteralNode.new(true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 81) +module_eval(<<'.,.,', 'grammar.y', 85) def _reduce_30(val, _values, result) result = LiteralNode.new(false) result end .,., -module_eval(<<'.,.,', 'grammar.y', 82) +module_eval(<<'.,.,', 'grammar.y', 86) def _reduce_31(val, _values, result) result = LiteralNode.new(nil) result end .,., -module_eval(<<'.,.,', 'grammar.y', 83) +module_eval(<<'.,.,', 'grammar.y', 87) def _reduce_32(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 84) +module_eval(<<'.,.,', 'grammar.y', 88) def _reduce_33(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 89) +module_eval(<<'.,.,', 'grammar.y', 93) def _reduce_34(val, _values, result) result = AssignNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 94) +module_eval(<<'.,.,', 'grammar.y', 98) def _reduce_35(val, _values, result) result = AssignNode.new(val[0], val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 99) +module_eval(<<'.,.,', 'grammar.y', 103) def _reduce_36(val, _values, result) result = ReturnNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 106) +module_eval(<<'.,.,', 'grammar.y', 110) def _reduce_37(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 107) +module_eval(<<'.,.,', 'grammar.y', 111) def _reduce_38(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 108) +module_eval(<<'.,.,', 'grammar.y', 112) def _reduce_39(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 111) +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', 112) +module_eval(<<'.,.,', 'grammar.y', 116) def _reduce_41(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 113) +module_eval(<<'.,.,', 'grammar.y', 117) def _reduce_42(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 115) +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', 116) +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', 118) +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', 119) +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', 120) +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', 121) +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', 123) +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', 124) +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', 125) +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', 126) +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', 128) +module_eval(<<'.,.,', 'grammar.y', 132) def _reduce_53(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 129) +module_eval(<<'.,.,', 'grammar.y', 133) def _reduce_54(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 130) +module_eval(<<'.,.,', 'grammar.y', 134) def _reduce_55(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 131) +module_eval(<<'.,.,', 'grammar.y', 135) def _reduce_56(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 133) +module_eval(<<'.,.,', 'grammar.y', 137) def _reduce_57(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 134) +module_eval(<<'.,.,', 'grammar.y', 138) def _reduce_58(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 135) +module_eval(<<'.,.,', 'grammar.y', 139) def _reduce_59(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 136) +module_eval(<<'.,.,', 'grammar.y', 140) def _reduce_60(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 137) +module_eval(<<'.,.,', 'grammar.y', 141) def _reduce_61(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 138) +module_eval(<<'.,.,', 'grammar.y', 142) def _reduce_62(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 144) +module_eval(<<'.,.,', 'grammar.y', 148) def _reduce_63(val, _values, result) result = CodeNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 145) +module_eval(<<'.,.,', 'grammar.y', 149) def _reduce_64(val, _values, result) result = CodeNode.new([], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 149) +module_eval(<<'.,.,', 'grammar.y', 153) def _reduce_65(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 150) +module_eval(<<'.,.,', 'grammar.y', 154) def _reduce_66(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 154) +module_eval(<<'.,.,', 'grammar.y', 158) def _reduce_67(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 155) +module_eval(<<'.,.,', 'grammar.y', 159) def _reduce_68(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 156) +module_eval(<<'.,.,', 'grammar.y', 160) def _reduce_69(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 157) +module_eval(<<'.,.,', 'grammar.y', 161) def _reduce_70(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 158) +module_eval(<<'.,.,', 'grammar.y', 162) def _reduce_71(val, _values, result) result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 159) +module_eval(<<'.,.,', 'grammar.y', 163) def _reduce_72(val, _values, result) result = ValueNode.new(val[0], [val[1]]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 163) +module_eval(<<'.,.,', 'grammar.y', 167) def _reduce_73(val, _values, result) result = AccessorNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 164) +module_eval(<<'.,.,', 'grammar.y', 168) def _reduce_74(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 168) +module_eval(<<'.,.,', 'grammar.y', 172) def _reduce_75(val, _values, result) result = IndexNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 172) +module_eval(<<'.,.,', 'grammar.y', 176) def _reduce_76(val, _values, result) result = ObjectNode.new([]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 173) +module_eval(<<'.,.,', 'grammar.y', 177) def _reduce_77(val, _values, result) result = ObjectNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 177) +module_eval(<<'.,.,', 'grammar.y', 181) def _reduce_78(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 178) +module_eval(<<'.,.,', 'grammar.y', 182) def _reduce_79(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 179) +module_eval(<<'.,.,', 'grammar.y', 183) def _reduce_80(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 180) +module_eval(<<'.,.,', 'grammar.y', 184) def _reduce_81(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 185) +module_eval(<<'.,.,', 'grammar.y', 189) def _reduce_82(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 186) +module_eval(<<'.,.,', 'grammar.y', 190) def _reduce_83(val, _values, result) result = val[1].new_instance result end .,., -module_eval(<<'.,.,', 'grammar.y', 190) +module_eval(<<'.,.,', 'grammar.y', 194) def _reduce_84(val, _values, result) result = CallNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 195) +module_eval(<<'.,.,', 'grammar.y', 199) def _reduce_85(val, _values, result) result = ArrayNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 200) +module_eval(<<'.,.,', 'grammar.y', 204) def _reduce_86(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 201) +module_eval(<<'.,.,', 'grammar.y', 205) def _reduce_87(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 202) +module_eval(<<'.,.,', 'grammar.y', 206) def _reduce_88(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 203) +module_eval(<<'.,.,', 'grammar.y', 207) def _reduce_89(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 208) +module_eval(<<'.,.,', 'grammar.y', 212) def _reduce_90(val, _values, result) result = IfNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 211) +module_eval(<<'.,.,', 'grammar.y', 215) def _reduce_91(val, _values, result) result = IfNode.new(val[1], val[3], val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 212) +module_eval(<<'.,.,', 'grammar.y', 216) def _reduce_92(val, _values, result) result = IfNode.new(val[2], Nodes.new([val[0]])) result end .,., -module_eval(<<'.,.,', 'grammar.y', 213) +module_eval(<<'.,.,', 'grammar.y', 217) def _reduce_93(val, _values, result) result = IfNode.new(val[2], Nodes.new([val[0]]), nil, :invert) result end .,., -module_eval(<<'.,.,', 'grammar.y', 218) +module_eval(<<'.,.,', 'grammar.y', 222) def _reduce_94(val, _values, result) result = TryNode.new(val[1], val[3], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 220) +module_eval(<<'.,.,', 'grammar.y', 224) def _reduce_95(val, _values, result) result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 223) +module_eval(<<'.,.,', 'grammar.y', 227) def _reduce_96(val, _values, result) result = TryNode.new(val[1], val[3], val[4], val[6]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 227) +module_eval(<<'.,.,', 'grammar.y', 231) def _reduce_97(val, _values, result) result = ThrowNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 231) +module_eval(<<'.,.,', 'grammar.y', 235) def _reduce_98(val, _values, result) result = ParentheticalNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 236) +module_eval(<<'.,.,', 'grammar.y', 240) def _reduce_99(val, _values, result) result = WhileNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 241) +module_eval(<<'.,.,', 'grammar.y', 245) def _reduce_100(val, _values, result) result = ForNode.new(val[0], val[4], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 244) +module_eval(<<'.,.,', 'grammar.y', 248) def _reduce_101(val, _values, result) result = ForNode.new(val[0], val[6], val[2], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 247) +module_eval(<<'.,.,', 'grammar.y', 251) def _reduce_102(val, _values, result) result = ForNode.new(IfNode.new(val[6], Nodes.new([val[0]])), val[4], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 251) +module_eval(<<'.,.,', 'grammar.y', 255) def _reduce_103(val, _values, result) result = ForNode.new(IfNode.new(val[8], Nodes.new([val[0]])), val[6], val[2], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 256) +module_eval(<<'.,.,', 'grammar.y', 260) def _reduce_104(val, _values, result) result = val[3].rewrite_condition(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 258) +module_eval(<<'.,.,', 'grammar.y', 262) def _reduce_105(val, _values, result) result = val[3].rewrite_condition(val[1]).add_default(val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 262) +module_eval(<<'.,.,', 'grammar.y', 266) def _reduce_106(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 263) +module_eval(<<'.,.,', 'grammar.y', 267) def _reduce_107(val, _values, result) result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 267) +module_eval(<<'.,.,', 'grammar.y', 271) def _reduce_108(val, _values, result) result = IfNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 271) +module_eval(<<'.,.,', 'grammar.y', 275) def _reduce_109(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 272) +module_eval(<<'.,.,', 'grammar.y', 276) def _reduce_110(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 276) +module_eval(<<'.,.,', 'grammar.y', 280) def _reduce_111(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 277) +module_eval(<<'.,.,', 'grammar.y', 281) def _reduce_112(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 281) +module_eval(<<'.,.,', 'grammar.y', 285) def _reduce_113(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 282) +module_eval(<<'.,.,', 'grammar.y', 286) def _reduce_114(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 286) +module_eval(<<'.,.,', 'grammar.y', 290) def _reduce_115(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 287) +module_eval(<<'.,.,', 'grammar.y', 291) def _reduce_116(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 291) +module_eval(<<'.,.,', 'grammar.y', 295) def _reduce_117(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 292) +module_eval(<<'.,.,', 'grammar.y', 296) def _reduce_118(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 296) +module_eval(<<'.,.,', 'grammar.y', 300) def _reduce_119(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 297) +module_eval(<<'.,.,', 'grammar.y', 301) def _reduce_120(val, _values, result) result = nil result