This commit is contained in:
Jeremy Ashkenas
2009-12-15 11:36:24 -05:00
parent a0f4c9f3ba
commit 10c281774a
5 changed files with 313 additions and 311 deletions

View File

@@ -1,5 +1,6 @@
# TODO: switch/case statements
# Make array comprehensions expressions. (return the computed array).
# Make arbitrary-length if else if else if chains possible.
# Think of a name for this crazy thing.
# Functions:

View File

@@ -174,7 +174,7 @@ rule
;
Index:
"[" Literal "]" { result = IndexNode.new(val[1]) }
"[" Expression "]" { result = IndexNode.new(val[1]) }
;
Object:

View File

@@ -74,14 +74,14 @@ class Nodes < Node
def compile(indent='', scope=nil, opts={})
return begin_compile unless scope
@nodes.map { |n|
if opts[:return] && n == @nodes.last && !n.custom_return?
if n.statement?
if opts[:return] && n == @nodes.last
if n.statement? || n.custom_return?
"#{indent}#{n.compile(indent, scope, opts)}#{n.line_ending}"
else
"#{indent}return #{n.compile(indent, scope, opts)}#{n.line_ending}"
end
else
"#{indent}#{n.compile(indent, scope, opts)}#{n.line_ending}"
"#{indent}#{n.compile(indent, scope)}#{n.line_ending}"
end
}.join("\n")
end
@@ -109,7 +109,8 @@ class ReturnNode < Node
end
def compile(indent, scope, opts={})
"return #{@expression.compile(indent, scope)}"
compiled = @expression.compile(indent, scope)
@expression.statement? ? "#{compiled}\n#{indent}return null" : "return #{compiled}"
end
end

597
parser.rb
View File

