From 2753648d6539588bfa5b85687df58a2fc0bb8fab Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Wed, 16 Dec 2009 20:19:52 -0500 Subject: [PATCH] two more shift/reduces down, 8 to go --- code.cs | 3 + grammar.y | 7 +- nodes.rb | 5 +- parser.rb | 914 ++++++++++++++++++++++++++++-------------------------- 4 files changed, 480 insertions(+), 449 deletions(-) diff --git a/code.cs b/code.cs index caafc386..cd62f9c4 100644 --- a/code.cs +++ b/code.cs @@ -110,3 +110,6 @@ case "Wednesday" go_to_work() eat_dinner() default go_to_work(). + +# Semicolons can optionally be used instead of newlines. +wednesday: => eat_breakfast(); go_to_work(); eat_dinner(); . \ No newline at end of file diff --git a/grammar.y b/grammar.y index c1923aab..5c84f55d 100644 --- a/grammar.y +++ b/grammar.y @@ -13,7 +13,7 @@ token SWITCH CASE DEFAULT token NEWLINE token JS -# Declare order of operations (mostly taken from Ruby). +# Declare order of operations. prechigh nonassoc UMINUS NOT '!' left '*' '/' '%' @@ -26,11 +26,12 @@ prechigh nonassoc IF left UNLESS right RETURN THROW FOR WHILE + nonassoc "." preclow -# We expect 10 shift/reduce errors for optional syntax. +# We expect 8 shift/reduce errors for optional syntax. # There used to be 252 -- greatly improved. -expect 10 +expect 8 rule diff --git a/nodes.rb b/nodes.rb index 5fd6ba82..094b3517 100644 --- a/nodes.rb +++ b/nodes.rb @@ -228,14 +228,13 @@ class OpNode < Node def compile(indent, scope, opts={}) return compile_conditional(indent, scope) if CONDITIONALS.include?(@operator) return compile_unary(indent, scope) if unary? - op = "#{@first.compile(indent, scope)} #{@operator} #{@second.compile(indent, scope)}" - opts[:no_paren] ? op : "(#{op})" + "#{@first.compile(indent, scope)} #{@operator} #{@second.compile(indent, scope)}" end def compile_conditional(indent, scope) first, second = @first.compile(indent, scope), @second.compile(indent, scope) sym = @operator[0..1] - "(#{first} = #{first} #{sym} #{second})" + "#{first} = #{first} #{sym} #{second}" end def compile_unary(indent, scope) diff --git a/parser.rb b/parser.rb index b3119306..4f6f5d33 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', 314) +module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 315) def parse(code, show_tokens=false) # @yydebug = true @tokens = Lexer.new.tokenize(code) @@ -26,106 +26,121 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 314) ##### State transition tables begin ### clist = [ -'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,,', -'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,,,,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,,,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,-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', +'12,7,206,73,30,37,40,45,50,4,7,185,201,20,23,29,34,179,197,49,3,9,123', +'73,17,22,118,31,169,46,73,2,8,191,172,116,168,28,109,25,31,205,25,31', +'164,31,182,166,195,186,209,107,131,43,76,1,105,11,25,31,36,134,43,12', +'1,73,11,30,37,40,45,50,4,7,76,109,20,23,29,34,179,76,49,3,9,11,110,17', +'22,192,25,31,46,107,2,8,132,133,118,31,28,128,25,31,115,126,31,116,128', +'68,129,87,90,92,95,97,76,136,25,31,11,60,61,36,109,43,12,1,169,11,30', +'37,40,45,50,4,7,25,31,20,23,29,34,25,31,49,3,9,142,58,17,22,199,25,31', +'46,53,2,8,174,25,31,176,28,87,90,92,95,97,99,100,102,104,80,82,86,89', +'91,94,96,98,87,90,92,95,97,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23', +'29,34,,,49,3,9,,,17,22,212,25,31,46,,2,8,193,25,31,,28,87,90,92,95,97', +'99,100,102,104,80,82,86,89,87,90,92,95,97,,,25,31,36,,43,12,1,,11,30', +'37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,87,90,92,46,,2,8,216', +'25,31,,28,87,90,92,95,97,99,100,102,104,80,82,86,89,87,90,92,95,97,210', +'25,31,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17', +'22,87,90,92,46,,2,8,,,,,28,87,90,92,95,97,99,100,102,104,80,82,86,89', +',,,,,,,25,31,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3', +'9,,,17,22,,,,46,,2,8,,,,,28,87,90,92,95,97,99,100,102,104,80,82,86,89', +',,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,', +',17,22,,,,46,,2,8,,,,,28,87,90,92,95,97,99,100,102,104,80,82,86,89,', +',,,,,,25,31,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3', +'9,,,17,22,,,,46,,2,8,,,,,28,87,90,92,95,97,99,100,102,104,80,82,86,89', +',,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,', +',17,22,,,,46,,2,8,,,,,28,87,90,92,95,97,99,100,102,104,80,82,86,89,', +',,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,', +'17,22,,,,46,,2,8,,,,,28,87,90,92,95,97,99,100,102,104,80,82,86,89,,', +',,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17', +'22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37', +'40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,', +',,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49', +'3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11', +'30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28', +',,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29', +'34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,25,31,36,', +'43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46', +',2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37,40,45,50', +'4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,', +',,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17', +'22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37', +'40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,', +',,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34', +',,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1', +',11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,', +',28,,,,,,,,,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20', +'23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36', +',43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46', +',2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7', +',,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,', +',25,31,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17', +'22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37', +'40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,', +',,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49', +'3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11', +'30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28', +',,,,,,,,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23', +'29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,25,31,36', +',43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46', +',2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7', +',,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,', +',,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22', +',,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45', +'50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,', +',,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9', +',,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37', +'40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,', +',,,,,,,,,,,,,,25,31,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34', +',,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1', +',11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,', +',28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23', +'29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43', +'12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2', +'8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,', +'20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,', +',36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,', +',,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50', +'4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,', +',,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17', +'22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40', +'45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,', +',,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3', +'9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30', +'37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,', +',,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34', +',,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1', +',11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,', +',28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23', +'29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43', +'12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2', +'8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,', +'20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,', +',36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,', +',,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50', +'4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,', +',,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17', +'22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40', +'45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,', +',,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3', +'9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30', +'37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,', +',,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23,29,34', +',,49,3,9,,,17,22,,,,46,,2,8,,,,,28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1', +',11,30,37,40,45,50,4,7,,,20,23,29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,', +',28,,,,,,,,,,,,,,,,,,,,,,,36,,43,12,1,,11,30,37,40,45,50,4,7,,,20,23', +'29,34,,,49,3,9,,,17,22,,,,46,,2,8,,,84,,28,93,,,,,,,,,,,,,,,,,,,83,', +',36,,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,84,,120,93,,,184,,,,,,,,,,,,,,,,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,,25,31,,87,90,92,95,97,99,100,102,104,80,82,86,89,91,94', +'96,98,,101,103,79,81,85,88,,25,31,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,,25,31,,87,90,92,95,97,99,100,102,104,80,82,86', +'89,91,94,96,98,,101,103,79,81,85,88,218,25,31,93,,,,,,,,,,,,,,,,,,,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,219,-121,,,87,90,92,95,97,99,100,102,104,80,82', +'86,89,91,94,96,98,,101,103,79,81,85,88,208,84,,,,,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,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', @@ -134,18 +149,21 @@ clist = [ '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', +'94,96,98,83,101,103,79,81,85,88,-121,,,,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', +'99,100,102,104,80,82,86,89,91,94,96,98,83,101,103,79,81,85,88,-121,', +',,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,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) +'88' ] + racc_action_table = arr = Array.new(4701, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -155,145 +173,163 @@ clist = [ end clist = [ -'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) +'0,23,198,66,0,0,0,0,0,0,0,142,186,0,0,0,0,180,180,0,0,0,61,35,0,0,56', +'56,110,0,67,0,0,173,118,56,109,0,44,211,211,198,198,198,106,106,132', +'106,180,142,201,106,68,23,66,23,43,23,0,0,0,73,0,218,0,52,0,218,218', +'218,218,218,218,218,35,166,218,218,218,218,130,67,218,218,218,67,44', +'218,218,173,173,173,218,44,218,218,72,72,170,170,218,170,39,39,52,63', +'63,170,63,27,63,163,163,163,163,163,52,77,77,77,52,13,13,218,165,218', +'2,218,164,218,2,2,2,2,2,2,2,72,72,2,2,2,2,71,71,2,2,2,83,11,2,2,183', +'183,183,2,1,2,2,122,122,122,126,2,171,171,171,171,171,171,171,171,171', +'171,171,171,171,171,171,171,171,158,158,158,158,158,2,,2,6,2,,2,6,6', +'6,6,6,6,6,,,6,6,6,6,,,6,6,6,,,6,6,204,204,204,6,,6,6,175,175,175,,6', +'141,141,141,141,141,141,141,141,141,141,141,141,141,161,161,161,161', +'161,,,6,6,6,,6,8,6,,6,8,8,8,8,8,8,8,,,8,8,8,8,,,8,8,8,,,8,8,154,154', +'154,8,,8,8,213,213,213,,8,139,139,139,139,139,139,139,139,139,139,139', +'139,139,159,159,159,159,159,202,202,202,,8,,8,124,8,,8,124,124,124,124', +'124,124,124,,,124,124,124,124,,,124,124,124,,,124,124,156,156,156,124', +',124,124,,,,,124,153,153,153,153,153,153,153,153,153,153,153,153,153', +',,,,,,,124,124,124,,124,12,124,,124,12,12,12,12,12,12,12,,,12,12,12', +'12,,,12,12,12,,,12,12,,,,12,,12,12,,,,,12,145,145,145,145,145,145,145', +'145,145,145,145,145,145,,,,,,,,,,12,,12,133,12,,12,133,133,133,133,133', +'133,133,,,133,133,133,133,,,133,133,133,,,133,133,,,,133,,133,133,,', +',,133,155,155,155,155,155,155,155,155,155,155,155,155,155,,,,,,,,133', +'133,133,,133,17,133,,133,17,17,17,17,17,17,17,,,17,17,17,17,,,17,17', +'17,,,17,17,,,,17,,17,17,,,,,17,148,148,148,148,148,148,148,148,148,148', +'148,148,148,,,,,,,,,,17,,17,18,17,,17,18,18,18,18,18,18,18,,,18,18,18', +'18,,,18,18,18,,,18,18,,,,18,,18,18,,,,,18,157,157,157,157,157,157,157', +'157,157,157,157,157,157,,,,,,,,,,18,,18,22,18,,18,22,22,22,22,22,22', +'22,,,22,22,22,22,,,22,22,22,,,22,22,,,,22,,22,22,,,,,22,150,150,150', +'150,150,150,150,150,150,150,150,150,150,,,,,,,,,,22,,22,119,22,,22,119', +'119,119,119,119,119,119,,,119,119,119,119,,,119,119,119,,,119,119,,', +',119,,119,119,,,,,119,,,,,,,,,,,,,,,,,,,,,119,119,119,,119,209,119,', +'119,209,209,209,209,209,209,209,,,209,209,209,209,,,209,209,209,,,209', +'209,,,,209,,209,209,,,,,209,,,,,,,,,,,,,,,,,,,,,,,209,,209,28,209,,209', +'28,28,28,28,28,28,28,,,28,28,28,28,,,28,28,28,,,28,28,,,,28,,28,28,', +',,,28,,,,,,,,,,,,,,,,,,,,,,,28,,28,29,28,,28,29,29,29,29,29,29,29,,', +'29,29,29,29,,,29,29,29,,,29,29,,,,29,,29,29,,,,,29,,,,,,,,,,,,,,,,,', +',,,,,29,,29,33,29,,29,33,33,33,33,33,33,33,,,33,33,33,33,,,33,33,33', +',,33,33,,,,33,,33,33,,,,,33,,,,,,,,,,,,,,,,,,,,,33,33,33,,33,34,33,', +'33,34,34,34,34,34,34,34,,,34,34,34,34,,,34,34,34,,,34,34,,,,34,,34,34', +',,,,34,,,,,,,,,,,,,,,,,,,,,34,34,34,,34,207,34,,34,207,207,207,207,207', +'207,207,,,207,207,207,207,,,207,207,207,,,207,207,,,,207,,207,207,,', +',,207,,,,,,,,,,,,,,,,,,,,,,,207,,207,36,207,,207,36,36,36,36,36,36,36', +',,36,36,36,36,,,36,36,36,,,36,36,,,,36,,36,36,,,,,36,,,,,,,,,,,,,,,', +',,,,,36,36,36,,36,206,36,,36,206,206,206,206,206,206,206,,,206,206,206', +'206,,,206,206,206,,,206,206,,,,206,,206,206,,,,,206,,,,,,,,,,,,,,,,', +',,,,206,206,206,,206,115,206,,206,115,115,115,115,115,115,115,,,115', +'115,115,115,,,115,115,115,,,115,115,,,,115,,115,115,,,,,115,,,,,,,,', +',,,,,,,,,,,,,,115,,115,203,115,,115,203,203,203,203,203,203,203,,,203', +'203,203,203,,,203,203,203,,,203,203,,,,203,,203,203,,,,,203,,,,,,,,', +',,,,,,,,,,,,203,203,203,,203,113,203,,203,113,113,113,113,113,113,113', +',,113,113,113,113,,,113,113,113,,,113,113,,,,113,,113,113,,,,,113,,', +',,,,,,,,,,,,,,,,,,,,113,,113,49,113,,113,49,49,49,49,49,49,49,,,49,49', +'49,49,,,49,49,49,,,49,49,,,,49,,49,49,,,,,49,,,,,,,,,,,,,,,,,,,,,,,49', +',49,197,49,,49,197,197,197,197,197,197,197,,,197,197,197,197,,,197,197', +'197,,,197,197,,,,197,,197,197,,,,,197,,,,,,,,,,,,,,,,,,,,,197,197,197', +',197,55,197,,197,55,55,55,55,55,55,55,,,55,55,55,55,,,55,55,55,,,55', +'55,,,,55,,55,55,,,,,55,,,,,,,,,,,,,,,,,,,,,55,55,55,,55,104,55,,55,104', +'104,104,104,104,104,104,,,104,104,104,104,,,104,104,104,,,104,104,,', +',104,,104,104,,,,,104,,,,,,,,,,,,,,,,,,,,,,,104,,104,103,104,,104,103', +'103,103,103,103,103,103,,,103,103,103,103,,,103,103,103,,,103,103,,', +',103,,103,103,,,,,103,,,,,,,,,,,,,,,,,,,,,,,103,,103,60,103,,103,60', +'60,60,60,60,60,60,,,60,60,60,60,,,60,60,60,,,60,60,,,,60,,60,60,,,,', +'60,,,,,,,,,,,,,,,,,,,,,60,60,60,,60,191,60,,60,191,191,191,191,191,191', +'191,,,191,191,191,191,,,191,191,191,,,191,191,,,,191,,191,191,,,,,191', +',,,,,,,,,,,,,,,,,,,,191,191,191,,191,102,191,,191,102,102,102,102,102', +'102,102,,,102,102,102,102,,,102,102,102,,,102,102,,,,102,,102,102,,', +',,102,,,,,,,,,,,,,,,,,,,,,,,102,,102,101,102,,102,101,101,101,101,101', +'101,101,,,101,101,101,101,,,101,101,101,,,101,101,,,,101,,101,101,,', +',,101,,,,,,,,,,,,,,,,,,,,,,,101,,101,100,101,,101,100,100,100,100,100', +'100,100,,,100,100,100,100,,,100,100,100,,,100,100,,,,100,,100,100,,', +',,100,,,,,,,,,,,,,,,,,,,,,,,100,,100,99,100,,100,99,99,99,99,99,99,99', +',,99,99,99,99,,,99,99,99,,,99,99,,,,99,,99,99,,,,,99,,,,,,,,,,,,,,,', +',,,,,,,99,,99,185,99,,99,185,185,185,185,185,185,185,,,185,185,185,185', +',,185,185,185,,,185,185,,,,185,,185,185,,,,,185,,,,,,,,,,,,,,,,,,,,', +',,185,,185,182,185,,185,182,182,182,182,182,182,182,,,182,182,182,182', +',,182,182,182,,,182,182,,,,182,,182,182,,,,,182,,,,,,,,,,,,,,,,,,,,', +'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,,,,,179,,,,,,,,,,,,', +',,,,,,,,,,179,,179,98,179,,179,98,98,98,98,98,98,98,,,98,98,98,98,,', +'98,98,98,,,98,98,,,,98,,98,98,,,,,98,,,,,,,,,,,,,,,,,,,,,,,98,,98,97', +'98,,98,97,97,97,97,97,97,97,,,97,97,97,97,,,97,97,97,,,97,97,,,,97,', +'97,97,,,,,97,,,,,,,,,,,,,,,,,,,,,,,97,,97,96,97,,97,96,96,96,96,96,96', +'96,,,96,96,96,96,,,96,96,96,,,96,96,,,,96,,96,96,,,,,96,,,,,,,,,,,,', +',,,,,,,,,,96,,96,95,96,,96,95,95,95,95,95,95,95,,,95,95,95,95,,,95,95', +'95,,,95,95,,,,95,,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,,95,,95,76,95,,95', +'76,76,76,76,76,76,76,,,76,76,76,76,,,76,76,76,,,76,76,,,,76,,76,76,', +',,,76,,,,,,,,,,,,,,,,,,,,,,,76,,76,168,76,,76,168,168,168,168,168,168', +'168,,,168,168,168,168,,,168,168,168,,,168,168,,,,168,,168,168,,,,,168', +',,,,,,,,,,,,,,,,,,,,,,168,,168,78,168,,168,78,78,78,78,78,78,78,,,78', +'78,78,78,,,78,78,78,,,78,78,,,,78,,78,78,,,,,78,,,,,,,,,,,,,,,,,,,,', +',,78,,78,79,78,,78,79,79,79,79,79,79,79,,,79,79,79,79,,,79,79,79,,,79', +'79,,,,79,,79,79,,,,,79,,,,,,,,,,,,,,,,,,,,,,,79,,79,80,79,,79,80,80', +'80,80,80,80,80,,,80,80,80,80,,,80,80,80,,,80,80,,,,80,,80,80,,,,,80', +',,,,,,,,,,,,,,,,,,,,,,80,,80,81,80,,80,81,81,81,81,81,81,81,,,81,81', +'81,81,,,81,81,81,,,81,81,,,,81,,81,81,,,,,81,,,,,,,,,,,,,,,,,,,,,,,81', +',81,82,81,,81,82,82,82,82,82,82,82,,,82,82,82,82,,,82,82,82,,,82,82', +',,,82,,82,82,,,,,82,,,,,,,,,,,,,,,,,,,,,,,82,,82,127,82,,82,127,127', +'127,127,127,127,127,,,127,127,127,127,,,127,127,127,,,127,127,,,,127', +',127,127,,,,,127,,,,,,,,,,,,,,,,,,,,,,,127,,127,84,127,,127,84,84,84', +'84,84,84,84,,,84,84,84,84,,,84,84,84,,,84,84,,,,84,,84,84,,,,,84,,,', +',,,,,,,,,,,,,,,,,,,84,,84,85,84,,84,85,85,85,85,85,85,85,,,85,85,85', +'85,,,85,85,85,,,85,85,,,,85,,85,85,,,,,85,,,,,,,,,,,,,,,,,,,,,,,85,', +'85,86,85,,85,86,86,86,86,86,86,86,,,86,86,86,86,,,86,86,86,,,86,86,', +',,86,,86,86,,,,,86,,,,,,,,,,,,,,,,,,,,,,,86,,86,87,86,,86,87,87,87,87', +'87,87,87,,,87,87,87,87,,,87,87,87,,,87,87,,,,87,,87,87,,,,,87,,,,,,', +',,,,,,,,,,,,,,,,87,,87,88,87,,87,88,88,88,88,88,88,88,,,88,88,88,88', +',,88,88,88,,,88,88,,,,88,,88,88,,,,,88,,,,,,,,,,,,,,,,,,,,,,,88,,88', +'89,88,,88,89,89,89,89,89,89,89,,,89,89,89,89,,,89,89,89,,,89,89,,,,89', +',89,89,,,,,89,,,,,,,,,,,,,,,,,,,,,,,89,,89,90,89,,89,90,90,90,90,90', +'90,90,,,90,90,90,90,,,90,90,90,,,90,90,,,,90,,90,90,,,,,90,,,,,,,,,', +',,,,,,,,,,,,,90,,90,91,90,,90,91,91,91,91,91,91,91,,,91,91,91,91,,,91', +'91,91,,,91,91,,,,91,,91,91,,,,,91,,,,,,,,,,,,,,,,,,,,,,,91,,91,92,91', +',91,92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,,92,92,,,,92,,92', +'92,,,,,92,,,,,,,,,,,,,,,,,,,,,,,92,,92,93,92,,92,93,93,93,93,93,93,93', +',,93,93,93,93,,,93,93,93,,,93,93,,,,93,,93,93,,,,,93,,,,,,,,,,,,,,,', +',,,,,,,93,,93,94,93,,93,94,94,94,94,94,94,94,,,94,94,94,94,,,94,94,94', +',,94,94,,,,94,,94,94,,,,,94,,,,,,,,,,,,,,,,,,,,,,,94,,94,128,94,,94', +'128,128,128,128,128,128,128,,,128,128,128,128,,,128,128,128,,,128,128', +',,,128,,128,128,,,135,,128,135,,,,,,,,,,,,,,,,,,,135,,,128,,128,,128', +',128,,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135', +'135,,135,135,135,135,135,135,59,,59,59,,,135,,,,,,,,,,,,,,,,59,,,,,', +'62,,62,62,,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,62,59', +'59,59,59,59,59,,59,59,,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62', +'62,62,,62,62,62,62,62,62,,62,62,65,,65,65,,,,,,,,,,,,,,,,,,,65,,,,,', +'194,,194,194,,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,194', +'65,65,65,65,65,65,,65,65,,194,194,194,194,194,194,194,194,194,194,194', +'194,194,194,194,194,194,,194,194,194,194,194,194,215,194,194,215,,,', +',,,,,,,,,,,,,,,215,,,,,,200,,,200,,215,215,215,215,215,215,215,215,215', +'215,215,215,215,215,215,215,215,200,215,215,215,215,215,215,215,143', +',,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200', +',200,200,200,200,200,200,200,152,,,,,143,143,143,143,143,143,143,143', +'143,143,143,143,143,143,143,143,143,,143,143,143,143,143,143,,,,,152', +'152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,,152', +'152,152,152,152,152,189,,,189,,,,,,,,,,,,,,,,,,,189,,,,,,137,,,137,', +'189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189', +'137,189,189,189,189,189,189,,,,,137,137,137,137,137,137,137,137,137', +'137,137,137,137,137,137,137,137,,137,137,137,137,137,137,112,,,112,', +',,,,,,,,,,,,,,,,,112,,,,,,64,,,64,,112,112,112,112,112,112,112,112,112', +'112,112,112,112,112,112,112,112,64,112,112,112,112,112,112,,,,,64,64', +'64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,,64,64,64,64,64,64,42,', +',42,,,,,,,,,,,,,,,,,,,42,,,,,,70,,,70,,42,42,42,42,42,42,42,42,42,42', +'42,42,42,42,42,42,42,70,42,42,42,42,42,42,214,,,,70,70,70,70,70,70,70', +'70,70,70,70,70,70,70,70,70,70,,70,70,70,70,70,70,178,,,178,,214,214', +'214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,178,214', +'214,214,214,214,214,220,,,,178,178,178,178,178,178,178,178,178,178,178', +'178,178,178,178,178,178,,178,178,178,178,178,178,177,,,177,,220,220', +'220,220,220,220,220,220,220,220,220,220,220,220,220,220,220,177,220', +'220,220,220,220,220,,,,,177,177,177,177,177,177,177,177,177,177,177', +'177,177,177,177,177,177,,177,177,177,177,177,177,162,162,162,162,162', +'162,162,162,162,162,162,162,162,162,162,162,162,,162,162,162,162,162', +'162,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140', +'140,,140,140,140,140,140,140,138,138,138,138,138,138,138,138,138,138', +'138,138,138,138,138,138,138,,138,138,138,138,138,138,144,144,144,144', +'144,144,144,144,144,144,144,144,144,144,144,144,144,,144,144,144,144', +'144,144,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147', +'147,147,,147,147,147,147,147,147,160,160,160,160,160,160,160,160,160', +'160,160,160,160,160,160,160,160,,160,160,160,160,160,160' ] + racc_action_check = arr = Array.new(4701, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -303,133 +339,125 @@ clist = [ end racc_action_pointer = [ - -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 ] + -2, 96, 124, nil, nil, nil, 187, nil, 250, nil, + nil, 89, 376, 59, nil, nil, nil, 502, 565, nil, + nil, nil, 628, -11, nil, nil, nil, 109, 817, 880, + nil, nil, nil, 943, 1006, 10, 1132, nil, nil, 42, + nil, nil, 4356, -4, 26, nil, nil, nil, nil, 1447, + nil, nil, 52, nil, nil, 1573, -34, nil, nil, 3870, + 1762, 7, 3898, 45, 4299, 3958, -10, 17, 52, nil, + 4384, 83, 77, 49, nil, nil, 2581, 58, 2707, 2770, + 2833, 2896, 2959, 136, 3085, 3148, 3211, 3274, 3337, 3400, + 3463, 3526, 3589, 3652, 3715, 2518, 2455, 2392, 2329, 2077, + 2014, 1951, 1888, 1699, 1636, nil, -16, nil, nil, -16, + -39, nil, 4271, 1384, nil, 1258, nil, nil, -35, 691, + nil, nil, 100, nil, 313, nil, 97, 3022, 3778, nil, + 52, nil, 34, 439, nil, 3813, nil, 4214, 4570, 255, + 4546, 192, -14, 4101, 4594, 381, nil, 4618, 507, nil, + 633, nil, 4129, 318, 243, 444, 306, 570, 146, 268, + 4642, 205, 4522, 76, 61, 112, 63, nil, 2644, nil, + 38, 129, nil, 30, nil, 163, nil, 4498, 4441, 2266, + -11, nil, 2203, 93, nil, 2140, 0, nil, nil, 4186, + nil, 1825, nil, nil, 3986, nil, nil, 1510, -18, nil, + 4071, 25, 249, 1321, 156, nil, 1195, 1069, nil, 754, + nil, -21, nil, 226, 4413, 4043, nil, nil, 61, nil, + 4470, nil ] racc_action_default = [ -1, -109, -121, -32, -31, -10, -121, -67, -121, -33, -11, -113, -121, -121, -12, -68, -13, -121, -86, -69, - -65, -21, -14, -121, -121, -70, -22, -15, -121, -121, - -121, -121, -25, -16, -2, -121, -82, -26, -17, -3, + -65, -14, -121, -121, -70, -21, -15, -121, -121, -121, + -25, -22, -16, -2, -121, -82, -121, -26, -17, -3, -28, -18, -4, -117, -78, -29, -27, -19, -8, -121, -30, -20, -9, -110, -39, -121, -121, -37, -114, -121, - -121, -121, -121, -121, -87, -121, -83, -121, -121, -121, - -38, -36, -7, -121, -121, -72, -74, -121, -6, -121, + -121, -121, -121, -121, -87, -121, -83, -121, -121, -38, + -36, -7, -121, -121, -72, -74, -121, -121, -6, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -118, -121, -111, -79, -121, -121, -76, -97, -86, -71, -121, -115, -98, -21, -121, - -23, -24, -121, -66, -121, -21, -85, -121, -121, -119, - -121, 222, -64, -121, -121, -73, -121, -5, -59, -49, + -23, -24, -121, -66, -121, -85, -21, -121, -121, -119, + -121, 222, -121, -121, -73, -121, -64, -5, -59, -49, -60, -50, -121, -92, -61, -51, -40, -62, -52, -41, -53, -42, -93, -54, -43, -55, -44, -56, -45, -46, -57, -47, -58, -48, -21, -121, -121, -77, -121, -112, -121, -34, -116, -121, -63, -121, -120, -89, -88, -121, -121, -106, -121, -121, -75, -121, -121, -81, -80, -35, - -84, -121, -90, -99, -121, -107, -121, -104, -121, -95, + -84, -121, -90, -99, -121, -104, -107, -121, -121, -95, -121, -121, -121, -121, -121, -94, -121, -121, -100, -121, -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, - 59, 108, 113, 66, 106, 62, 64, 67, 126, 180, - 28, 65, nil, nil, 114, nil, nil, 113, 70, 71, + 54, 108, 117, 181, 111, 119, 57, 114, 124, 113, + 59, 130, 63, 66, 106, 62, 64, 67, 125, 180, + 65, 27, 114, nil, 113, nil, 69, 70, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 112, nil, nil, - nil, nil, nil, nil, nil, 195, nil, nil, nil, nil, - nil, nil, nil, nil, 167, 34, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 136, 137, 138, 139, 140, + nil, nil, nil, 196, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 33, 167, nil, nil, 39, + nil, nil, nil, nil, 135, 56, 137, 138, 139, 140, 141, nil, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 170, 78, nil, nil, nil, nil, nil, - 39, 64, nil, 171, nil, nil, 56, 190, nil, nil, - nil, 78, nil, nil, 121, 177, 178, 121, 127, nil, - 121, nil, 187, 188, 78, nil, 203, 78, 78, 69, - nil, nil, nil, nil, nil, 73, nil, nil, nil, nil, + 161, 162, 163, 72, 78, 77, nil, 170, nil, nil, + nil, 64, nil, 171, nil, nil, 190, nil, nil, nil, + nil, 78, 187, 188, 121, 177, 178, 121, 127, 122, + 121, nil, nil, nil, nil, nil, 78, 78, nil, nil, + 203, nil, 78, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 189, nil, nil, nil, - 122, 165, nil, nil, nil, nil, nil, 194, nil, nil, - nil, nil, nil, 200, nil, nil, nil, 78, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 214, nil, 215, nil, nil, + nil, 165, nil, nil, nil, nil, nil, 194, nil, nil, + nil, nil, nil, 200, nil, nil, nil, 78, 173, nil, + nil, nil, nil, 175, nil, nil, nil, nil, nil, nil, + nil, nil, 183, nil, nil, 214, nil, 215, nil, nil, nil, nil, nil, nil, nil, nil, 220, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 173, - nil, nil, nil, nil, 175, 127, nil, nil, 78, nil, - 78, nil, nil, nil, 183, nil, nil, nil, 78, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 121, - nil, nil, nil, 78, nil, nil, nil, 78, nil, 78, - nil, nil, nil, nil, nil, nil, 78, nil, 78, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 198, nil, nil, nil, nil, nil, nil, nil, - nil, 202, nil, nil, nil, nil, 204, nil, nil, nil, - nil, nil, nil, 211, nil, nil, 213 ] + nil, nil, nil, nil, nil, 127, nil, nil, 78, nil, + 78, nil, nil, nil, nil, nil, nil, nil, 78, nil, + nil, 198, nil, nil, nil, nil, nil, nil, nil, 121, + 202, nil, nil, 78, nil, nil, 204, 78, nil, 78, + nil, nil, 211, nil, nil, 213, 78, nil, 78 ] racc_goto_check = [ - 4, 18, 28, 32, 18, 36, 4, 18, 31, 24, - 4, 19, 30, 25, 29, 4, 4, 6, 34, 35, - 1, 4, nil, nil, 24, nil, nil, 30, 4, 4, + 4, 19, 32, 36, 28, 18, 4, 24, 18, 30, + 4, 18, 31, 25, 29, 4, 4, 6, 34, 35, + 4, 1, 24, nil, 30, nil, 4, 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, nil, - nil, nil, nil, nil, nil, 36, nil, nil, nil, nil, - nil, nil, nil, nil, 28, 2, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 4, 4, 4, 4, 4, + nil, nil, nil, 36, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 2, 28, nil, nil, 3, + nil, nil, nil, nil, 4, 3, 4, 4, 4, 4, 4, nil, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 31, 2, nil, nil, nil, nil, nil, - 3, 4, nil, 4, nil, nil, 3, 32, nil, nil, - nil, 2, nil, nil, 2, 4, 4, 2, 2, nil, - 2, nil, 19, 19, 2, nil, 18, 2, 2, 3, - nil, nil, nil, nil, nil, 3, nil, nil, nil, nil, + 4, 4, 4, 3, 2, 3, nil, 31, nil, nil, + nil, 4, nil, 4, nil, nil, 32, nil, nil, nil, + nil, 2, 19, 19, 2, 4, 4, 2, 2, 3, + 2, nil, nil, nil, nil, nil, 2, 2, nil, nil, + 18, nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, nil, nil, - 3, 2, nil, nil, nil, nil, nil, 4, nil, nil, - nil, nil, nil, 4, nil, nil, nil, 2, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 4, nil, 4, nil, nil, + nil, 2, nil, nil, nil, nil, nil, 4, nil, nil, + nil, nil, nil, 4, nil, nil, nil, 2, 3, nil, + nil, nil, nil, 3, nil, nil, nil, nil, nil, nil, + nil, nil, 3, nil, nil, 4, nil, 4, nil, nil, nil, nil, nil, nil, nil, nil, 4, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 3, - nil, nil, nil, nil, 3, 2, nil, nil, 2, nil, - 2, nil, nil, nil, 3, nil, nil, nil, 2, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 2, - nil, nil, nil, 2, nil, nil, nil, 2, nil, 2, - nil, nil, nil, nil, nil, nil, 2, nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 3, nil, nil, nil, nil, nil, nil, nil, - nil, 3, nil, nil, nil, nil, 3, nil, nil, nil, - nil, nil, nil, 3, nil, nil, 3 ] + nil, nil, nil, nil, nil, 2, nil, nil, 2, nil, + 2, nil, nil, nil, nil, nil, nil, nil, 2, nil, + nil, 3, nil, nil, nil, nil, nil, nil, nil, 2, + 3, nil, nil, 2, nil, nil, 3, 2, nil, 2, + nil, nil, 3, nil, nil, 3, 2, nil, 2 ] racc_goto_pointer = [ - nil, 20, 65, 110, -2, nil, -7, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, -58, -33, - nil, nil, nil, nil, -43, -11, nil, nil, -42, -30, - -40, -10, -53, nil, -45, -111, -125 ] + nil, 21, 65, 69, -2, nil, -6, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, -54, -43, + nil, nil, nil, nil, -45, -10, nil, nil, -40, -30, + -43, -6, -54, nil, -45, -111, -127 ] racc_goto_default = [ - nil, nil, 55, 72, 42, 48, 52, 5, 10, 14, - 16, 22, 27, 33, 38, 41, 47, 51, nil, nil, - 13, 15, 19, 25, 75, 36, 76, 44, nil, nil, + nil, nil, 55, 71, 42, 48, 52, 5, 10, 14, + 16, 21, 26, 32, 38, 41, 47, 51, nil, nil, + 13, 15, 19, 24, 74, 35, 75, 44, nil, nil, 6, nil, nil, 18, nil, nil, nil ] racc_reduce_table = [ @@ -619,10 +647,10 @@ racc_token_table = { "*=" => 56, "||=" => 57, "&&=" => 58, - "\n" => 59, - ";" => 60, - "=>" => 61, - "." => 62, + "." => 59, + "\n" => 60, + ";" => 61, + "=>" => 62, "," => 63, "[" => 64, "]" => 65, @@ -711,10 +739,10 @@ Racc_token_to_s_table = [ "\"*=\"", "\"||=\"", "\"&&=\"", + "\".\"", "\"\\n\"", "\";\"", "\"=>\"", - "\".\"", "\",\"", "\"[\"", "\"]\"", @@ -766,49 +794,49 @@ Racc_debug_parser = false # reduce 0 omitted -module_eval(<<'.,.,', 'grammar.y', 38) +module_eval(<<'.,.,', 'grammar.y', 39) def _reduce_1(val, _values, result) result = Nodes.new([]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 39) +module_eval(<<'.,.,', 'grammar.y', 40) def _reduce_2(val, _values, result) result = Nodes.new([]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 40) +module_eval(<<'.,.,', 'grammar.y', 41) def _reduce_3(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 45) +module_eval(<<'.,.,', 'grammar.y', 46) def _reduce_4(val, _values, result) result = Nodes.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 46) +module_eval(<<'.,.,', 'grammar.y', 47) def _reduce_5(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 47) +module_eval(<<'.,.,', 'grammar.y', 48) def _reduce_6(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 48) +module_eval(<<'.,.,', 'grammar.y', 49) def _reduce_7(val, _values, result) result = val[1] result @@ -849,672 +877,672 @@ module_eval(<<'.,.,', 'grammar.y', 48) # reduce 24 omitted -module_eval(<<'.,.,', 'grammar.y', 82) +module_eval(<<'.,.,', 'grammar.y', 83) def _reduce_25(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 83) +module_eval(<<'.,.,', 'grammar.y', 84) def _reduce_26(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 84) +module_eval(<<'.,.,', 'grammar.y', 85) def _reduce_27(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 85) +module_eval(<<'.,.,', 'grammar.y', 86) def _reduce_28(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 86) +module_eval(<<'.,.,', 'grammar.y', 87) def _reduce_29(val, _values, result) result = LiteralNode.new(true) result end .,., -module_eval(<<'.,.,', 'grammar.y', 87) +module_eval(<<'.,.,', 'grammar.y', 88) def _reduce_30(val, _values, result) result = LiteralNode.new(false) result end .,., -module_eval(<<'.,.,', 'grammar.y', 88) +module_eval(<<'.,.,', 'grammar.y', 89) def _reduce_31(val, _values, result) result = LiteralNode.new(nil) result end .,., -module_eval(<<'.,.,', 'grammar.y', 89) +module_eval(<<'.,.,', 'grammar.y', 90) def _reduce_32(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 90) +module_eval(<<'.,.,', 'grammar.y', 91) def _reduce_33(val, _values, result) result = LiteralNode.new(val[0]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 95) +module_eval(<<'.,.,', 'grammar.y', 96) def _reduce_34(val, _values, result) result = AssignNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 100) +module_eval(<<'.,.,', 'grammar.y', 101) def _reduce_35(val, _values, result) result = AssignNode.new(val[0], val[2], :object) result end .,., -module_eval(<<'.,.,', 'grammar.y', 105) +module_eval(<<'.,.,', 'grammar.y', 106) def _reduce_36(val, _values, result) result = ReturnNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 112) +module_eval(<<'.,.,', 'grammar.y', 113) def _reduce_37(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 113) +module_eval(<<'.,.,', 'grammar.y', 114) def _reduce_38(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 114) +module_eval(<<'.,.,', 'grammar.y', 115) def _reduce_39(val, _values, result) result = OpNode.new(val[0], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 117) +module_eval(<<'.,.,', 'grammar.y', 118) def _reduce_40(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 118) +module_eval(<<'.,.,', 'grammar.y', 119) def _reduce_41(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 119) +module_eval(<<'.,.,', 'grammar.y', 120) def _reduce_42(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 121) +module_eval(<<'.,.,', 'grammar.y', 122) def _reduce_43(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 122) +module_eval(<<'.,.,', 'grammar.y', 123) def _reduce_44(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 124) +module_eval(<<'.,.,', 'grammar.y', 125) def _reduce_45(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 125) +module_eval(<<'.,.,', 'grammar.y', 126) def _reduce_46(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 126) +module_eval(<<'.,.,', 'grammar.y', 127) def _reduce_47(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 127) +module_eval(<<'.,.,', 'grammar.y', 128) def _reduce_48(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 129) +module_eval(<<'.,.,', 'grammar.y', 130) def _reduce_49(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 130) +module_eval(<<'.,.,', 'grammar.y', 131) def _reduce_50(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 131) +module_eval(<<'.,.,', 'grammar.y', 132) def _reduce_51(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 132) +module_eval(<<'.,.,', 'grammar.y', 133) def _reduce_52(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 134) +module_eval(<<'.,.,', 'grammar.y', 135) def _reduce_53(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 135) +module_eval(<<'.,.,', 'grammar.y', 136) def _reduce_54(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 136) +module_eval(<<'.,.,', 'grammar.y', 137) def _reduce_55(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 137) +module_eval(<<'.,.,', 'grammar.y', 138) def _reduce_56(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 139) +module_eval(<<'.,.,', 'grammar.y', 140) def _reduce_57(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 140) +module_eval(<<'.,.,', 'grammar.y', 141) def _reduce_58(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 141) +module_eval(<<'.,.,', 'grammar.y', 142) def _reduce_59(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 142) +module_eval(<<'.,.,', 'grammar.y', 143) def _reduce_60(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 143) +module_eval(<<'.,.,', 'grammar.y', 144) def _reduce_61(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 144) +module_eval(<<'.,.,', 'grammar.y', 145) def _reduce_62(val, _values, result) result = OpNode.new(val[1], val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 150) +module_eval(<<'.,.,', 'grammar.y', 151) def _reduce_63(val, _values, result) result = CodeNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 151) +module_eval(<<'.,.,', 'grammar.y', 152) def _reduce_64(val, _values, result) result = CodeNode.new([], val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 155) +module_eval(<<'.,.,', 'grammar.y', 156) def _reduce_65(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 156) +module_eval(<<'.,.,', 'grammar.y', 157) def _reduce_66(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 160) +module_eval(<<'.,.,', 'grammar.y', 161) def _reduce_67(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 161) +module_eval(<<'.,.,', 'grammar.y', 162) def _reduce_68(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 162) +module_eval(<<'.,.,', 'grammar.y', 163) def _reduce_69(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 163) +module_eval(<<'.,.,', 'grammar.y', 164) def _reduce_70(val, _values, result) result = ValueNode.new(val) result end .,., -module_eval(<<'.,.,', 'grammar.y', 164) +module_eval(<<'.,.,', 'grammar.y', 165) def _reduce_71(val, _values, result) result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 165) +module_eval(<<'.,.,', 'grammar.y', 166) def _reduce_72(val, _values, result) result = ValueNode.new(val[0], [val[1]]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 169) +module_eval(<<'.,.,', 'grammar.y', 170) def _reduce_73(val, _values, result) result = AccessorNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 170) +module_eval(<<'.,.,', 'grammar.y', 171) def _reduce_74(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 174) +module_eval(<<'.,.,', 'grammar.y', 175) def _reduce_75(val, _values, result) result = IndexNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 178) +module_eval(<<'.,.,', 'grammar.y', 179) def _reduce_76(val, _values, result) result = ObjectNode.new([]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 179) +module_eval(<<'.,.,', 'grammar.y', 180) def _reduce_77(val, _values, result) result = ObjectNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 183) +module_eval(<<'.,.,', 'grammar.y', 184) def _reduce_78(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 184) +module_eval(<<'.,.,', 'grammar.y', 185) def _reduce_79(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 185) +module_eval(<<'.,.,', 'grammar.y', 186) def _reduce_80(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 186) +module_eval(<<'.,.,', 'grammar.y', 187) def _reduce_81(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 191) +module_eval(<<'.,.,', 'grammar.y', 192) def _reduce_82(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 192) +module_eval(<<'.,.,', 'grammar.y', 193) def _reduce_83(val, _values, result) result = val[1].new_instance result end .,., -module_eval(<<'.,.,', 'grammar.y', 196) +module_eval(<<'.,.,', 'grammar.y', 197) def _reduce_84(val, _values, result) result = CallNode.new(val[0], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 201) +module_eval(<<'.,.,', 'grammar.y', 202) def _reduce_85(val, _values, result) result = ArrayNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 206) +module_eval(<<'.,.,', 'grammar.y', 207) def _reduce_86(val, _values, result) result = [] result end .,., -module_eval(<<'.,.,', 'grammar.y', 207) +module_eval(<<'.,.,', 'grammar.y', 208) def _reduce_87(val, _values, result) result = val result end .,., -module_eval(<<'.,.,', 'grammar.y', 208) +module_eval(<<'.,.,', 'grammar.y', 209) def _reduce_88(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 209) +module_eval(<<'.,.,', 'grammar.y', 210) def _reduce_89(val, _values, result) result = val[0] << val[2] result end .,., -module_eval(<<'.,.,', 'grammar.y', 214) +module_eval(<<'.,.,', 'grammar.y', 215) def _reduce_90(val, _values, result) result = IfNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 217) +module_eval(<<'.,.,', 'grammar.y', 218) def _reduce_91(val, _values, result) result = IfNode.new(val[1], val[3], val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 218) +module_eval(<<'.,.,', 'grammar.y', 219) def _reduce_92(val, _values, result) result = IfNode.new(val[2], Nodes.new([val[0]])) result end .,., -module_eval(<<'.,.,', 'grammar.y', 219) +module_eval(<<'.,.,', 'grammar.y', 220) def _reduce_93(val, _values, result) result = IfNode.new(val[2], Nodes.new([val[0]]), nil, :invert) result end .,., -module_eval(<<'.,.,', 'grammar.y', 224) +module_eval(<<'.,.,', 'grammar.y', 225) def _reduce_94(val, _values, result) result = TryNode.new(val[1], val[3], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 226) +module_eval(<<'.,.,', 'grammar.y', 227) def _reduce_95(val, _values, result) result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 229) +module_eval(<<'.,.,', 'grammar.y', 230) def _reduce_96(val, _values, result) result = TryNode.new(val[1], val[3], val[4], val[6]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 233) +module_eval(<<'.,.,', 'grammar.y', 234) def _reduce_97(val, _values, result) result = ThrowNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 237) +module_eval(<<'.,.,', 'grammar.y', 238) def _reduce_98(val, _values, result) result = ParentheticalNode.new(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 242) +module_eval(<<'.,.,', 'grammar.y', 243) def _reduce_99(val, _values, result) result = WhileNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 247) +module_eval(<<'.,.,', 'grammar.y', 248) def _reduce_100(val, _values, result) result = ForNode.new(val[0], val[4], val[2]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 250) +module_eval(<<'.,.,', 'grammar.y', 251) def _reduce_101(val, _values, result) result = ForNode.new(val[0], val[6], val[2], val[4]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 253) +module_eval(<<'.,.,', 'grammar.y', 254) 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', 257) +module_eval(<<'.,.,', 'grammar.y', 258) 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', 262) +module_eval(<<'.,.,', 'grammar.y', 263) def _reduce_104(val, _values, result) result = val[3].rewrite_condition(val[1]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 264) +module_eval(<<'.,.,', 'grammar.y', 265) def _reduce_105(val, _values, result) result = val[3].rewrite_condition(val[1]).add_default(val[5]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 268) +module_eval(<<'.,.,', 'grammar.y', 269) def _reduce_106(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.y', 269) +module_eval(<<'.,.,', 'grammar.y', 270) def _reduce_107(val, _values, result) result = val[0] << val[1] result end .,., -module_eval(<<'.,.,', 'grammar.y', 273) +module_eval(<<'.,.,', 'grammar.y', 274) def _reduce_108(val, _values, result) result = IfNode.new(val[1], val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 277) +module_eval(<<'.,.,', 'grammar.y', 278) def _reduce_109(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 278) +module_eval(<<'.,.,', 'grammar.y', 279) def _reduce_110(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 282) +module_eval(<<'.,.,', 'grammar.y', 283) def _reduce_111(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 283) +module_eval(<<'.,.,', 'grammar.y', 284) def _reduce_112(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 287) +module_eval(<<'.,.,', 'grammar.y', 288) def _reduce_113(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 288) +module_eval(<<'.,.,', 'grammar.y', 289) def _reduce_114(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 292) +module_eval(<<'.,.,', 'grammar.y', 293) def _reduce_115(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 293) +module_eval(<<'.,.,', 'grammar.y', 294) def _reduce_116(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 297) +module_eval(<<'.,.,', 'grammar.y', 298) def _reduce_117(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 298) +module_eval(<<'.,.,', 'grammar.y', 299) def _reduce_118(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 302) +module_eval(<<'.,.,', 'grammar.y', 303) def _reduce_119(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.y', 303) +module_eval(<<'.,.,', 'grammar.y', 304) def _reduce_120(val, _values, result) result = nil result