1
0
Fork 0
mirror of https://github.com/jashkenas/coffeescript.git synced 2022-11-09 12:23:24 -05:00

array comprehensions can pass the index

This commit is contained in:
Jeremy Ashkenas 2009-12-15 11:14:14 -05:00
parent 4480900d61
commit a0f4c9f3ba
4 changed files with 400 additions and 371 deletions

View file

@ -1,4 +1,5 @@
# TODO: switch/case statements
# Make array comprehensions expressions. (return the computed array).
# Think of a name for this crazy thing.
# Functions:
@ -100,4 +101,4 @@ b: 20
print(food.capitalize()) for food in ['toast', 'wine', 'cheese'].
cooler: ['soda', 'wine', 'lemonade']
drink(bottle) for bottle in cooler if bottle is 'lemonade'.
drink(bottle) for bottle, i in cooler if even(i).

View file

@ -246,11 +246,18 @@ rule
;
For:
Expression FOR IDENTIFIER
IN Expression "." { result = ForNode.new(val[0], val[2], val[4]) }
Expression FOR IDENTIFIER
IN Expression "." { result = ForNode.new(val[0], val[4], val[2]) }
| Expression FOR
IDENTIFIER "," IDENTIFIER
IN Expression "." { result = ForNode.new(val[0], val[6], val[2], val[4]) }
| Expression FOR IDENTIFIER
IN Expression
IF Expression "." { result = ForNode.new(IfNode.new(val[6], Nodes.new([val[0]])), val[2], val[4]) }
IF Expression "." { result = ForNode.new(IfNode.new(val[6], Nodes.new([val[0]])), val[4], val[2]) }
| Expression FOR
IDENTIFIER "," IDENTIFIER
IN Expression
IF Expression "." { result = ForNode.new(IfNode.new(val[8], Nodes.new([val[0]])), val[6], val[2], val[4]) }
;
ObjectStart:

View file

@ -332,8 +332,8 @@ end
class ForNode < Node
def initialize(body, name, source, condition=nil)
@body, @name, @source, @condition = body, name, source, condition
def initialize(body, source, name, index=nil)
@body, @source, @name, @index = body, source, name, index
end
def line_ending
@ -345,14 +345,16 @@ class ForNode < Node
end
def compile(indent, scope, opts={})
svar = scope.free_variable
ivar = scope.free_variable
lvar = scope.free_variable
name_part = scope.find(@name) ? @name : "var #{@name}"
svar = scope.free_variable
ivar = scope.free_variable
lvar = scope.free_variable
name_part = scope.find(@name) ? @name : "var #{@name}"
index_name = @index ? (scope.find(@index) ? @index : "var #{@index}") : nil
source_part = "var #{svar} = #{@source.compile(indent, scope)};"
for_part = "var #{ivar}=0, #{lvar}=#{svar}.length; #{ivar}<#{lvar}; #{ivar}++"
var_part = "\n#{indent + TAB}#{name_part} = #{svar}[#{ivar}];"
"#{source_part}\n#{indent}for (#{for_part}) {#{var_part}\n#{indent + TAB}#{@body.compile(indent + TAB, scope)};\n#{indent}}"
for_part = "var #{ivar}=0, #{lvar}=#{svar}.length; #{ivar}<#{lvar}; #{ivar}++"
var_part = "\n#{indent + TAB}#{name_part} = #{svar}[#{ivar}];\n"
index_part = @index ? "#{indent + TAB}#{index_name} = #{ivar};\n" : ''
"#{source_part}\n#{indent}for (#{for_part}) {#{var_part}#{index_part}#{indent + TAB}#{@body.compile(indent + TAB, scope)};\n#{indent}}"
end
end

735
parser.rb
View file