@@ -27,15 +27,50 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 300)
clist = [
'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',
'19,188,29,177,38,42,108,184,109,182,16,49,5,117,5,167,195,105,8,115',
'55,116,49,5,67,55,58,121,49,5,75,80,15,67,87,27,11,36,178,45,30,34,39',
'43,48,4,8,58,99,20,23,28,33,78,194,46,3,9,49,5,19,103,29,185,38,42,72',
'27,58,36,16,45,45,58,67,87,71,45,165,5,111,165,5,127,115,75,80,179,87',
'132,163,170,15,163,78,27,11,36,132,45,30,34,39,43,48,4,8,78,122,20,23',
'28,33,131,5,46,3,9,54,129,19,138,29,71,38,42,75,80,49,5,16,49,5,124',
',87,190,49,5,75,80,,197,,49,5,49,5,87,204,,183,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,,,,,,,,,75,80,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,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,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,,,,,,,,,,,,,,,,,,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',
@@ -53,115 +88,81 @@ clist = [
'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,,,,,,,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,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',
'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,,,',
',,,,,,,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,,,,,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',
'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,,,,,,,,,,,,,,,,,,,,,,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,,,,,,,,,,,,,,,,,,,,,,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,79,,,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,,,,172,,,,,,,,,,,,,,,78,,,,,,,,98,74,77,82',
'84,86,88,90,92,94,96,97,73,76,81,83,85,,89,91,93,95,,192,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,,202,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,,-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,,-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,,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,,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,,-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,,,,,,,,,,,,,,,,,,',
'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,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,,,,,,,,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)
'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,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,,,,,,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,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,76,81,83,85,,78,,,,,,75,80,98,74,77,82',
'84,86,88,90,92,94,96,97,73,87,,,,,,,,,,,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,,,,,87,75,80,,,,75,80,,,,,,87,78',
',,,,78,,,98,74,77,82,84,98,74,77,82,84,78,,,,,,,87,98,74,77,82,84,,75',
'80,,,,75,80,,,,,,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,,89,91,93,95,,,75,80' ]
racc_action_table = arr = Array.new(4932, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
@@ -171,160 +172,162 @@ clist = [
end
clist = [
'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',
'0,189,65,158,0,0,0,0,0,0,0,101,101,0,0,0,0,62,62,0,0,0,158,14,0,178',
'0,138,0,0,41,171,41,165,0,189,189,52,52,109,189,36,23,52,66,52,101,101',
'24,35,65,54,0,0,158,158,0,128,110,0,1,0,138,0,1,1,1,1,1,1,1,14,27,1',
'1,1,1,110,188,1,1,1,171,171,1,35,1,171,1,1,24,23,66,23,1,23,66,35,129',
'107,24,35,162,162,45,106,106,67,162,110,110,159,134,72,162,117,1,106',
'107,1,11,1,131,1,11,11,11,11,11,11,11,134,55,11,11,11,11,69,69,11,11',
'11,13,69,11,78,11,69,11,11,107,107,60,60,11,180,180,60,,137,180,191',
'191,134,134,,191,,200,200,166,166,61,200,,166,11,,137,11,202,11,,11',
'202,202,202,202,202,202,202,61,,202,202,202,202,173,173,202,202,202',
'173,,202,,202,,202,202,137,137,22,22,202,,,,,,,,,61,61,,,,,,,,,,,,202',
',,202,92,202,,202,92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,,92',
',92,,92,92,,,,,92,,,,,,,,,,,,,,,,,,,,,,92,,,92,15,92,,92,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,91,19,,19,91,91,91,91,91,91,91,,,91,91,91,91,,,91,91,91,,,91',
',91,,91,91,,,,,91,,,,,,,,,,,,,,,,,,,,,,91,,,91,196,91,,91,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,90,192,,192,90,90,90,90,90,90,90',
',,90,90,90,90,,,90,90,90,,,90,,90,,90,90,,,,,90,,,,,,,,,,,,,,,,,,,,',
',90,,,90,28,90,,90,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,93,46,,46,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,,,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,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)
'127,93,,93,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,89,125,,125',
'89,89,89,89,89,89,89,,,89,89,89,89,,,89,89,89,,,89,,89,,89,89,,,,,89',
',,,,,,,,,,,,,,,,,,,,,89,,,89,120,89,,89,120,120,120,120,120,120,120',
',,120,120,120,120,,,120,120,120,,,120,,120,,120,120,,,,,120,,,,,,,,',
',,,,,,,,,120,120,,,120,,,120,58,120,,120,58,58,58,58,58,58,58,,,58,58',
'58,58,,,58,58,58,,,58,,58,,58,58,,,,,58,,,,,,,,,,,,,,,,,,,,,,58,,,58',
'59,58,,58,59,59,59,59,59,59,59,,,59,59,59,59,,,59,59,59,,,59,,59,,59',
'59,,,,,59,,,,,,,,,,,,,,,,,,59,59,,,59,,,59,115,59,,59,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,108,114,,114,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,64,104,,104,64,64,64,64,64,64,64,,,64,64',
'64,64,,,64,64,64,,,64,,64,,64,64,,,,,64,,,,,,,,,,,,,,,,,,,,,,64,,,64',
'103,64,,64,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,97,98,,98,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,73,95,,95,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,88,76,,76,88,88,88,88,88,88,88,,,88,88',
'88,88,,,88,88,88,,,88,,88,,88,88,,,,,88,,,,,,,,,,,,,,,,,,,,,,88,,,88',
'94,88,,88,94,94,94,94,94,94,94,,,94,94,94,94,,,94,94,94,,,94,,94,,94',
'94,,,,,94,,,,,,,,,,,,,,,,,,,,,,94,,,94,79,94,,94,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,87,86,,86,87,87,87,87,87,87,87,,,87,87,87,87,,,87,87,87,,,87',
',87,,87,87,,,,,87,,,,,,,,,,,,,,,,,,,,,,87,,,87,77,87,,87,77,77,77,77',
'77,77,77,,,77,77,77,77,,,77,77,77,,,77,,77,,77,77,,,,,77,123,,,123,',
',,,,,,,,,,,,,,,,77,123,,77,,77,,77,,123,123,123,123,123,123,123,123',
'123,123,123,123,123,123,123,123,123,,123,123,123,123,,198,123,123,198',
',,,123,,,,,,,,,,,,,,,198,,,,,,,,198,198,198,198,198,198,198,198,198',
'198,198,198,198,198,198,198,198,,198,198,198,198,,187,198,198,187,198',
',,,,,,,,,,,,,,,,,187,,,,,,,,187,187,187,187,187,187,187,187,187,187',
'187,187,187,187,187,187,187,,187,187,187,187,,199,187,187,199,187,,',
',,,,,,,,,,,,,,,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,,174,205,205,174,205,,,,,,,,,,',
',,,,,,,174,,,,,,,,174,174,174,174,174,174,174,174,174,174,174,174,174',
'174,174,174,174,,174,174,174,174,,139,174,174,139,,,,,,,,,,,,,,,,,,',
'139,,,,,,,,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139',
'139,139,,139,139,139,139,,26,139,139,26,,,,,,,,,,,,,,,,,,,26,,,,,,,',
'26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,,26,26,26,26,,51',
'26,26,51,,,,,,,,,,,,,,,,,,,51,,,,,,,,51,51,51,51,51,51,51,51,51,51,51',
'51,51,51,51,51,51,,51,51,51,51,,100,51,51,100,,,,,,,,,,,,,,,,,,,100',
',,,,,,,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100',
'100,,100,100,100,100,,135,100,100,135,,,,,,,,,,,,,,,,,,,135,,,,,,,,135',
'135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,,135',
'135,135,135,,140,135,135,140,,,,,,,,,,,,,,,,,,,140,,,,,,,,140,140,140',
'140,140,140,140,140,140,140,140,140,140,140,140,140,140,,140,140,140',
'140,,,140,140,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,147,,,147',
',,,,,,,,,,,,,,,,,,147,,,,,,,,147,147,147,147,147,147,147,147,147,147',
'147,147,147,147,147,147,147,,147,147,147,147,,112,147,147,112,,,,,,',
',,,,,,,,,,,,112,,,,,,,,112,112,112,112,112,112,112,112,112,112,112,112',
'112,112,112,112,112,,112,112,112,112,,169,112,112,169,,,,,,,,,,,,,,',
',,,,169,,,,,,,,169,169,169,169,169,169,169,169,169,169,169,169,169,169',
'169,169,169,,169,169,169,169,,168,169,169,168,,,,,,,,,,,,,,,,,,,168',
',,,,,,,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168',
'168,,168,168,168,168,,,168,168,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,126,,,126,,,,,,,,,,,,,,,,,,,126,,,,,,,,126,126,126,126,126',
'126,126,126,126,126,126,126,126,126,126,126,126,136,126,126,126,126',
',,126,126,,,,,,,,,,,136,,142,,,,,157,136,136,136,136,136,136,136,136',
'136,136,136,136,136,142,,,,,157,,,142,142,142,136,136,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,154,155,155,155,155,,,155,155,,,,,,,,,,,154,,,,',
',,153,154,154,154,154,154,154,154,154,154,154,154,154,154,,,,,,153,',
',,,,154,154,153,153,153,153,153,153,153,153,153,153,153,153,153,153',
'153,153,153,152,153,153,153,153,133,,153,153,,,,,,,,,,,152,,,,,133,',
',152,152,152,152,152,133,133,133,133,133,133,133,133,133,133,133,133',
'133,161,,,,,,152,152,,,,133,133,,,,,,,161,,,,,,,141,161,161,161,161',
'161,161,161,161,161,161,161,161,161,161,161,161,161,,141,,,,,,161,161',
'141,141,141,141,141,141,141,141,141,141,141,141,141,143,,,,,,,,,,,141',
'141,,,,,,,143,,144,,,,,145,143,143,143,143,143,143,143,143,143,143,143',
'143,143,144,,,,,145,,,144,144,144,143,143,145,145,145,145,145,145,145',
'145,145,145,145,145,145,146,,,,,150,144,144,,,,145,145,,,,,,148,146',
',,,,150,,,146,146,146,146,146,150,150,150,150,150,148,,,,,,,149,148',
'148,148,148,148,,146,146,,,,150,150,,,,,,149,,,,,,148,148,149,149,149',
'149,149,149,149,149,149,149,149,149,149,149,149,149,149,151,149,149',
'149,149,,,149,149,,,,,,,,,,,151,,,,,,,,151,151,151,151,151,151,151,151',
'151,151,151,151,151,151,151,151,151,,151,151,151,151,,,151,151' ]
racc_action_check = arr = Array.new(4932, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
@@ -335,26 +338,26 @@ clist = [
racc_action_pointer = [
-2, 58, nil, nil, nil, nil, nil, nil, 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 ]
nil, 118, nil, 142, 10, 298, 358, nil, 418, 478,
nil, nil, 158, 30, 36, nil, 3764, 18, 838, nil,
nil, nil, nil, 898, nil, 36, -13, 1078, 1138, nil,
nil, -28, 1258, nil, nil, 50, 1378, nil, nil, nil,
nil, 3817, -17, 4303, 51, 120, nil, nil, 1738, 1798,
98, 167, -37, 4032, 2098, -11, 31, 58, nil, 83,
nil, nil, 49, 2458, 2518, 2578, 2638, 3358, 133, 2818,
2878, 2938, 2998, 3058, 3118, 3178, 3238, 3298, 2698, 1618,
778, 538, 238, 1438, 2758, 2398, 2338, 2278, 2218, nil,
3870, -8, nil, 2158, 2038, nil, 51, 94, 1978, 24,
53, nil, 4141, nil, 1918, 1858, nil, 53, nil, nil,
1678, nil, nil, 3393, nil, 1558, 4359, 1498, 45, 86,
nil, 58, nil, 4614, 107, 3923, 4403, 154, 2, 3711,
3976, 4680, 4424, 4720, 4741, 4746, 4786, 4088, 4804, 4830,
4791, 4874, 4609, 4565, 4539, 4495, 4469, 4429, -2, 99,
1318, 4654, 48, nil, nil, -33, 116, nil, 4247, 4194,
nil, 28, nil, 143, 3658, nil, nil, 1198, 13, 1018,
101, nil, nil, nil, 958, nil, nil, 3499, 53, -19,
nil, 107, 718, nil, 658, nil, 598, nil, 3446, 3552,
114, nil, 178, nil, nil, 3605, nil ]
racc_action_default = [
-1, -85, -68, -31, -30, -21, -13, -69, -66, -32,
@@ -380,12 +383,12 @@ racc_action_default = [
-115, -101, -115, -100, -95, -115, -102 ]
racc_goto_table = [
51, 52, 22, 164, 68, 102, 120, 70, 13, 104,
53, 69, 65, 66, 123, 61, 125, 60, 63, 113,
51, 52, 22, 164, 68, 104, 120, 70, 13, 102,
53, 65, 69, 66, 113, 61, 125, 60, 63, nil,
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, nil, nil, 101, 104, 107, nil, 106,
102, 110, nil, nil, nil, 112, 18, nil, nil, 130,
nil, nil, nil, nil, nil, nil, nil, 123, 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,
@@ -407,12 +410,12 @@ racc_goto_table = [
nil, nil, nil, nil, nil, nil, 64 ]
racc_goto_check = [
4, 30, 3, 31, 27, 23, 17, 18, 1, 29,
4, 28, 24, 6, 5, 4, 17, 3, 4, 33,
4, 30, 3, 31, 27, 29, 17, 18, 1, 23,
4, 24, 28, 6, 33, 4, 17, 3, 4, nil,
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, nil, nil, 3, 29, 4, nil, 3,
23, 4, nil, nil, nil, 4, 2, nil, nil, 27,
nil, nil, nil, nil, nil, nil, nil, 4, 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,
@@ -434,10 +437,10 @@ racc_goto_check = [
nil, nil, nil, nil, nil, nil, 2 ]
racc_goto_pointer = [
nil, 8, 46, 2, -1, -44, -10, nil, nil, nil,
nil, 8, 46, 2, -1, nil, -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 ]
nil, nil, nil, -26, -12, nil, nil, -20, -12, -30,
0, -103, nil, -38 ]
racc_goto_default = [
nil, nil, 59, 62, 26, 32, 35, 40, 44, 50,

View File

@@ -47,15 +47,12 @@
_.each: obj, iterator, context =>
index: 0
try
return obj.forEach(iterator, context) if obj.forEach
canLoop: _.isArray(obj) or _.isArguments(obj)
return for (i=0, l=obj.length; i<l; i++) iterator.call(context, obj[i], i, obj) if canLoop
keys = _.keys(obj)
l = keys.length
for (var i=0; i<l; i++) iterator.call(context, obj[keys[i]], keys[i], obj)
catch(e)
throw e if (e != breaker)
return obj;
if obj.forEach then return obj.forEach(iterator, context).
if _.isArray(obj) or _.isArguments(obj) then return iterator.call(context, item, i, obj) for item, i in obj..
iterator.call(context, obj[key], key, obj) for key in _.keys(obj).
catch e
throw e if e aint breaker.
obj.
# Return the results of applying the iterator to each element. Use JavaScript
# 1.6's version of map, if possible.