@ -11,7 +11,7 @@ require 'racc/parser.rb'
class Parser < Racc::Parser
module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 293)
module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 300)
def parse(code, show_tokens=false)
# @yydebug = true
@tokens = Lexer.new.tokenize(code)
@ -26,19 +26,19 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 293)
##### State transition tables begin ###
clist = [
'11,193,55,87,30,34,39,43,48,4,8,159,160,20,23,28,33,49,5,46,3,9,78,55',
'19,108,29,109,38,42,127,183,49,5,16,49,5,117,5,122,192,172,8,115,55',
'116,49,5,67,55,58,111,49,5,75,80,15,121,87,27,11,36,178,45,30,34,39',
'43,48,4,8,58,105,20,23,28,33,78,181,46,3,9,49,5,19,103,29,184,38,42',
'72,27,58,36,16,45,45,58,99,87,71,45,165,5,67,165,5,170,115,75,80,132',
'87,138,163,132,15,163,78,27,11,36,67,45,30,34,39,43,48,4,8,78,167,20',
'23,28,33,131,5,46,3,9,54,129,19,177,29,71,38,42,75,80,49,5,16,49,5,182',
',87,124,49,5,75,80,,198,,49,5,49,5,87,194,,188,15,,78,27,11,36,,45,30',
'34,39,43,48,4,8,78,,20,23,28,33,49,5,46,3,9,185,,19,,29,,38,42,75,80',
',,16,30,34,39,43,48,4,,,75,80,,,,,,,3,9,,,,15,29,,27,11,36,,45,30,34',
'39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,',
',,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,',
'46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36',
'11,196,55,87,30,34,39,43,48,4,8,159,160,20,23,28,33,49,5,46,3,9,78,55',
'19,194,29,177,38,42,108,184,109,179,16,49,5,117,5,182,195,188,8,115',
'55,116,49,5,67,55,58,105,49,5,75,80,15,122,87,27,11,36,178,45,30,34',
'39,43,48,4,8,58,170,20,23,28,33,78,99,46,3,9,49,5,19,103,29,185,38,42',
'72,27,58,36,16,45,45,58,111,87,71,45,165,5,121,165,5,172,115,75,80,127',
'87,67,163,132,15,163,78,27,11,36,167,45,30,34,39,43,48,4,8,78,67,20',
'23,28,33,131,5,46,3,9,132,129,19,54,29,71,38,42,75,80,49,5,16,49,5,204',
'138,87,183,49,5,75,80,,190,,49,5,49,5,87,197,,124,15,,78,27,11,36,,45',
'30,34,39,43,48,4,8,78,,20,23,28,33,49,5,46,3,9,186,,19,,29,,38,42,75',
'80,49,5,16,30,34,39,43,48,4,,,75,80,,,,,,,3,9,,,,15,29,,27,11,36,,45',
'30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,',
',,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33',
',,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11',
@ -47,14 +47,20 @@ clist = [
'28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11',
'36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,',
',16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20',
'23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27',
'11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42',
',,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20',
'23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27',
'11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42',
',,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20',
'23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15',
',,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38',
'42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8',
',,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5',
',,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,',
'29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43',
'48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,',
',,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9',
'42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4',
'8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49',
'5,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19',
',29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39',
'43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,',
',,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9',
',,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34',
'39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,',
',,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46',
@ -64,33 +70,21 @@ clist = [
',,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,',
'45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23',
'28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11',
'36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,',
',16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23',
'28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27',
'11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42',
',,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20',
',16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20',
'23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27',
'11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42',
',,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20',
'23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27',
'11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42',
',,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20',
'23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27',
'11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42',
',,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4,8',
',,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5',
',,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,',
'29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43',
'23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15',
',,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38',
'42,,,,,16,,,,,,,,,,,,,,,,,,49,5,,,15,,,27,11,36,,45,30,34,39,43,48,4',
'8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,',
',15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29',
',38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48',
'4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,',
',,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19',
',29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43',
'48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,',
',,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,',
'19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39',
@ -111,50 +105,63 @@ clist = [
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,-113,,,87,,,,,,,,,,,,,,,,,,15,78',
',27,,36,,45,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89',
'91,93,95,,190,75,80,87,197,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84',
'86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,79,75,80,87,191,,',
',,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81',
'83,85,,89,91,93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77',
'82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,79,75,80,87',
',,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76',
'81,83,85,,89,91,93,95,,,75,80,79,,119,87,,,,,,,,,,,,,,,,,,,78,,,,,,',
',98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,49',
'5,75,80,79,,,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90',
'92,94,96,97,73,76,81,83,85,,89,91,93,95,,-113,75,80,87,,,,,,,,,,,,,',
',,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89',
'91,93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86',
'88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,79,75,80,87,,,,,,,,,',
',,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85',
',89,91,93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,,,,,,,,,,,,,,,,,,,,,,15,,,27,11,36',
',45,30,34,39,43,48,4,8,,,20,23,28,33,,,46,3,9,,,19,,29,,38,42,,,,,16',
',,,,,,,,,,,,,,,,,,,,,15,,,27,11,36,,45,30,34,39,43,48,4,8,,,20,23,28',
'33,,,46,3,9,,,19,,29,,38,42,,,,,16,192,,,87,,,,,,,,,,,,,,,,,,15,78,',
'27,,36,,45,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91',
'93,95,,-115,75,80,87,193,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86',
'88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,202,75,80,87,201,,,,',
',,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81',
'83,85,,89,91,93,95,,-115,75,80,87,203,,,,,,,,,,,,,,,,,,78,,,,,,,,98',
'74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,79,75',
'80,87,206,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96',
'97,73,76,81,83,85,,89,91,93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,',
',,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95',
',79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92',
'94,96,97,73,76,81,83,85,,89,91,93,95,,-115,75,80,87,,,,,,,,,,,,,,,,',
',,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91',
'93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88',
'90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,,75,80,79,,119,87,,,,,,',
',,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83',
'85,,89,91,93,95,49,5,75,80,79,,,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74',
'77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,,75,80,79',
',119,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96',
'97,73,76,81,83,85,,89,91,93,95,49,5,75,80,79,,,87,,,,,,,,,,,,,,,,,,',
'78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91',
'93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88',
'90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,79,75,80,87,,,,,,,,,,,,',
',,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,',
'89,91,93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84',
'86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,79,75,80,87,,,,,,',
',,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83',
'85,,89,91,93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82',
'84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,79,75,80,87,,,',
',,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81',
'83,85,,89,91,93,95,,79,75,80,87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77',
'82,84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,,75,80,79,,119',
'87,,,,,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73',
'76,81,83,85,87,89,91,93,95,49,5,75,80,,,,,,,,,,,78,,,,,,,87,98,74,77',
'82,84,86,88,90,92,94,96,97,73,76,81,83,85,,78,,,,,,75,80,98,74,77,82',
'84,,,87,,,,,,,,,,,,,,,,,75,80,78,,,,,,,,98,74,77,82,84,86,88,90,92,94',
'96,97,73,76,81,83,85,87,89,91,93,95,,,75,80,,,,,,,,,,,78,,,,,,,87,98',
'74,77,82,84,,,,,,,,,,,,,,78,,,,,,75,80,98,74,77,82,84,86,88,90,92,94',
'96,97,73,76,81,83,85,87,89,91,93,95,,,75,80,,,,,,,,,,,78,,,,,,,,98,74',
'77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,87,89,91,93,95,87,,75,80',
',,,,,,,,,,78,,,,,78,,,98,74,77,82,84,98,74,77,82,84,86,88,90,92,94,96',
'97,73,87,,,,,87,75,80,,,,75,80,,,,,,,78,,,,,78,,,98,74,77,82,84,98,74',
'77,82,84,86,88,90,92,94,96,97,73,87,,,,,,75,80,,,,75,80,,,,,,,78,,87',
'84,86,88,90,92,94,96,97,73,76,81,83,85,87,89,91,93,95,,,75,80,,,,,,',
',,,,78,,87,,,,,87,98,74,77,82,84,86,88,90,92,94,96,97,73,78,,,,,78,',
',98,74,77,75,80,98,74,77,82,84,86,88,90,92,94,96,97,73,87,,,,,,75,80',
',,,75,80,,,,,,,78,,,,,,,87,98,74,77,82,84,86,88,90,92,94,96,97,73,,',
',,,78,,,,,,75,80,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85',
'87,89,91,93,95,,,75,80,,,,,,,,,,,78,,,,,,,87,98,74,77,82,84,86,88,90',
'92,94,96,97,73,76,81,83,85,,78,,,,,,75,80,98,74,77,82,84,86,88,90,92',
'94,96,97,73,76,81,83,85,87,89,91,93,95,87,,75,80,,,,,,,,,,,78,,,,,78',
',,98,74,77,82,84,98,74,77,82,84,,,87,,,,,,,,,,,,75,80,,,,75,80,78,,87',
',,,,87,98,74,77,82,84,86,88,90,92,94,96,97,73,78,,,,,78,,,98,74,77,75',
'80,98,74,77,82,84,86,88,90,92,94,96,97,73,87,,,,,,75,80,,,,75,80,,,',
',,,78,,,,,,,87,98,74,77,82,84,86,88,90,92,94,96,97,73,,,,,,78,,,,,,75',
'80,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,87,89,91,93,95',
',,75,80,,,,,,,,,,,78,,87,,,,,87,98,74,77,82,84,86,88,90,92,94,96,97',
'73,78,,,,,78,,,98,74,77,75,80,98,74,77,82,84,86,88,90,92,94,96,97,73',
'87,,,,,,75,80,,,,75,80,,,,,,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94',
'96,97,73,,,,,,,,,,,,75,80' ]
racc_action_table = arr = Array.new(4629, nil)
',,,78,,,,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,87,89',
'91,93,95,,,75,80,,,,,,,,,,,78,,,,,,,87,98,74,77,82,84,86,88,90,92,94',
'96,97,73,,,,,,78,,,,,,75,80,98,74,77,82,84,86,88,90,92,94,96,97,73,87',
',,,,,,,,,,75,80,,,,,,,78,,,,,,,87,98,74,77,82,84,86,88,90,92,94,96,97',
'73,,,,,,78,,,,,,75,80,98,74,77,82,84,,,87,,,,,,,,,,,,,,,,,75,80,78,',
',,,,,,98,74,77,82,84,86,88,90,92,94,96,97,73,76,81,83,85,87,89,91,93',
'95,,,75,80,,,,,,,,,,,78,,,,,,,,98,74,77,82,84,,,,,,,,,,,,,,,,,,,,75',
'80' ]
racc_action_table = arr = Array.new(4873, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
@ -164,152 +171,160 @@ clist = [
end
clist = [
'0,187,65,110,0,0,0,0,0,0,0,101,101,0,0,0,0,22,22,0,0,0,110,14,0,41,0',
'41,0,0,67,171,62,62,0,187,187,52,52,55,187,123,23,52,66,52,101,101,24',
'35,65,45,0,0,110,110,0,54,107,0,1,0,159,0,1,1,1,1,1,1,1,14,36,1,1,1',
'1,107,165,1,1,1,171,171,1,35,1,171,1,1,24,23,66,23,1,23,66,35,27,158',
'24,35,162,162,129,106,106,117,162,107,107,72,134,78,162,131,1,106,158',
'1,11,1,128,1,11,11,11,11,11,11,11,134,109,11,11,11,11,69,69,11,11,11',
'13,69,11,138,11,69,11,11,158,158,166,166,11,60,60,166,,137,60,196,196',
'134,134,,196,,189,189,179,179,61,189,,179,11,,137,11,103,11,,11,103',
'103,103,103,103,103,103,61,,103,103,103,103,173,173,103,103,103,173',
',103,,103,,103,103,137,137,,,103,58,58,58,58,58,58,,,61,61,,,,,,,58',
'58,,,,103,58,,103,193,103,,103,193,193,193,193,193,193,193,,,193,193',
'193,193,,,193,193,193,,,193,,193,,193,193,,,,,193,,,,,,,,,,,,,,,,,,193',
'193,,,193,,,193,15,193,,193,15,15,15,15,15,15,15,,,15,15,15,15,,,15',
'15,15,,,15,,15,,15,15,,,,,15,,,,,,,,,,,,,,,,,,15,15,,,15,,,15,16,15',
',15,16,16,16,16,16,16,16,,,16,16,16,16,,,16,16,16,,,16,,16,,16,16,,',
',,16,,,,,,,,,,,,,,,,,,,,,,16,,,16,18,16,,16,18,18,18,18,18,18,18,,,18',
'18,18,18,,,18,18,18,,,18,,18,,18,18,,,,,18,,,,,,,,,,,,,,,,,,18,18,,',
'18,,,18,19,18,,18,19,19,19,19,19,19,19,,,19,19,19,19,,,19,19,19,,,19',
',19,,19,19,,,,,19,,,,,,,,,,,,,,,,,,,,,,19,,,19,190,19,,19,190,190,190',
'190,190,190,190,,,190,190,190,190,,,190,190,190,,,190,,190,,190,190',
',,,,190,,,,,,,,,,,,,,,,,,,,,,190,,,190,108,190,,190,108,108,108,108',
'108,108,108,,,108,108,108,108,,,108,108,108,,,108,,108,,108,108,,,,',
'108,,,,,,,,,,,,,,,,,,108,108,,,108,,,108,183,108,,108,183,183,183,183',
'183,183,183,,,183,183,183,183,,,183,183,183,,,183,,183,,183,183,,,,',
'183,,,,,,,,,,,,,,,,,,183,183,,,183,,,183,98,183,,183,98,98,98,98,98',
'98,98,,,98,98,98,98,,,98,98,98,,,98,,98,,98,98,,,,,98,,,,,,,,,,,,,,',
',,,,,,,98,,,98,178,98,,98,178,178,178,178,178,178,178,,,178,178,178',
'178,,,178,178,178,,,178,,178,,178,178,,,,,178,,,,,,,,,,,,,,,,,,178,178',
',,178,,,178,28,178,,178,28,28,28,28,28,28,28,,,28,28,28,28,,,28,28,28',
',,28,,28,,28,28,,,,,28,,,,,,,,,,,,,,,,,,,,,,28,,,28,33,28,,28,33,33',
'33,33,33,33,33,,,33,33,33,33,,,33,33,33,,,33,,33,,33,33,,,,,33,,,,,',
',,,,,,,,,,,,33,33,,,33,,,33,177,33,,33,177,177,177,177,177,177,177,',
',177,177,177,177,,,177,177,177,,,177,,177,,177,177,,,,,177,,,,,,,,,',
',,,,,,,,,,,,177,,,177,97,177,,177,97,97,97,97,97,97,97,,,97,97,97,97',
',,97,97,97,,,97,,97,,97,97,,,,,97,,,,,,,,,,,,,,,,,,,,,,97,,,97,37,97',
',97,37,37,37,37,37,37,37,,,37,37,37,37,,,37,37,37,,,37,,37,,37,37,,',
',,37,,,,,,,,,,,,,,,,,,37,37,,,37,,,37,38,37,,37,38,38,38,38,38,38,38',
',,38,38,38,38,,,38,38,38,,,38,,38,,38,38,,,,,38,,,,,,,,,,,,,,,,,,,,',
',38,,,38,96,38,,38,96,96,96,96,96,96,96,,,96,96,96,96,,,96,96,96,,,96',
',96,,96,96,,,,,96,,,,,,,,,,,,,,,,,,,,,,96,,,96,42,96,,96,42,42,42,42',
'42,42,42,,,42,42,42,42,,,42,42,42,,,42,,42,,42,42,,,,,42,,,,,,,,,,,',
',,,,,,,,,,42,,,42,95,42,,42,95,95,95,95,95,95,95,,,95,95,95,95,,,95',
'95,95,,,95,,95,,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,95,,,95,46,95,,95',
'46,46,46,46,46,46,46,,,46,46,46,46,,,46,46,46,,,46,,46,,46,46,,,,,46',
',,,,,,,,,,,,,,,,,,,,,46,,,46,94,46,,46,94,94,94,94,94,94,94,,,94,94',
'94,94,,,94,94,94,,,94,,94,,94,94,,,,,94,,,,,,,,,,,,,,,,,,,,,,94,,,94',
'93,94,,94,93,93,93,93,93,93,93,,,93,93,93,93,,,93,93,93,,,93,,93,,93',
'93,,,,,93,,,,,,,,,,,,,,,,,,,,,,93,,,93,92,93,,93,92,92,92,92,92,92,92',
',,92,92,92,92,,,92,92,92,,,92,,92,,92,92,,,,,92,,,,,,,,,,,,,,,,,,,,',
',92,,,92,160,92,,92,160,160,160,160,160,160,160,,,160,160,160,160,,',
'160,160,160,,,160,,160,,160,160,,,,,160,,,,,,,,,,,,,,,,,,160,160,,,160',
',,160,91,160,,160,91,91,91,91,91,91,91,,,91,91,91,91,,,91,91,91,,,91',
',91,,91,91,,,,,91,,,,,,,,,,,,,,,,,,,,,,91,,,91,90,91,,91,90,90,90,90',
'90,90,90,,,90,90,90,90,,,90,90,90,,,90,,90,,90,90,,,,,90,,,,,,,,,,,',
',,,,,,,,,,90,,,90,59,90,,90,59,59,59,59,59,59,59,,,59,59,59,59,,,59',
'59,59,,,59,,59,,59,59,,,,,59,,,,,,,,,,,,,,,,,,59,59,,,59,,,59,89,59',
',59,89,89,89,89,89,89,89,,,89,89,89,89,,,89,89,89,,,89,,89,,89,89,,',
',,89,,,,,,,,,,,,,,,,,,,,,,89,,,89,88,89,,89,88,88,88,88,88,88,88,,,88',
'88,88,88,,,88,88,88,,,88,,88,,88,88,,,,,88,,,,,,,,,,,,,,,,,,,,,,88,',
',88,127,88,,88,127,127,127,127,127,127,127,,,127,127,127,127,,,127,127',
'127,,,127,,127,,127,127,,,,,127,,,,,,,,,,,,,,,,,,,,,,127,,,127,104,127',
',127,104,104,104,104,104,104,104,,,104,104,104,104,,,104,104,104,,,104',
',104,,104,104,,,,,104,,,,,,,,,,,,,,,,,,,,,,104,,,104,64,104,,104,64',
'64,64,64,64,64,64,,,64,64,64,64,,,64,64,64,,,64,,64,,64,64,,,,,64,,',
',,,,,,,,,,,,,,,,,,,64,,,64,87,64,,64,87,87,87,87,87,87,87,,,87,87,87',
'87,,,87,87,87,,,87,,87,,87,87,,,,,87,,,,,,,,,,,,,,,,,,,,,,87,,,87,125',
'87,,87,125,125,125,125,125,125,125,,,125,125,125,125,,,125,125,125,',
',125,,125,,125,125,,,,,125,,,,,,,,,,,,,,,,,,125,125,,,125,,,125,120',
'125,,125,120,120,120,120,120,120,120,,,120,120,120,120,,,120,120,120',
',,120,,120,,120,120,,,,,120,,,,,,,,,,,,,,,,,,120,120,,,120,,,120,115',
'120,,120,115,115,115,115,115,115,115,,,115,115,115,115,,,115,115,115',
',,115,,115,,115,115,,,,,115,,,,,,,,,,,,,,,,,,,,,,115,,,115,114,115,',
'115,114,114,114,114,114,114,114,,,114,114,114,114,,,114,114,114,,,114',
',114,,114,114,,,,,114,,,,,,,,,,,,,,,,,,,,,,114,,,114,73,114,,114,73',
'73,73,73,73,73,73,,,73,73,73,73,,,73,73,73,,,73,,73,,73,73,,,,,73,,',
',,,,,,,,,,,,,,,,,,,73,,,73,74,73,,73,74,74,74,74,74,74,74,,,74,74,74',
'74,,,74,74,74,,,74,,74,,74,74,,,,,74,,,,,,,,,,,,,,,,,,,,,,74,,,74,75',
'74,,74,75,75,75,75,75,75,75,,,75,75,75,75,,,75,75,75,,,75,,75,,75,75',
',,,,75,,,,,,,,,,,,,,,,,,,,,,75,,,75,76,75,,75,76,76,76,76,76,76,76,',
',76,76,76,76,,,76,76,76,,,76,,76,,76,76,,,,,76,,,,,,,,,,,,,,,,,,,,,',
'76,,,76,77,76,,76,77,77,77,77,77,77,77,,,77,77,77,77,,,77,77,77,,,77',
',77,,77,77,,,,,77,,,,,,,,,,,,,,,,,,,,,,77,,,77,86,77,,77,86,86,86,86',
'86,86,86,,,86,86,86,86,,,86,86,86,,,86,,86,,86,86,,,,,86,,,,,,,,,,,',
',,,,,,,,,,86,,,86,79,86,,86,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,81,80,,80,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,83,82,,82,83,83,83,83,83,83,83',
',,83,83,83,83,,,83,83,83,,,83,,83,,83,83,,,,,83,,,,,,,,,,,,,,,,,,,,',
',83,,,83,85,83,,83,85,85,85,85,85,85,85,,,85,85,85,85,,,85,85,85,,,85',
',85,,85,85,,,,,85,,,,,,,,,,,,,,,,,,,,,,85,,,85,84,85,,85,84,84,84,84',
'84,84,84,,,84,84,84,84,,,84,84,84,,,84,,84,,84,84,,,,,84,195,,,195,',
',,,,,,,,,,,,,,,,84,195,,84,,84,,84,,195,195,195,195,195,195,195,195',
'195,195,195,195,195,195,195,195,195,,195,195,195,195,,186,195,195,186',
'195,,,,,,,,,,,,,,,,,,186,,,,,,,,186,186,186,186,186,186,186,186,186',
'186,186,186,186,186,186,186,186,,186,186,186,186,,51,186,186,51,186',
',,,,,,,,,,,,,,,,,51,,,,,,,,51,51,51,51,51,51,51,51,51,51,51,51,51,51',
'51,51,51,,51,51,51,51,,140,51,51,140,,,,,,,,,,,,,,,,,,,140,,,,,,,,140',
'140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,,140',
'140,140,140,,147,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,,,147,147,53,,53,53,,,,,,,,,,,,,,,,,,,53,,,,,,,,53,53,53,53,53,53',
'53,53,53,53,53,53,53,53,53,53,53,,53,53,53,53,53,53,53,53,168,,,168',
',,,,,,,,,,,,,,,,,,168,,,,,,,,168,168,168,168,168,168,168,168,168,168',
'168,168,168,168,168,168,168,,168,168,168,168,,139,168,168,139,,,,,,',
',,,,,,,,,,,,139,,,,,,,,139,139,139,139,139,139,139,139,139,139,139,139',
'139,139,139,139,139,,139,139,139,139,,169,139,139,169,,,,,,,,,,,,,,',
',,,,169,,,,,,,,169,169,169,169,169,169,169,169,169,169,169,169,169,169',
'169,169,169,,169,169,169,169,,135,169,169,135,,,,,,,,,,,,,,,,,,,135',
'0,189,65,158,0,0,0,0,0,0,0,101,101,0,0,0,0,22,22,0,0,0,158,14,0,188',
'0,138,0,0,41,171,41,159,0,189,189,52,52,165,189,178,23,52,66,52,101',
'101,24,35,65,36,0,0,158,158,0,55,110,0,1,0,138,0,1,1,1,1,1,1,1,14,117',
'1,1,1,1,110,27,1,1,1,171,171,1,35,1,171,1,1,24,23,66,23,1,23,66,35,45',
'107,24,35,162,162,54,106,106,123,162,110,110,67,61,128,162,72,1,106',
'107,1,11,1,109,1,11,11,11,11,11,11,11,61,129,11,11,11,11,69,69,11,11',
'11,131,69,11,13,11,69,11,11,107,107,200,200,11,166,166,200,78,134,166',
'180,180,61,61,,180,,191,191,60,60,137,191,,60,11,,134,11,202,11,,11',
'202,202,202,202,202,202,202,137,,202,202,202,202,173,173,202,202,202',
'173,,202,,202,,202,202,134,134,62,62,202,58,58,58,58,58,58,,,137,137',
',,,,,,58,58,,,,202,58,,202,90,202,,202,90,90,90,90,90,90,90,,,90,90',
'90,90,,,90,90,90,,,90,,90,,90,90,,,,,90,,,,,,,,,,,,,,,,,,,,,,90,,,90',
'15,90,,90,15,15,15,15,15,15,15,,,15,15,15,15,,,15,15,15,,,15,,15,,15',
'15,,,,,15,,,,,,,,,,,,,,,,,,15,15,,,15,,,15,16,15,,15,16,16,16,16,16',
'16,16,,,16,16,16,16,,,16,16,16,,,16,,16,,16,16,,,,,16,,,,,,,,,,,,,,',
',,,,,,,16,,,16,18,16,,16,18,18,18,18,18,18,18,,,18,18,18,18,,,18,18',
'18,,,18,,18,,18,18,,,,,18,,,,,,,,,,,,,,,,,,18,18,,,18,,,18,19,18,,18',
'19,19,19,19,19,19,19,,,19,19,19,19,,,19,19,19,,,19,,19,,19,19,,,,,19',
',,,,,,,,,,,,,,,,,,,,,19,,,19,89,19,,19,89,89,89,89,89,89,89,,,89,89',
'89,89,,,89,89,89,,,89,,89,,89,89,,,,,89,,,,,,,,,,,,,,,,,,,,,,89,,,89',
'196,89,,89,196,196,196,196,196,196,196,,,196,196,196,196,,,196,196,196',
',,196,,196,,196,196,,,,,196,,,,,,,,,,,,,,,,,,196,196,,,196,,,196,194',
'196,,196,194,194,194,194,194,194,194,,,194,194,194,194,,,194,194,194',
',,194,,194,,194,194,,,,,194,,,,,,,,,,,,,,,,,,,,,,194,,,194,192,194,',
'194,192,192,192,192,192,192,192,,,192,192,192,192,,,192,192,192,,,192',
',192,,192,192,,,,,192,,,,,,,,,,,,,,,,,,,,,,192,,,192,88,192,,192,88',
'88,88,88,88,88,88,,,88,88,88,88,,,88,88,88,,,88,,88,,88,88,,,,,88,,',
',,,,,,,,,,,,,,,,,,,88,,,88,28,88,,88,28,28,28,28,28,28,28,,,28,28,28',
'28,,,28,28,28,,,28,,28,,28,28,,,,,28,,,,,,,,,,,,,,,,,,,,,,28,,,28,33',
'28,,28,33,33,33,33,33,33,33,,,33,33,33,33,,,33,33,33,,,33,,33,,33,33',
',,,,33,,,,,,,,,,,,,,,,,,33,33,,,33,,,33,184,33,,33,184,184,184,184,184',
'184,184,,,184,184,184,184,,,184,184,184,,,184,,184,,184,184,,,,,184',
',,,,,,,,,,,,,,,,,184,184,,,184,,,184,179,184,,184,179,179,179,179,179',
'179,179,,,179,179,179,179,,,179,179,179,,,179,,179,,179,179,,,,,179',
',,,,,,,,,,,,,,,,,179,179,,,179,,,179,37,179,,179,37,37,37,37,37,37,37',
',,37,37,37,37,,,37,37,37,,,37,,37,,37,37,,,,,37,,,,,,,,,,,,,,,,,,37',
'37,,,37,,,37,38,37,,37,38,38,38,38,38,38,38,,,38,38,38,38,,,38,38,38',
',,38,,38,,38,38,,,,,38,,,,,,,,,,,,,,,,,,,,,,38,,,38,177,38,,38,177,177',
'177,177,177,177,177,,,177,177,177,177,,,177,177,177,,,177,,177,,177',
'177,,,,,177,,,,,,,,,,,,,,,,,,,,,,177,,,177,42,177,,177,42,42,42,42,42',
'42,42,,,42,42,42,42,,,42,42,42,,,42,,42,,42,42,,,,,42,,,,,,,,,,,,,,',
',,,,,,,42,,,42,160,42,,42,160,160,160,160,160,160,160,,,160,160,160',
'160,,,160,160,160,,,160,,160,,160,160,,,,,160,,,,,,,,,,,,,,,,,,160,160',
',,160,,,160,46,160,,160,46,46,46,46,46,46,46,,,46,46,46,46,,,46,46,46',
',,46,,46,,46,46,,,,,46,,,,,,,,,,,,,,,,,,,,,,46,,,46,91,46,,46,91,91',
'91,91,91,91,91,,,91,91,91,91,,,91,91,91,,,91,,91,,91,91,,,,,91,,,,,',
',,,,,,,,,,,,,,,,91,,,91,127,91,,91,127,127,127,127,127,127,127,,,127',
'127,127,127,,,127,127,127,,,127,,127,,127,127,,,,,127,,,,,,,,,,,,,,',
',,,,,,,127,,,127,125,127,,127,125,125,125,125,125,125,125,,,125,125',
'125,125,,,125,125,125,,,125,,125,,125,125,,,,,125,,,,,,,,,,,,,,,,,,125',
'125,,,125,,,125,120,125,,125,120,120,120,120,120,120,120,,,120,120,120',
'120,,,120,120,120,,,120,,120,,120,120,,,,,120,,,,,,,,,,,,,,,,,,120,120',
',,120,,,120,115,120,,120,115,115,115,115,115,115,115,,,115,115,115,115',
',,115,115,115,,,115,,115,,115,115,,,,,115,,,,,,,,,,,,,,,,,,,,,,115,',
',115,87,115,,115,87,87,87,87,87,87,87,,,87,87,87,87,,,87,87,87,,,87',
',87,,87,87,,,,,87,,,,,,,,,,,,,,,,,,,,,,87,,,87,59,87,,87,59,59,59,59',
'59,59,59,,,59,59,59,59,,,59,59,59,,,59,,59,,59,59,,,,,59,,,,,,,,,,,',
',,,,,,59,59,,,59,,,59,108,59,,59,108,108,108,108,108,108,108,,,108,108',
'108,108,,,108,108,108,,,108,,108,,108,108,,,,,108,,,,,,,,,,,,,,,,,,108',
'108,,,108,,,108,104,108,,108,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,98',
'103,,103,98,98,98,98,98,98,98,,,98,98,98,98,,,98,98,98,,,98,,98,,98',
'98,,,,,98,,,,,,,,,,,,,,,,,,,,,,98,,,98,64,98,,98,64,64,64,64,64,64,64',
',,64,64,64,64,,,64,64,64,,,64,,64,,64,64,,,,,64,,,,,,,,,,,,,,,,,,,,',
',64,,,64,97,64,,64,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,95,96,,96,95,95,95,95,95,95,95,,,95,95,95,95,,,95',
'95,95,,,95,,95,,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,95,,,95,94,95,,95',
'94,94,94,94,94,94,94,,,94,94,94,94,,,94,94,94,,,94,,94,,94,94,,,,,94',
',,,,,,,,,,,,,,,,,,,,,94,,,94,93,94,,94,93,93,93,93,93,93,93,,,93,93',
'93,93,,,93,93,93,,,93,,93,,93,93,,,,,93,,,,,,,,,,,,,,,,,,,,,,93,,,93',
'73,93,,93,73,73,73,73,73,73,73,,,73,73,73,73,,,73,73,73,,,73,,73,,73',
'73,,,,,73,,,,,,,,,,,,,,,,,,,,,,73,,,73,74,73,,73,74,74,74,74,74,74,74',
',,74,74,74,74,,,74,74,74,,,74,,74,,74,74,,,,,74,,,,,,,,,,,,,,,,,,,,',
',74,,,74,75,74,,74,75,75,75,75,75,75,75,,,75,75,75,75,,,75,75,75,,,75',
',75,,75,75,,,,,75,,,,,,,,,,,,,,,,,,,,,,75,,,75,76,75,,75,76,76,76,76',
'76,76,76,,,76,76,76,76,,,76,76,76,,,76,,76,,76,76,,,,,76,,,,,,,,,,,',
',,,,,,,,,,76,,,76,77,76,,76,77,77,77,77,77,77,77,,,77,77,77,77,,,77',
'77,77,,,77,,77,,77,77,,,,,77,,,,,,,,,,,,,,,,,,,,,,77,,,77,92,77,,77',
'92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,,92,,92,,92,92,,,,,92',
',,,,,,,,,,,,,,,,,,,,,92,,,92,79,92,,92,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,81,80,,80,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,83,82,,82,83,83,83,83',
'83,83,83,,,83,83,83,83,,,83,83,83,,,83,,83,,83,83,,,,,83,,,,,,,,,,,',
',,,,,,,,,,83,,,83,84,83,,83,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,86,85,,85,86,86,86,86,86,86,86,,,86,86',
'86,86,,,86,86,86,,,86,,86,,86,86,,,,,86,,,,,,,,,,,,,,,,,,,,,,86,,,86',
'114,86,,86,114,114,114,114,114,114,114,,,114,114,114,114,,,114,114,114',
',,114,,114,,114,114,,,,,114,187,,,187,,,,,,,,,,,,,,,,,,114,187,,114',
',114,,114,,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187',
'187,187,,187,187,187,187,,198,187,187,198,187,,,,,,,,,,,,,,,,,,198,',
',,,,,,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198',
'198,,198,198,198,198,,199,198,198,199,198,,,,,,,,,,,,,,,,,,199,,,,,',
',,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199',
',199,199,199,199,,205,199,199,205,199,,,,,,,,,,,,,,,,,,205,,,,,,,,205',
'205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,,205',
'205,205,205,,100,205,205,100,205,,,,,,,,,,,,,,,,,,100,,,,,,,,100,100',
'100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,,100,100',
'100,100,,140,100,100,140,,,,,,,,,,,,,,,,,,,140,,,,,,,,140,140,140,140',
'140,140,140,140,140,140,140,140,140,140,140,140,140,,140,140,140,140',
',26,140,140,26,,,,,,,,,,,,,,,,,,,26,,,,,,,,26,26,26,26,26,26,26,26,26',
'26,26,26,26,26,26,26,26,,26,26,26,26,,139,26,26,139,,,,,,,,,,,,,,,,',
',,139,,,,,,,,139,139,139,139,139,139,139,139,139,139,139,139,139,139',
'139,139,139,,139,139,139,139,,135,139,139,135,,,,,,,,,,,,,,,,,,,135',
',,,,,,,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135',
'135,,135,135,135,135,,174,135,135,174,,,,,,,,,,,,,,,,,,,174,,,,,,,,174',
'174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,,174',
'174,174,174,,26,174,174,26,,,,,,,,,,,,,,,,,,,26,,,,,,,,26,26,26,26,26',
'26,26,26,26,26,26,26,26,26,26,26,26,,26,26,26,26,,100,26,26,100,,,,',
',,,,,,,,,,,,,,100,,,,,,,,100,100,100,100,100,100,100,100,100,100,100',
'100,100,100,100,100,100,,100,100,100,100,,126,100,100,126,,,,,,,,,,',
',,,,,,,,126,,,,,,,,126,126,126,126,126,126,126,126,126,126,126,126,126',
'126,126,126,126,,126,126,126,126,,112,126,126,112,,,,,,,,,,,,,,,,,,',
'112,,,,,,,,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112',
'112,112,,112,112,112,112,,,112,112,63,,63,63,,,,,,,,,,,,,,,,,,,63,,',
',,,,,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,161,63,63,63',
'63,63,63,63,63,,,,,,,,,,,161,,,,,,,152,161,161,161,161,161,161,161,161',
'161,161,161,161,161,161,161,161,161,,152,,,,,,161,161,152,152,152,152',
'152,,,151,,,,,,,,,,,,,,,,,152,152,151,,,,,,,,151,151,151,151,151,151',
'151,151,151,151,151,151,151,151,151,151,151,150,151,151,151,151,,,151',
'151,,,,,,,,,,,150,,,,,,,153,150,150,150,150,150,,,,,,,,,,,,,,153,,,',
',,150,150,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153',
'153,153,149,153,153,153,153,,,153,153,,,,,,,,,,,149,,,,,,,,149,149,149',
'149,149,149,149,149,149,149,149,149,149,149,149,149,149,148,149,149',
'149,149,154,,149,149,,,,,,,,,,,148,,,,,154,,,148,148,148,148,148,154',
'154,154,154,154,154,154,154,154,154,154,154,154,146,,,,,157,148,148',
',,,154,154,,,,,,,146,,,,,157,,,146,146,146,146,146,157,157,157,157,157',
'157,157,157,157,157,157,157,157,133,,,,,,146,146,,,,157,157,,,,,,,133',
',144,,,,,136,133,133,133,133,133,133,133,133,133,133,133,133,133,144',
',,,,136,,,144,144,144,133,133,136,136,136,136,136,136,136,136,136,136',
'136,136,136,156,,,,,,144,144,,,,136,136,,,,,,,156,,,,,,,155,156,156',
'135,,135,135,135,135,,,135,135,63,,63,63,,,,,,,,,,,,,,,,,,,63,,,,,,',
',63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,,63,63,63,63,63',
'63,63,63,112,,,112,,,,,,,,,,,,,,,,,,,112,,,,,,,,112,112,112,112,112',
'112,112,112,112,112,112,112,112,112,112,112,112,,112,112,112,112,,,112',
'112,53,,53,53,,,,,,,,,,,,,,,,,,,53,,,,,,,,53,53,53,53,53,53,53,53,53',
'53,53,53,53,53,53,53,53,,53,53,53,53,53,53,53,53,147,,,147,,,,,,,,,',
',,,,,,,,,147,,,,,,,,147,147,147,147,147,147,147,147,147,147,147,147',
'147,147,147,147,147,,147,147,147,147,,51,147,147,51,,,,,,,,,,,,,,,,',
',,51,,,,,,,,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,,51,51',
'51,51,,169,51,51,169,,,,,,,,,,,,,,,,,,,169,,,,,,,,169,169,169,169,169',
'169,169,169,169,169,169,169,169,169,169,169,169,,169,169,169,169,,126',
'169,169,126,,,,,,,,,,,,,,,,,,,126,,,,,,,,126,126,126,126,126,126,126',
'126,126,126,126,126,126,126,126,126,126,,126,126,126,126,,168,126,126',
'168,,,,,,,,,,,,,,,,,,,168,,,,,,,,168,168,168,168,168,168,168,168,168',
'168,168,168,168,168,168,168,168,,168,168,168,168,,174,168,168,174,,',
',,,,,,,,,,,,,,,,174,,,,,,,,174,174,174,174,174,174,174,174,174,174,174',
'174,174,174,174,174,174,154,174,174,174,174,,,174,174,,,,,,,,,,,154',
',142,,,,,157,154,154,154,154,154,154,154,154,154,154,154,154,154,142',
',,,,157,,,142,142,142,154,154,157,157,157,157,157,157,157,157,157,157',
'157,157,157,156,,,,,,142,142,,,,157,157,,,,,,,156,,,,,,,155,156,156',
'156,156,156,156,156,156,156,156,156,156,156,,,,,,155,,,,,,156,156,155',
'155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,145',
'155,155,155,155,,,155,155,,,,,,,,,,,145,,142,,,,,141,145,145,145,145',
'145,145,145,145,145,145,145,145,145,142,,,,,141,,,142,142,142,145,145',
'141,141,141,141,141,141,141,141,141,141,141,141,141,143,,,,,,142,142',
',,,141,141,,,,,,,143,,,,,,,,143,143,143,143,143,143,143,143,143,143',
'143,143,143,,,,,,,,,,,,143,143' ]
racc_action_check = arr = Array.new(4629, nil)
'155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,161',
'155,155,155,155,,,155,155,,,,,,,,,,,161,,,,,,,153,161,161,161,161,161',
'161,161,161,161,161,161,161,161,161,161,161,161,,153,,,,,,161,161,153',
'153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,152',
'153,153,153,153,150,,153,153,,,,,,,,,,,152,,,,,150,,,152,152,152,152',
'152,150,150,150,150,150,,,133,,,,,,,,,,,,152,152,,,,150,150,133,,144',
',,,,136,133,133,133,133,133,133,133,133,133,133,133,133,133,144,,,,',
'136,,,144,144,144,133,133,136,136,136,136,136,136,136,136,136,136,136',
'136,136,149,,,,,,144,144,,,,136,136,,,,,,,149,,,,,,,,149,149,149,149',
'149,149,149,149,149,149,149,149,149,149,149,149,149,141,149,149,149',
'149,,,149,149,,,,,,,,,,,141,,,,,,,143,141,141,141,141,141,141,141,141',
'141,141,141,141,141,,,,,,143,,,,,,141,141,143,143,143,143,143,143,143',
'143,143,143,143,143,143,145,,,,,,,,,,,143,143,,,,,,,145,,,,,,,148,145',
'145,145,145,145,145,145,145,145,145,145,145,145,,,,,,148,,,,,,145,145',
'148,148,148,148,148,,,151,,,,,,,,,,,,,,,,,148,148,151,,,,,,,,151,151',
'151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,146,151',
'151,151,151,,,151,151,,,,,,,,,,,146,,,,,,,,146,146,146,146,146,,,,,',
',,,,,,,,,,,,,,146,146' ]
racc_action_check = arr = Array.new(4873, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
@ -320,121 +335,109 @@ clist = [
racc_action_pointer = [
-2, 58, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 118, nil, 142, 10, 298, 358, nil, 418, 478,
nil, nil, -37, 30, 36, nil, 3802, 44, 838, nil,
nil, nil, nil, 898, nil, 36, 18, 1078, 1138, nil,
nil, -33, 1258, nil, nil, -3, 1378, nil, nil, nil,
nil, 3319, -17, 3481, 57, 27, nil, nil, 209, 1798,
101, 167, -22, 4017, 2098, -11, 31, -19, nil, 83,
nil, nil, 47, 2458, 2518, 2578, 2638, 2698, 101, 2818,
2878, 2938, 2998, 3058, 3178, 3118, 2758, 2158, 1918, 1858,
1738, 1678, 1558, 1498, 1438, 1318, 1198, 1018, 718, nil,
3855, -8, nil, 178, 2038, nil, 51, 53, 598, 117,
-2, nil, 3961, nil, 2398, 2338, nil, 45, nil, nil,
2278, nil, nil, -21, nil, 2218, 3908, 1978, 110, 92,
nil, 51, nil, 4369, 107, 3696, 4395, 154, 120, 3590,
3372, 4531, 4526, 4571, 4390, 4505, 4324, 3425, 4279, 4235,
4165, 4121, 4087, 4191, 4284, 4461, 4435, 4329, 94, 50,
1618, 4061, 48, nil, nil, 12, 98, nil, 3537, 3643,
nil, 28, nil, 143, 3749, nil, nil, 958, 778, 116,
nil, nil, nil, 658, nil, nil, 3266, -19, nil, 114,
538, nil, nil, 238, nil, 3213, 107, nil, nil ]
nil, 118, nil, 145, 10, 298, 358, nil, 418, 478,
nil, nil, -37, 30, 36, nil, 3651, 24, 838, nil,
nil, nil, nil, 898, nil, 36, -3, 1078, 1138, nil,
nil, -28, 1258, nil, nil, 44, 1378, nil, nil, nil,
nil, 4034, -17, 3925, 104, 45, nil, nil, 209, 1798,
116, 107, 158, 3813, 2098, -11, 31, 62, nil, 83,
nil, nil, 51, 2458, 2518, 2578, 2638, 2698, 146, 2818,
2878, 2938, 2998, 3058, 3118, 3178, 3238, 1738, 778, 538,
238, 1438, 2758, 2398, 2338, 2278, 2218, 2158, 2038, nil,
3545, -8, nil, 1978, 1918, nil, 51, 94, 1858, 107,
53, nil, 3869, nil, 3298, 1678, nil, 10, nil, nil,
1618, nil, nil, 45, nil, 1558, 4140, 1498, 101, 120,
nil, 78, nil, 4535, 154, 3757, 4561, 167, 2, 3704,
3598, 4645, 4311, 4671, 4556, 4711, 4815, 3981, 4737, 4601,
4501, 4771, 4496, 4452, 4290, 4382, 4356, 4316, -2, 21,
1318, 4426, 48, nil, nil, -27, 101, nil, 4193, 4087,
nil, 28, nil, 143, 4246, nil, nil, 1198, 29, 1018,
107, nil, nil, nil, 958, nil, nil, 3333, 0, -19,
nil, 114, 718, nil, 658, nil, 598, nil, 3386, 3439,
98, nil, 178, nil, nil, 3492, nil ]
racc_action_default = [
-1, -85, -68, -31, -30, -21, -13, -69, -66, -32,
-14, -113, -15, -113, -81, -113, -113, -16, -2, -113,
-64, -17, -3, -113, -77, -18, -4, -109, -113, -26,
-24, -19, -8, -113, -25, -9, -101, -113, -113, -27,
-10, -113, -113, -28, -11, -105, -113, -67, -29, -20,
-12, -86, -113, -113, -113, -113, -71, -73, -113, -113,
-113, -37, -7, -113, -6, -82, -113, -113, -75, -113,
-78, -103, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -110,
-35, -113, -70, -113, -85, -102, -113, -38, -113, -113,
-36, -106, -96, -84, -113, -113, -111, -20, -23, -22,
-113, 199, -72, -113, -63, -113, -5, -113, -113, -113,
-76, -20, -104, -51, -40, -60, -52, -41, -113, -91,
-14, -115, -15, -115, -81, -115, -115, -16, -2, -115,
-64, -17, -3, -115, -77, -18, -4, -111, -115, -26,
-24, -19, -8, -115, -25, -9, -103, -115, -115, -27,
-10, -115, -115, -28, -11, -107, -115, -67, -29, -20,
-12, -86, -115, -115, -115, -115, -71, -73, -115, -115,
-115, -37, -7, -115, -6, -82, -115, -115, -75, -115,
-78, -105, -115, -115, -115, -115, -115, -115, -115, -115,
-115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-115, -115, -115, -115, -115, -115, -115, -115, -115, -112,
-35, -115, -70, -115, -85, -104, -115, -38, -115, -115,
-36, -108, -96, -84, -115, -115, -113, -20, -23, -22,
-115, 207, -72, -115, -63, -115, -5, -115, -115, -115,
-76, -20, -106, -51, -40, -60, -52, -41, -115, -91,
-61, -53, -42, -54, -43, -55, -44, -92, -45, -56,
-46, -57, -47, -58, -48, -59, -49, -50, -39, -113,
-113, -33, -113, -107, -97, -20, -113, -65, -88, -87,
-112, -113, -74, -113, -34, -80, -79, -113, -113, -113,
-83, -108, -62, -113, -89, -98, -113, -113, -94, -113,
-113, -99, -93, -113, -90, -113, -113, -100, -95 ]
-46, -57, -47, -58, -48, -59, -49, -50, -39, -115,
-115, -33, -115, -109, -97, -20, -115, -65, -88, -87,
-114, -115, -74, -115, -34, -80, -79, -115, -115, -115,
-115, -83, -110, -62, -115, -89, -98, -115, -115, -115,
-94, -115, -115, -99, -115, -93, -115, -90, -115, -115,
-115, -101, -115, -100, -95, -115, -102 ]
racc_goto_table = [
18, 52, 164, 70, 68, 22, 102, 120, 104, 13,
69, 65, 66, 123, 113, nil, nil, 125, nil, nil,
60, nil, 64, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, 102, 101, 104,
nil, nil, 106, nil, nil, nil, nil, nil, nil, 130,
nil, nil, 114, 118, nil, nil, nil, nil, 180, nil,
64, nil, 64, 118, nil, nil, nil, nil, nil, 128,
51, 52, 22, 164, 68, 102, 120, 70, 13, 104,
53, 69, 65, 66, 123, 61, 125, 60, 63, 113,
nil, nil, nil, nil, nil, nil, nil, 100, nil, nil,
nil, nil, nil, nil, nil, 101, 102, 107, nil, 106,
104, 110, nil, nil, nil, 112, 18, nil, nil, 130,
nil, nil, nil, nil, nil, nil, nil, nil, nil, 181,
nil, nil, nil, 126, nil, nil, nil, nil, 64, nil,
nil, nil, 133, 134, 135, 136, 137, nil, 139, 140,
141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, 158, 114, 118,
nil, nil, 161, 51, 162, nil, 64, nil, 64, 118,
166, 175, 176, 168, 169, 128, nil, nil, nil, nil,
nil, nil, 171, nil, nil, nil, 174, 173, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 64, nil, nil, 162, nil, 64, 175, 176, nil,
nil, nil, nil, 166, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, 171, nil, 51, nil, nil,
173, nil, nil, nil, nil, nil, nil, 53, nil, nil,
nil, nil, 61, nil, nil, 63, nil, nil, nil, nil,
nil, nil, nil, nil, 100, nil, nil, nil, nil, nil,
nil, nil, 114, nil, 107, 179, 64, nil, 110, nil,
nil, 64, 112, 64, nil, nil, nil, nil, nil, 64,
nil, nil, nil, 187, nil, nil, nil, 64, 189, 64,
126, nil, nil, nil, nil, nil, 64, nil, 196, 133,
134, 135, 136, 137, nil, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, 158, nil, nil, nil, nil, 161,
51, nil, nil, nil, nil, nil, nil, nil, nil, nil,
168, 169, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 174, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 186, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 195 ]
nil, nil, nil, nil, nil, nil, nil, 64, nil, nil,
nil, nil, 64, nil, nil, nil, nil, nil, nil, nil,
nil, nil, 180, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 187, nil, nil, nil,
nil, 189, nil, nil, nil, nil, 191, nil, nil, nil,
nil, 198, nil, 199, nil, nil, nil, nil, 200, nil,
nil, 205, nil, nil, nil, nil, nil, nil, 114, nil,
nil, nil, 64, nil, nil, nil, nil, 64, nil, 64,
nil, nil, nil, nil, nil, nil, 64, nil, nil, nil,
nil, nil, nil, nil, nil, 64, nil, 64, nil, nil,
nil, nil, nil, nil, nil, nil, 64 ]
racc_goto_check = [
2, 30, 31, 18, 27, 3, 23, 17, 29, 1,
28, 24, 6, 5, 33, nil, nil, 17, nil, nil,
3, nil, 2, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, 23, 3, 29,
nil, nil, 3, nil, nil, nil, nil, nil, nil, 27,
nil, nil, 2, 2, nil, nil, nil, nil, 31, nil,
2, nil, 2, 2, nil, nil, nil, nil, nil, 2,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 2, nil, nil, 30, nil, 2, 18, 18, nil,
nil, nil, nil, 3, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, 3, nil, 4, nil, nil,
3, nil, nil, nil, nil, nil, nil, 4, nil, nil,
nil, nil, 4, nil, nil, 4, nil, nil, nil, nil,
nil, nil, nil, nil, 4, nil, nil, nil, nil, nil,
nil, nil, 2, nil, 4, 3, 2, nil, 4, nil,
nil, 2, 4, 2, nil, nil, nil, nil, nil, 2,
nil, nil, nil, 3, nil, nil, nil, 2, 3, 2,
4, nil, nil, nil, nil, nil, 2, nil, 3, 4,
4, 4, 4, 4, nil, 4, 4, 4, 4, 4,
4, 30, 3, 31, 27, 23, 17, 18, 1, 29,
4, 28, 24, 6, 5, 4, 17, 3, 4, 33,
nil, nil, nil, nil, nil, nil, nil, 4, nil, nil,
nil, nil, nil, nil, nil, 3, 23, 4, nil, 3,
29, 4, nil, nil, nil, 4, 2, nil, nil, 27,
nil, nil, nil, nil, nil, nil, nil, nil, nil, 31,
nil, nil, nil, 4, nil, nil, nil, nil, 2, nil,
nil, nil, 4, 4, 4, 4, 4, nil, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, nil, nil, nil, nil, 4,
4, nil, nil, nil, nil, nil, nil, nil, nil, nil,
4, 4, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 4, nil, nil, nil, nil, nil, nil,
4, 4, 4, 4, 4, 4, 4, 4, 2, 2,
nil, nil, 4, 4, 30, nil, 2, nil, 2, 2,
3, 18, 18, 4, 4, 2, nil, nil, nil, nil,
nil, nil, 3, nil, nil, nil, 4, 3, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, 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, nil, nil, nil, nil, nil, 4 ]
nil, nil, nil, nil, nil, nil, nil, 2, nil, nil,
nil, nil, 2, nil, nil, nil, nil, nil, nil, nil,
nil, nil, 3, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, 4, nil, nil, nil,
nil, 3, nil, nil, nil, nil, 3, nil, nil, nil,
nil, 4, nil, 4, nil, nil, nil, nil, 3, nil,
nil, 4, nil, nil, nil, nil, nil, nil, 2, nil,
nil, nil, 2, nil, nil, nil, nil, 2, nil, 2,
nil, nil, nil, nil, nil, nil, 2, nil, nil, nil,
nil, nil, nil, nil, nil, 2, nil, 2, nil, nil,
nil, nil, nil, nil, nil, nil, 2 ]
racc_goto_pointer = [
nil, 9, 0, 5, 126, -45, -11, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, -46, -21, nil,
nil, nil, nil, -29, -12, nil, nil, -20, -14, -27,
0, -104, nil, -38 ]
nil, 8, 46, 2, -1, -44, -10, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, -47, -17, nil,
nil, nil, nil, -30, -11, nil, nil, -20, -13, -26,
0, -103, nil, -33 ]
racc_goto_default = [
nil, nil, 59, 62, 26, 32, 35, 40, 44, 50,
@ -544,22 +547,24 @@ racc_reduce_table = [
5, 82, :_reduce_98,
6, 83, :_reduce_99,
8, 83, :_reduce_100,
1, 93, :_reduce_101,
2, 93, :_reduce_102,
1, 94, :_reduce_103,
2, 94, :_reduce_104,
1, 96, :_reduce_105,
2, 96, :_reduce_106,
1, 98, :_reduce_107,
2, 98, :_reduce_108,
1, 99, :_reduce_109,
2, 99, :_reduce_110,
1, 100, :_reduce_111,
2, 100, :_reduce_112 ]
8, 83, :_reduce_101,
10, 83, :_reduce_102,
1, 93, :_reduce_103,
2, 93, :_reduce_104,
1, 94, :_reduce_105,
2, 94, :_reduce_106,
1, 96, :_reduce_107,
2, 96, :_reduce_108,
1, 98, :_reduce_109,
2, 98, :_reduce_110,
1, 99, :_reduce_111,
2, 99, :_reduce_112,
1, 100, :_reduce_113,
2, 100, :_reduce_114 ]
racc_reduce_n = 113
racc_reduce_n = 115
racc_shift_n = 199
racc_shift_n = 207
racc_token_table = {
false => 0,
@ -1367,102 +1372,116 @@ module_eval(<<'.,.,', 'grammar.y', 244)
module_eval(<<'.,.,', 'grammar.y', 249)
def _reduce_99(val, _values, result)
result = ForNode.new(val[0], val[2], val[4])
result = ForNode.new(val[0], val[4], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 252)
def _reduce_100(val, _values, result)
result = ForNode.new(IfNode.new(val[6], Nodes.new([val[0]])), val[2], val[4])
result = ForNode.new(val[0], val[6], val[2], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 256)
module_eval(<<'.,.,', 'grammar.y', 255)
def _reduce_101(val, _values, result)
result = nil
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', 259)
def _reduce_102(val, _values, result)
result = nil
result = ForNode.new(IfNode.new(val[8], Nodes.new([val[0]])), val[6], val[2], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 261)
module_eval(<<'.,.,', 'grammar.y', 263)
def _reduce_103(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 262)
module_eval(<<'.,.,', 'grammar.y', 264)
def _reduce_104(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 266)
module_eval(<<'.,.,', 'grammar.y', 268)
def _reduce_105(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 267)
module_eval(<<'.,.,', 'grammar.y', 269)
def _reduce_106(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 271)
module_eval(<<'.,.,', 'grammar.y', 273)
def _reduce_107(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 272)
module_eval(<<'.,.,', 'grammar.y', 274)
def _reduce_108(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 276)
module_eval(<<'.,.,', 'grammar.y', 278)
def _reduce_109(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 277)
module_eval(<<'.,.,', 'grammar.y', 279)
def _reduce_110(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 281)
module_eval(<<'.,.,', 'grammar.y', 283)
def _reduce_111(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 282)
module_eval(<<'.,.,', 'grammar.y', 284)
def _reduce_112(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 288)
def _reduce_113(val, _values, result)
result = nil
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 289)
def _reduce_114(val, _values, result)
result = nil
result
end
.,.,
def _reduce_none(val, _values, result)
val[0]
end