Files
coffeescript/lib/coffee_script/parser.rb
2009-12-17 22:22:35 -05:00

1552 lines
51 KiB
Ruby

#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.6
# from Racc grammer file "".
#
require 'racc/parser.rb'
module CoffeeScript
class Parser < Racc::Parser
module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 320)
# Lex and parse a CoffeeScript.
def parse(code)
# Uncomment the following line to enable grammar debugging, in combination
# with the -g flag in the Rake build task.
# @yydebug = true
@tokens = Lexer.new.tokenize(code)
do_parse
end
# Retrieve the next token from the list.
def next_token
@tokens.shift
end
# Raise a custom error class that knows about line numbers.
def on_error(error_token_id, error_value, value_stack)
raise ParseError.new(token_to_str(error_token_id), error_value, value_stack)
end
...end grammar.y/module_eval...
##### State transition tables begin ###
clist = [
'10,188,54,201,26,34,40,44,49,2,6,180,77,18,21,25,30,68,69,47,1,8,61',
'54,17,20,176,31,39,61,50,204,7,12,54,193,27,35,33,131,132,185,130,200',
'27,35,27,35,6,120,181,27,35,118,58,54,27,35,190,27,35,38,172,48,10,5',
'75,14,26,34,40,44,49,2,6,58,176,18,21,25,30,27,35,47,1,8,58,177,17,20',
'55,31,39,61,50,57,7,12,186,27,35,48,33,5,195,14,114,58,95,98,101,55',
'95,98,101,103,105,107,108,110,86,88,92,94,97,38,121,48,10,5,134,14,26',
'34,40,44,49,2,6,27,35,18,21,25,30,27,35,47,1,8,27,35,17,20,125,31,39',
'127,50,140,7,12,206,27,35,,33,95,98,101,103,105,107,108,110,86,88,92',
'94,97,100,102,104,106,,27,35,,164,38,,48,10,5,165,14,26,34,40,44,49',
'2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,95,98,101,,33,95',
'98,101,103,105,107,108,110,86,88,92,94,97,,27,35,,164,187,27,35,,38',
'179,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31',
'39,,50,,7,12,211,27,35,,33,95,98,101,103,105,107,108,110,86,88,92,94',
'97,27,35,,164,,162,205,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18',
'21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,95,98,101,103,105',
'107,108,110,86,88,92,94,97,95,98,101,103,105,,,,,38,,48,10,5,,14,26',
'34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,',
'33,95,98,101,103,105,107,108,110,86,88,92,94,97,95,98,101,103,105,,',
'27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17',
'20,,31,39,,50,,7,12,,,,,33,95,98,101,103,105,107,108,110,86,88,92,94',
'97,95,98,101,103,105,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21',
'25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,95,98,101,103,105,107',
'108,110,86,88,92,94,97,95,98,101,103,105,,,,,38,,48,10,5,,14,26,34,40',
'44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,95',
'98,101,103,105,107,108,110,86,88,92,94,97,,,,,,,,,,38,,48,10,5,,14,26',
'34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,',
'33,,,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18',
'21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,',
',,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20',
',31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26',
'34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,',
'33,,,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18',
'21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,',
',,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20',
',31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34',
'40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33',
',,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21',
'25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,27',
'35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20',
',31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34',
'40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33',
',,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21',
'25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,27',
'35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20',
',31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34',
'40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33',
',,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25',
'30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38',
',48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39',
',50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49',
'2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,',
',,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1',
'8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5',
',14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7',
'12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,',
',18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,',
',,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1',
'8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5',
',14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7',
'12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,',
',18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,',
',,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1',
'8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5',
',14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7',
'12,,,,,33,,,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2',
'6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,',
',,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8',
',,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14',
'26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,',
',,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18',
'21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,',
',,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20',
',31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26',
'34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,',
'33,,,,,,,,,,,,,,,,,,,,,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18',
'21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,',
',,27,35,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,',
'17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14',
'26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,',
',,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18',
'21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,',
',,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20',
',31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34',
'40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33',
',,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25',
'30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38',
',48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39',
',50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49',
'2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,',
',,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1',
'8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5',
',14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7',
'12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,',
',18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,',
',,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,',
'17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14',
'26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,',
',,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18',
'21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,',
',,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20',
',31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34',
'40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33',
',,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25',
'30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38',
',48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39',
',50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49',
'2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,',
',,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1',
'8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5',
',14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7',
'12,,,,,33,,,,,,,,,,,,,,,,,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,',
',18,21,25,30,,,47,1,8,,,17,20,,31,39,,50,,7,12,,,,,33,,,,,,,,,,,,,,',
',,,,,,,,38,,48,10,5,,14,26,34,40,44,49,2,6,,,18,21,25,30,,,47,1,8,,',
'17,20,,31,39,,50,,7,12,90,,,99,33,,,,,,,,,,,,,,,,,,89,,,,,38,,48,,5',
',14,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102,104,106,,109',
'85,87,91,93,96,90,,,99,167,,166,,,,,,,,,,,,,,,,89,,,,,,,,,,,,95,98,101',
'103,105,107,108,110,86,88,92,94,97,100,102,104,106,,109,85,87,91,93',
'96,90,,123,99,,,196,,,,,,,,,,,,,,,,89,,,,,,,90,,123,99,,95,98,101,103',
'105,107,108,110,86,88,92,94,97,100,102,104,106,89,109,85,87,91,93,96',
',27,35,,,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102,104,106',
',109,85,87,91,93,96,,27,35,90,,123,99,,95,98,101,103,105,107,108,110',
'86,88,92,94,97,100,102,104,106,89,109,85,87,91,93,96,90,,123,99,,95',
'98,101,103,105,107,108,110,86,88,92,94,97,100,102,104,106,89,109,85',
'87,91,93,96,202,27,35,99,,95,98,101,103,105,107,108,110,86,88,92,94',
'97,100,102,104,106,89,109,85,87,91,93,96,213,27,35,99,,95,98,101,103',
'105,107,108,110,86,88,92,94,97,100,102,104,106,89,109,85,87,91,93,96',
'203,,,,,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102,104,106',
',109,85,87,91,93,96,214,90,,,99,,95,98,101,103,105,107,108,110,86,88',
'92,94,97,100,102,104,106,89,109,85,87,91,93,96,90,,,99,,95,98,101,103',
'105,107,108,110,86,88,92,94,97,100,102,104,106,89,109,85,87,91,93,96',
'-115,,,99,,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102,104',
'106,89,109,85,87,91,93,96,-115,,,99,,95,98,101,103,105,107,108,110,86',
'88,92,94,97,100,102,104,106,89,109,85,87,91,93,96,90,,,99,,95,98,101',
'103,105,107,108,110,86,88,92,94,97,100,102,104,106,89,109,85,87,91,93',
'96,90,,,99,,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102,104',
'106,89,109,85,87,91,93,96,90,,,99,,95,98,101,103,105,107,108,110,86',
'88,92,94,97,100,102,104,106,89,109,85,87,91,93,96,90,,,99,,95,98,101',
'103,105,107,108,110,86,88,92,94,97,100,102,104,106,89,109,85,87,91,93',
'96,-115,,,99,,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102,104',
'106,89,109,85,87,91,93,96,,,,,,95,98,101,103,105,107,108,110,86,88,92',
'94,97,100,102,104,106,89,109,85,87,91,93,96,,,,,,95,98,101,103,105,107',
'108,110,86,88,92,94,97,100,102,104,106,89,109,85,87,91,93,96,,,,,,95',
'98,101,103,105,107,108,110,86,88,92,94,97,100,102,104,106,89,109,85',
'87,91,93,96,,,,,,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102',
'104,106,,109,85,87,91,93,96,95,98,101,103,105,107,108,110,86,88,92,94',
'97,100,102,104,106,,109,85,87,91,93,96,95,98,101,103,105,107,108,110',
'86,88,92,94,97,100,102,104,106,,109,85,87,91,93,96,95,98,101,103,105',
'107,108,110,86,88,92,94,97,100,102,104,106,,109,85,87,91,93,96,95,98',
'101,103,105,107,108,110,86,88,92,94,97,100,102,104,106,,109,85,87,91',
'93,96,95,98,101,103,105,107,108,110,86,88,92,94,97,100,102,104,106,',
'109,85,87,91,93,96' ]
racc_action_table = arr = Array.new(4915, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
arr[idx] = i.to_i unless i.empty?
idx += 1
end
end
clist = [
'0,174,73,192,0,0,0,0,0,0,0,140,31,0,0,0,0,15,15,0,0,0,120,43,0,0,174',
'0,0,119,0,195,0,0,72,178,178,178,0,76,76,171,75,192,192,192,60,60,21',
'60,140,79,79,60,73,4,81,81,174,0,0,0,126,0,213,0,29,0,213,213,213,213',
'213,213,213,43,129,213,213,213,213,76,76,213,213,213,72,131,213,213',
'72,213,213,5,213,4,213,213,171,171,171,21,213,21,181,21,54,4,154,154',
'154,4,143,143,143,143,143,143,143,143,143,143,143,143,143,213,61,213',
'204,213,80,213,204,204,204,204,204,204,204,207,207,204,204,204,204,67',
'67,204,204,204,42,42,204,204,67,204,204,69,204,89,204,204,198,198,198',
',204,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116',
'116,,115,115,,115,204,,204,7,204,115,204,7,7,7,7,7,7,7,,,7,7,7,7,,,7',
'7,7,,,7,7,,7,7,,7,,7,7,156,156,156,,7,139,139,139,139,139,139,139,139',
'139,139,139,139,139,,133,133,,133,173,173,173,,7,133,7,10,7,,7,10,10',
'10,10,10,10,10,,,10,10,10,10,,,10,10,10,,,10,10,,10,10,,10,,10,10,208',
'208,208,,10,151,151,151,151,151,151,151,151,151,151,151,151,151,112',
'112,,112,,112,197,197,197,10,,10,12,10,,10,12,12,12,12,12,12,12,,,12',
'12,12,12,,,12,12,12,,,12,12,,12,12,,12,,12,12,,,,,12,153,153,153,153',
'153,153,153,153,153,153,153,153,153,161,161,161,161,161,,,,,12,,12,14',
'12,,12,14,14,14,14,14,14,14,,,14,14,14,14,,,14,14,14,,,14,14,,14,14',
',14,,14,14,,,,,14,148,148,148,148,148,148,148,148,148,148,148,148,148',
'158,158,158,158,158,,,14,14,14,,14,202,14,,14,202,202,202,202,202,202',
'202,,,202,202,202,202,,,202,202,202,,,202,202,,202,202,,202,,202,202',
',,,,202,157,157,157,157,157,157,157,157,157,157,157,157,157,159,159',
'159,159,159,,,,,202,,202,17,202,,202,17,17,17,17,17,17,17,,,17,17,17',
'17,,,17,17,17,,,17,17,,17,17,,17,,17,17,,,,,17,145,145,145,145,145,145',
'145,145,145,145,145,145,145,137,137,137,137,137,,,,,17,,17,20,17,,17',
'20,20,20,20,20,20,20,,,20,20,20,20,,,20,20,20,,,20,20,,20,20,,20,,20',
'20,,,,,20,155,155,155,155,155,155,155,155,155,155,155,155,155,,,,,,',
',,,20,,20,201,20,,20,201,201,201,201,201,201,201,,,201,201,201,201,',
',201,201,201,,,201,201,,201,201,,201,,201,201,,,,,201,,,,,,,,,,,,,,',
',,,,,,201,201,201,,201,25,201,,201,25,25,25,25,25,25,25,,,25,25,25,25',
',,25,25,25,,,25,25,,25,25,,25,,25,25,,,,,25,,,,,,,,,,,,,,,,,,,,,,,25',
',25,199,25,,25,199,199,199,199,199,199,199,,,199,199,199,199,,,199,199',
'199,,,199,199,,199,199,,199,,199,199,,,,,199,,,,,,,,,,,,,,,,,,,,,199',
'199,199,,199,30,199,,199,30,30,30,30,30,30,30,,,30,30,30,30,,,30,30',
'30,,,30,30,,30,30,,30,,30,30,,,,,30,,,,,,,,,,,,,,,,,,,,,30,30,30,,30',
'105,30,,30,105,105,105,105,105,105,105,,,105,105,105,105,,,105,105,105',
',,105,105,,105,105,,105,,105,105,,,,,105,,,,,,,,,,,,,,,,,,,,,,,105,',
'105,33,105,,105,33,33,33,33,33,33,33,,,33,33,33,33,,,33,33,33,,,33,33',
',33,33,,33,,33,33,,,,,33,,,,,,,,,,,,,,,,,,,,,,,33,,33,37,33,,33,37,37',
'37,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,,,,,38,,,,,,,,,,',
',,,,,,,,,,38,38,38,,38,39,38,,38,39,39,39,39,39,39,39,,,39,39,39,39',
',,39,39,39,,,39,39,,39,39,,39,,39,39,,,,,39,,,,,,,,,,,,,,,,,,,,,,,39',
',39,188,39,,39,188,188,188,188,188,188,188,,,188,188,188,188,,,188,188',
'188,,,188,188,,188,188,,188,,188,188,,,,,188,,,,,,,,,,,,,,,,,,,,,188',
'188,188,,188,185,188,,188,185,185,185,185,185,185,185,,,185,185,185',
'185,,,185,185,185,,,185,185,,185,185,,185,,185,185,,,,,185,,,,,,,,,',
',,,,,,,,,,,185,185,185,,185,104,185,,185,104,104,104,104,104,104,104',
',,104,104,104,104,,,104,104,104,,,104,104,,104,104,,104,,104,104,,,',
',104,,,,,,,,,,,,,,,,,,,,,,,104,,104,47,104,,104,47,47,47,47,47,47,47',
',,47,47,47,47,,,47,47,47,,,47,47,,47,47,,47,,47,47,,,,,47,,,,,,,,,,',
',,,,,,,,,,,,47,,47,48,47,,47,48,48,48,48,48,48,48,,,48,48,48,48,,,48',
'48,48,,,48,48,,48,48,,48,,48,48,,,,,48,,,,,,,,,,,,,,,,,,,,,,,48,,48',
'180,48,,48,180,180,180,180,180,180,180,,,180,180,180,180,,,180,180,180',
',,180,180,,180,180,,180,,180,180,,,,,180,,,,,,,,,,,,,,,,,,,,,,,180,',
'180,55,180,,180,55,55,55,55,55,55,55,,,55,55,55,55,,,55,55,55,,,55,55',
',55,55,,55,,55,55,,,,,55,,,,,,,,,,,,,,,,,,,,,,,55,,55,57,55,,55,57,57',
'57,57,57,57,57,,,57,57,57,57,,,57,57,57,,,57,57,,57,57,,57,,57,57,,',
',,57,,,,,,,,,,,,,,,,,,,,,,,57,,57,58,57,,57,58,58,58,58,58,58,58,,,58',
'58,58,58,,,58,58,58,,,58,58,,58,58,,58,,58,58,,,,,58,,,,,,,,,,,,,,,',
',,,,,,,58,,58,177,58,,58,177,177,177,177,177,177,177,,,177,177,177,177',
',,177,177,177,,,177,177,,177,177,,177,,177,177,,,,,177,,,,,,,,,,,,,',
',,,,,,,177,177,177,,177,176,177,,177,176,176,176,176,176,176,176,,,176',
'176,176,176,,,176,176,176,,,176,176,,176,176,,176,,176,176,,,,,176,',
',,,,,,,,,,,,,,,,,,,,,176,,176,103,176,,176,103,103,103,103,103,103,103',
',,103,103,103,103,,,103,103,103,,,103,103,,103,103,,103,,103,103,,,',
',103,,,,,,,,,,,,,,,,,,,,,,,103,,103,66,103,,103,66,66,66,66,66,66,66',
',,66,66,66,66,,,66,66,66,,,66,66,,66,66,,66,,66,66,,,,,66,,,,,,,,,,',
',,,,,,,,,,66,66,66,,66,167,66,,66,167,167,167,167,167,167,167,,,167',
'167,167,167,,,167,167,167,,,167,167,,167,167,,167,,167,167,,,,,167,',
',,,,,,,,,,,,,,,,,,,,,167,,167,68,167,,167,68,68,68,68,68,68,68,,,68',
'68,68,68,,,68,68,68,,,68,68,,68,68,,68,,68,68,,,,,68,,,,,,,,,,,,,,,',
',,,,,68,68,68,,68,164,68,,68,164,164,164,164,164,164,164,,,164,164,164',
'164,,,164,164,164,,,164,164,,164,164,,164,,164,164,,,,,164,,,,,,,,,',
',,,,,,,,,,,,,164,,164,102,164,,164,102,102,102,102,102,102,102,,,102',
'102,102,102,,,102,102,102,,,102,102,,102,102,,102,,102,102,,,,,102,',
',,,,,,,,,,,,,,,,,,,,,102,,102,106,102,,102,106,106,106,106,106,106,106',
',,106,106,106,106,,,106,106,106,,,106,106,,106,106,,106,,106,106,,,',
',106,,,,,,,,,,,,,,,,,,,,,,,106,,106,163,106,,106,163,163,163,163,163',
'163,163,,,163,163,163,163,,,163,163,163,,,163,163,,163,163,,163,,163',
'163,,,,,163,,,,,,,,,,,,,,,,,,,,,,,163,,163,132,163,,163,132,132,132',
'132,132,132,132,,,132,132,132,132,,,132,132,132,,,132,132,,132,132,',
'132,,132,132,,,,,132,,,,,,,,,,,,,,,,,,,,,132,132,132,,132,128,132,,132',
'128,128,128,128,128,128,128,,,128,128,128,128,,,128,128,128,,,128,128',
',128,128,,128,,128,128,,,,,128,,,,,,,,,,,,,,,,,,,,,128,128,128,,128',
'122,128,,128,122,122,122,122,122,122,122,,,122,122,122,122,,,122,122',
'122,,,122,122,,122,122,,122,,122,122,,,,,122,,,,,,,,,,,,,,,,,,,,,122',
'122,122,,122,121,122,,122,121,121,121,121,121,121,121,,,121,121,121',
'121,,,121,121,121,,,121,121,,121,121,,121,,121,121,,,,,121,,,,,,,,,',
',,,,,,,,,,,,,121,,121,77,121,,121,77,77,77,77,77,77,77,,,77,77,77,77',
',,77,77,77,,,77,77,,77,77,,77,,77,77,,,,,77,,,,,,,,,,,,,,,,,,,,,,,77',
',77,101,77,,77,101,101,101,101,101,101,101,,,101,101,101,101,,,101,101',
'101,,,101,101,,101,101,,101,,101,101,,,,,101,,,,,,,,,,,,,,,,,,,,,,,101',
',101,110,101,,101,110,110,110,110,110,110,110,,,110,110,110,110,,,110',
'110,110,,,110,110,,110,110,,110,,110,110,,,,,110,,,,,,,,,,,,,,,,,,,',
',,,110,,110,109,110,,110,109,109,109,109,109,109,109,,,109,109,109,109',
',,109,109,109,,,109,109,,109,109,,109,,109,109,,,,,109,,,,,,,,,,,,,',
',,,,,,,,,109,,109,108,109,,109,108,108,108,108,108,108,108,,,108,108',
'108,108,,,108,108,108,,,108,108,,108,108,,108,,108,108,,,,,108,,,,,',
',,,,,,,,,,,,,,,,,108,,108,83,108,,108,83,83,83,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,,,,,85,,,,,,,,,,,,,,,,,,,,,,,85,,85,86,85,,85,86',
'86,86,86,86,86,86,,,86,86,86,86,,,86,86,86,,,86,86,,86,86,,86,,86,86',
',,,,86,,,,,,,,,,,,,,,,,,,,,,,86,,86,87,86,,86,87,87,87,87,87,87,87,',
',87,87,87,87,,,87,87,87,,,87,87,,87,87,,87,,87,87,,,,,87,,,,,,,,,,,',
',,,,,,,,,,,87,,87,100,87,,87,100,100,100,100,100,100,100,,,100,100,100',
'100,,,100,100,100,,,100,100,,100,100,,100,,100,100,,,,,100,,,,,,,,,',
',,,,,,,,,,,,,100,,100,107,100,,100,107,107,107,107,107,107,107,,,107',
'107,107,107,,,107,107,107,,,107,107,,107,107,,107,,107,107,,,,,107,',
',,,,,,,,,,,,,,,,,,,,,107,,107,90,107,,107,90,90,90,90,90,90,90,,,90',
'90,90,90,,,90,90,90,,,90,90,,90,90,,90,,90,90,,,,,90,,,,,,,,,,,,,,,',
',,,,,,,90,,90,91,90,,90,91,91,91,91,91,91,91,,,91,91,91,91,,,91,91,91',
',,91,91,,91,91,,91,,91,91,,,,,91,,,,,,,,,,,,,,,,,,,,,,,91,,91,92,91',
',91,92,92,92,92,92,92,92,,,92,92,92,92,,,92,92,92,,,92,92,,92,92,,92',
',92,92,,,,,92,,,,,,,,,,,,,,,,,,,,,,,92,,92,93,92,,92,93,93,93,93,93',
'93,93,,,93,93,93,93,,,93,93,93,,,93,93,,93,93,,93,,93,93,,,,,93,,,,',
',,,,,,,,,,,,,,,,,,93,,93,94,93,,93,94,94,94,94,94,94,94,,,94,94,94,94',
',,94,94,94,,,94,94,,94,94,,94,,94,94,,,,,94,,,,,,,,,,,,,,,,,,,,,,,94',
',94,95,94,,94,95,95,95,95,95,95,95,,,95,95,95,95,,,95,95,95,,,95,95',
',95,95,,95,,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,,95,,95,96,95,,95,96,96',
'96,96,96,96,96,,,96,96,96,96,,,96,96,96,,,96,96,,96,96,,96,,96,96,,',
',,96,,,,,,,,,,,,,,,,,,,,,,,96,,96,97,96,,96,97,97,97,97,97,97,97,,,97',
'97,97,97,,,97,97,97,,,97,97,,97,97,,97,,97,97,,,,,97,,,,,,,,,,,,,,,',
',,,,,,,97,,97,98,97,,97,98,98,98,98,98,98,98,,,98,98,98,98,,,98,98,98',
',,98,98,,98,98,,98,,98,98,,,,,98,,,,,,,,,,,,,,,,,,,,,,,98,,98,99,98',
',98,99,99,99,99,99,99,99,,,99,99,99,99,,,99,99,99,,,99,99,,99,99,,99',
',99,99,,,,,99,,,,,,,,,,,,,,,,,,,,,,,99,,99,88,99,,99,88,88,88,88,88',
'88,88,,,88,88,88,88,,,88,88,88,,,88,88,,88,88,,88,,88,88,117,,,117,88',
',,,,,,,,,,,,,,,,,117,,,,,88,,88,,88,,88,117,117,117,117,117,117,117',
'117,117,117,117,117,117,117,117,117,117,,117,117,117,117,117,117,184',
',,184,117,,117,,,,,,,,,,,,,,,,184,,,,,,,,,,,,184,184,184,184,184,184',
'184,184,184,184,184,184,184,184,184,184,184,,184,184,184,184,184,184',
'64,,64,64,,,184,,,,,,,,,,,,,,,,64,,,,,,,70,,70,70,,64,64,64,64,64,64',
'64,64,64,64,64,64,64,64,64,64,64,70,64,64,64,64,64,64,,64,64,,,70,70',
'70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,,70,70,70,70,70,70,,70',
'70,191,,191,191,,144,144,144,144,144,144,144,144,144,144,144,144,144',
'144,144,144,144,191,144,144,144,144,144,144,71,,71,71,,191,191,191,191',
'191,191,191,191,191,191,191,191,191,191,191,191,191,71,191,191,191,191',
'191,191,194,191,191,194,,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71',
'71,71,194,71,71,71,71,71,71,210,71,71,210,,194,194,194,194,194,194,194',
'194,194,194,194,194,194,194,194,194,194,210,194,194,194,194,194,194',
'194,,,,,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210',
'210,210,,210,210,210,210,210,210,210,113,,,113,,138,138,138,138,138',
'138,138,138,138,138,138,138,138,138,138,138,138,113,138,138,138,138',
'138,138,46,,,46,,113,113,113,113,113,113,113,113,113,113,113,113,113',
'113,113,113,113,46,113,113,113,113,113,113,209,,,209,,46,46,46,46,46',
'46,46,46,46,46,46,46,46,46,46,46,46,209,46,46,46,46,46,46,215,,,215',
',209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209',
'215,209,209,209,209,209,209,182,,,182,,215,215,215,215,215,215,215,215',
'215,215,215,215,215,215,215,215,215,182,215,215,215,215,215,215,170',
',,170,,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182',
'182,170,182,182,182,182,182,182,183,,,183,,170,170,170,170,170,170,170',
'170,170,170,170,170,170,170,170,170,170,183,170,170,170,170,170,170',
'135,,,135,,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183',
'183,183,135,183,183,183,183,183,183,141,,,141,,135,135,135,135,135,135',
'135,135,135,135,135,135,135,135,135,135,135,141,135,135,135,135,135',
'135,,,,,,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141',
'141,141,111,141,141,141,141,141,141,,,,,,111,111,111,111,111,111,111',
'111,111,111,111,111,111,111,111,111,111,150,111,111,111,111,111,111',
',,,,,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150',
'150,74,150,150,150,150,150,150,,,,,,74,74,74,74,74,74,74,74,74,74,74',
'74,74,74,74,74,74,,74,74,74,74,74,74,82,82,82,82,82,82,82,82,82,82,82',
'82,82,82,82,82,82,,82,82,82,82,82,82,142,142,142,142,142,142,142,142',
'142,142,142,142,142,142,142,142,142,,142,142,142,142,142,142,160,160',
'160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,,160,160',
'160,160,160,160,147,147,147,147,147,147,147,147,147,147,147,147,147',
'147,147,147,147,,147,147,147,147,147,147,136,136,136,136,136,136,136',
'136,136,136,136,136,136,136,136,136,136,,136,136,136,136,136,136' ]
racc_action_check = arr = Array.new(4915, nil)
idx = 0
clist.each do |str|
str.split(',', -1).each do |i|
arr[idx] = i.to_i unless i.empty?
idx += 1
end
end
racc_action_pointer = [
-2, nil, nil, nil, 42, 81, nil, 190, nil, nil,
254, nil, 318, nil, 382, -46, nil, 510, nil, nil,
574, 36, nil, nil, nil, 702, nil, nil, nil, 66,
830, -57, nil, 958, nil, nil, nil, 1022, 1086, 1150,
nil, nil, 89, 10, nil, nil, 4445, 1406, 1470, nil,
nil, nil, nil, nil, 94, 1598, nil, 1662, 1726, nil,
-15, 73, nil, nil, 4180, nil, 1982, 84, 2110, 142,
4209, 4299, 21, -11, 4735, 42, 20, 2686, nil, -10,
70, -5, 4759, 3006, nil, 3070, 3134, 3198, 4030, 147,
3390, 3454, 3518, 3582, 3646, 3710, 3774, 3838, 3902, 3966,
3262, 2750, 2238, 1918, 1342, 894, 2302, 3326, 2942, 2878,
2814, 4677, 247, 4416, nil, 124, 131, 4064, nil, 17,
10, 2622, 2558, nil, nil, nil, 2, nil, 2494, 48,
nil, 75, 2430, 184, nil, 4619, 4855, 528, 4387, 195,
-14, 4648, 4783, 76, 4241, 515, nil, 4831, 387, nil,
4706, 259, nil, 323, 72, 579, 190, 451, 400, 464,
4807, 336, nil, 2366, 2174, nil, nil, 2046, nil, nil,
4561, 38, nil, 189, -2, nil, 1854, 1790, -25, nil,
1534, 92, 4532, 4590, 4122, 1278, nil, nil, 1214, nil,
nil, 4270, -17, nil, 4328, 6, nil, 254, 102, 766,
nil, 638, 446, nil, 126, nil, nil, 78, 230, 4474,
4357, nil, nil, 62, nil, 4503, nil ]
racc_action_default = [
-1, -32, -31, -20, -9, -82, -70, -115, -33, -10,
-115, -88, -115, -11, -115, -115, -12, -115, -68, -13,
-115, -115, -71, -14, -72, -115, -25, -21, -15, -115,
-115, -115, -73, -115, -26, -22, -16, -2, -66, -115,
-28, -17, -3, -86, -29, -18, -4, -115, -92, -30,
-27, -19, -8, -78, -115, -92, -74, -115, -115, -77,
-115, -115, -83, -39, -115, -37, -115, -115, -66, -115,
-115, -115, -115, -87, -36, -115, -115, -92, -38, -7,
-115, -67, -63, -6, -75, -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, -103, -115, -93, -76, -115, -34, -115, -81, -115,
-115, -115, -115, -23, -24, -104, -115, -69, -115, -115,
217, -115, -115, -115, -65, -5, -58, -48, -59, -49,
-115, -98, -60, -50, -61, -51, -40, -62, -52, -41,
-99, -53, -42, -54, -43, -55, -44, -56, -45, -46,
-57, -47, -91, -115, -115, -89, -79, -115, -85, -84,
-35, -115, -64, -115, -115, -112, -115, -115, -115, -90,
-115, -115, -95, -94, -115, -115, -96, -105, -115, -113,
-110, -115, -115, -101, -115, -115, -80, -115, -115, -115,
-100, -115, -115, -106, -115, -97, -111, -114, -115, -98,
-115, -102, -108, -115, -107, -98, -109 ]
racc_goto_table = [
37, 175, 122, 62, 84, 80, 72, 63, 128, 129,
64, 112, 65, 60, 73, 174, 29, 70, 115, nil,
71, nil, nil, nil, nil, 74, nil, nil, nil, nil,
nil, nil, nil, 78, 84, 126, nil, nil, nil, 82,
133, nil, 83, nil, nil, nil, 189, 111, 113, nil,
nil, nil, nil, nil, nil, 113, nil, 116, 117, nil,
119, nil, nil, nil, 124, nil, nil, 83, nil, nil,
124, 124, nil, nil, nil, nil, 83, 113, nil, 83,
nil, 83, nil, 135, nil, 136, 137, 138, 139, nil,
141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
161, 42, 163, nil, nil, 163, nil, 168, 169, nil,
nil, 170, nil, nil, nil, 67, nil, nil, nil, 199,
nil, nil, nil, 163, nil, nil, nil, nil, nil, nil,
nil, 76, nil, nil, nil, nil, nil, nil, nil, 81,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 182, 183, nil, nil, 184, nil, nil,
nil, 83, nil, 83, nil, nil, 191, nil, 83, 81,
194, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 124, 83, nil, nil, nil, nil, 83, 83, nil,
nil, nil, 209, nil, 210, nil, nil, 83, 83, nil,
nil, nil, nil, 215, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 171, nil, nil, nil, nil, nil, 173,
nil, nil, nil, 178, 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, 192, nil,
nil, nil, nil, nil, nil, nil, 197, nil, nil, 198,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
207, nil, 208 ]
racc_goto_check = [
2, 33, 18, 19, 25, 21, 6, 4, 18, 18,
4, 31, 4, 29, 26, 32, 1, 4, 31, nil,
4, nil, nil, nil, nil, 4, nil, nil, nil, nil,
nil, nil, nil, 4, 25, 21, nil, nil, nil, 4,
31, nil, 2, nil, nil, nil, 33, 4, 4, nil,
nil, nil, nil, nil, nil, 4, nil, 4, 4, nil,
2, nil, nil, nil, 2, nil, nil, 2, nil, nil,
2, 2, nil, nil, nil, nil, 2, 4, nil, 2,
nil, 2, nil, 4, nil, 4, 4, 4, 4, nil,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 3, 2, nil, nil, 2, nil, 19, 19, nil,
nil, 4, nil, nil, nil, 3, nil, nil, nil, 18,
nil, nil, nil, 2, nil, nil, nil, nil, nil, nil,
nil, 3, nil, nil, nil, nil, nil, nil, nil, 3,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 4, 4, nil, nil, 4, nil, nil,
nil, 2, nil, 2, nil, nil, 4, nil, 2, 3,
4, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, 2, 2, nil, nil, nil, nil, 2, 2, nil,
nil, nil, 4, nil, 4, nil, nil, 2, 2, nil,
nil, nil, nil, 4, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, 3, nil, nil, nil, nil, nil, 3,
nil, nil, nil, 3, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, 3, nil,
nil, nil, nil, nil, nil, nil, 3, nil, nil, 3,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
3, nil, 3 ]
racc_goto_pointer = [
nil, 16, 0, 111, 0, nil, -15, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, -62, -2,
nil, -33, nil, nil, nil, -39, -7, nil, nil, 8,
nil, -37, -114, -128 ]
racc_goto_default = [
nil, nil, 66, 79, 46, 52, 4, 9, 13, 16,
19, 23, 28, 36, 41, 45, 51, 3, nil, nil,
15, nil, 22, 24, 32, 56, 43, 59, 53, nil,
11, nil, nil, nil ]
racc_reduce_table = [
0, 0, :racc_error,
0, 72, :_reduce_1,
1, 72, :_reduce_2,
1, 72, :_reduce_3,
1, 74, :_reduce_4,
3, 74, :_reduce_5,
2, 74, :_reduce_6,
2, 74, :_reduce_7,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 75, :_reduce_none,
1, 73, :_reduce_none,
1, 73, :_reduce_none,
1, 89, :_reduce_none,
1, 89, :_reduce_none,
1, 76, :_reduce_25,
1, 76, :_reduce_26,
1, 76, :_reduce_27,
1, 76, :_reduce_28,
1, 76, :_reduce_29,
1, 76, :_reduce_30,
1, 76, :_reduce_31,
1, 76, :_reduce_32,
1, 76, :_reduce_33,
3, 79, :_reduce_34,
3, 90, :_reduce_35,
2, 85, :_reduce_36,
2, 81, :_reduce_37,
2, 81, :_reduce_38,
2, 81, :_reduce_39,
3, 81, :_reduce_40,
3, 81, :_reduce_41,
3, 81, :_reduce_42,
3, 81, :_reduce_43,
3, 81, :_reduce_44,
3, 81, :_reduce_45,
3, 81, :_reduce_46,
3, 81, :_reduce_47,
3, 81, :_reduce_48,
3, 81, :_reduce_49,
3, 81, :_reduce_50,
3, 81, :_reduce_51,
3, 81, :_reduce_52,
3, 81, :_reduce_53,
3, 81, :_reduce_54,
3, 81, :_reduce_55,
3, 81, :_reduce_56,
3, 81, :_reduce_57,
3, 81, :_reduce_58,
3, 81, :_reduce_59,
3, 81, :_reduce_60,
3, 81, :_reduce_61,
3, 81, :_reduce_62,
2, 81, :_reduce_63,
4, 80, :_reduce_64,
3, 80, :_reduce_65,
0, 92, :_reduce_66,
1, 92, :_reduce_67,
1, 91, :_reduce_68,
3, 91, :_reduce_69,
1, 77, :_reduce_70,
1, 77, :_reduce_71,
1, 77, :_reduce_72,
1, 77, :_reduce_73,
2, 77, :_reduce_74,
2, 77, :_reduce_75,
2, 96, :_reduce_76,
1, 96, :_reduce_77,
1, 96, :_reduce_78,
3, 98, :_reduce_79,
5, 99, :_reduce_80,
3, 94, :_reduce_81,
0, 100, :_reduce_82,
1, 100, :_reduce_83,
3, 100, :_reduce_84,
3, 100, :_reduce_85,
1, 78, :_reduce_86,
2, 78, :_reduce_87,
1, 78, :_reduce_88,
4, 97, :_reduce_89,
4, 101, :_reduce_90,
3, 93, :_reduce_91,
0, 102, :_reduce_92,
1, 102, :_reduce_93,
3, 102, :_reduce_94,
3, 102, :_reduce_95,
5, 82, :_reduce_96,
7, 82, :_reduce_97,
3, 82, :_reduce_98,
3, 82, :_reduce_99,
6, 83, :_reduce_100,
5, 83, :_reduce_101,
8, 83, :_reduce_102,
2, 84, :_reduce_103,
3, 95, :_reduce_104,
5, 86, :_reduce_105,
6, 87, :_reduce_106,
8, 87, :_reduce_107,
8, 87, :_reduce_108,
10, 87, :_reduce_109,
5, 88, :_reduce_110,
7, 88, :_reduce_111,
1, 103, :_reduce_112,
2, 103, :_reduce_113,
4, 104, :_reduce_114 ]
racc_reduce_n = 115
racc_shift_n = 217
racc_token_table = {
false => 0,
:error => 1,
:IF => 2,
:ELSE => 3,
:THEN => 4,
:UNLESS => 5,
:NUMBER => 6,
:STRING => 7,
:REGEX => 8,
:TRUE => 9,
:FALSE => 10,
:NULL => 11,
:IDENTIFIER => 12,
:PROPERTY_ACCESS => 13,
:CODE => 14,
:PARAM => 15,
:NEW => 16,
:RETURN => 17,
:TRY => 18,
:CATCH => 19,
:FINALLY => 20,
:THROW => 21,
:BREAK => 22,
:CONTINUE => 23,
:FOR => 24,
:IN => 25,
:WHILE => 26,
:SWITCH => 27,
:CASE => 28,
:SUPER => 29,
:DELETE => 30,
:NEWLINE => 31,
:JS => 32,
:UMINUS => 33,
:NOT => 34,
"!" => 35,
"*" => 36,
"/" => 37,
"%" => 38,
"+" => 39,
"-" => 40,
"<=" => 41,
"<" => 42,
">" => 43,
">=" => 44,
"==" => 45,
"!=" => 46,
:IS => 47,
:AINT => 48,
"&&" => 49,
"||" => 50,
:AND => 51,
:OR => 52,
":" => 53,
"-=" => 54,
"+=" => 55,
"/=" => 56,
"*=" => 57,
"||=" => 58,
"&&=" => 59,
"." => 60,
"\n" => 61,
";" => 62,
"=>" => 63,
"," => 64,
"[" => 65,
"]" => 66,
"{" => 67,
"}" => 68,
"(" => 69,
")" => 70 }
racc_nt_base = 71
racc_use_result_var = true
Racc_arg = [
racc_action_table,
racc_action_check,
racc_action_default,
racc_action_pointer,
racc_goto_table,
racc_goto_check,
racc_goto_default,
racc_goto_pointer,
racc_nt_base,
racc_reduce_table,
racc_token_table,
racc_shift_n,
racc_reduce_n,
racc_use_result_var ]
Racc_token_to_s_table = [
"$end",
"error",
"IF",
"ELSE",
"THEN",
"UNLESS",
"NUMBER",
"STRING",
"REGEX",
"TRUE",
"FALSE",
"NULL",
"IDENTIFIER",
"PROPERTY_ACCESS",
"CODE",
"PARAM",
"NEW",
"RETURN",
"TRY",
"CATCH",
"FINALLY",
"THROW",
"BREAK",
"CONTINUE",
"FOR",
"IN",
"WHILE",
"SWITCH",
"CASE",
"SUPER",
"DELETE",
"NEWLINE",
"JS",
"UMINUS",
"NOT",
"\"!\"",
"\"*\"",
"\"/\"",
"\"%\"",
"\"+\"",
"\"-\"",
"\"<=\"",
"\"<\"",
"\">\"",
"\">=\"",
"\"==\"",
"\"!=\"",
"IS",
"AINT",
"\"&&\"",
"\"||\"",
"AND",
"OR",
"\":\"",
"\"-=\"",
"\"+=\"",
"\"/=\"",
"\"*=\"",
"\"||=\"",
"\"&&=\"",
"\".\"",
"\"\\n\"",
"\";\"",
"\"=>\"",
"\",\"",
"\"[\"",
"\"]\"",
"\"{\"",
"\"}\"",
"\"(\"",
"\")\"",
"$start",
"Root",
"Terminator",
"Expressions",
"Expression",
"Literal",
"Value",
"Call",
"Assign",
"Code",
"Operation",
"If",
"Try",
"Throw",
"Return",
"While",
"For",
"Switch",
"Then",
"AssignObj",
"ParamList",
"CodeBody",
"Array",
"Object",
"Parenthetical",
"Accessor",
"Invocation",
"Index",
"Slice",
"AssignList",
"Super",
"ArgList",
"Cases",
"Case" ]
Racc_debug_parser = false
##### State transition tables end #####
# reduce 0 omitted
module_eval(<<'.,.,', 'grammar.y', 42)
def _reduce_1(val, _values, result)
result = Nodes.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 43)
def _reduce_2(val, _values, result)
result = Nodes.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 44)
def _reduce_3(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 49)
def _reduce_4(val, _values, result)
result = Nodes.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 50)
def _reduce_5(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 51)
def _reduce_6(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 52)
def _reduce_7(val, _values, result)
result = val[1]
result
end
.,.,
# reduce 8 omitted
# reduce 9 omitted
# reduce 10 omitted
# reduce 11 omitted
# reduce 12 omitted
# reduce 13 omitted
# reduce 14 omitted
# reduce 15 omitted
# reduce 16 omitted
# reduce 17 omitted
# reduce 18 omitted
# reduce 19 omitted
# reduce 20 omitted
# reduce 21 omitted
# reduce 22 omitted
# reduce 23 omitted
# reduce 24 omitted
module_eval(<<'.,.,', 'grammar.y', 86)
def _reduce_25(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 87)
def _reduce_26(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 88)
def _reduce_27(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 89)
def _reduce_28(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 90)
def _reduce_29(val, _values, result)
result = LiteralNode.new(true)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 91)
def _reduce_30(val, _values, result)
result = LiteralNode.new(false)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 92)
def _reduce_31(val, _values, result)
result = LiteralNode.new(nil)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 93)
def _reduce_32(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 94)
def _reduce_33(val, _values, result)
result = LiteralNode.new(val[0])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 99)
def _reduce_34(val, _values, result)
result = AssignNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 104)
def _reduce_35(val, _values, result)
result = AssignNode.new(val[0], val[2], :object)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 109)
def _reduce_36(val, _values, result)
result = ReturnNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 116)
def _reduce_37(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 117)
def _reduce_38(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 118)
def _reduce_39(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 120)
def _reduce_40(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 121)
def _reduce_41(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 122)
def _reduce_42(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 124)
def _reduce_43(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 125)
def _reduce_44(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 127)
def _reduce_45(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 128)
def _reduce_46(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 129)
def _reduce_47(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 130)
def _reduce_48(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 132)
def _reduce_49(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 133)
def _reduce_50(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 134)
def _reduce_51(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 135)
def _reduce_52(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 137)
def _reduce_53(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 138)
def _reduce_54(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 139)
def _reduce_55(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 140)
def _reduce_56(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 142)
def _reduce_57(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 143)
def _reduce_58(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 144)
def _reduce_59(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 145)
def _reduce_60(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 146)
def _reduce_61(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 147)
def _reduce_62(val, _values, result)
result = OpNode.new(val[1], val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 149)
def _reduce_63(val, _values, result)
result = OpNode.new(val[0], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 154)
def _reduce_64(val, _values, result)
result = CodeNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 155)
def _reduce_65(val, _values, result)
result = CodeNode.new([], val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 160)
def _reduce_66(val, _values, result)
result = Nodes.new([])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 161)
def _reduce_67(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 166)
def _reduce_68(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 167)
def _reduce_69(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 172)
def _reduce_70(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 173)
def _reduce_71(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 174)
def _reduce_72(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 175)
def _reduce_73(val, _values, result)
result = ValueNode.new(val)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 176)
def _reduce_74(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 177)
def _reduce_75(val, _values, result)
result = ValueNode.new(val[0], [val[1]])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 182)
def _reduce_76(val, _values, result)
result = AccessorNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 183)
def _reduce_77(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 184)
def _reduce_78(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 189)
def _reduce_79(val, _values, result)
result = IndexNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 194)
def _reduce_80(val, _values, result)
result = SliceNode.new(val[1], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 199)
def _reduce_81(val, _values, result)
result = ObjectNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 204)
def _reduce_82(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 205)
def _reduce_83(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 206)
def _reduce_84(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 207)
def _reduce_85(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 212)
def _reduce_86(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 213)
def _reduce_87(val, _values, result)
result = val[1].new_instance
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 214)
def _reduce_88(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 219)
def _reduce_89(val, _values, result)
result = CallNode.new(val[0], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 224)
def _reduce_90(val, _values, result)
result = CallNode.new(:super, val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 229)
def _reduce_91(val, _values, result)
result = ArrayNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 234)
def _reduce_92(val, _values, result)
result = []
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 235)
def _reduce_93(val, _values, result)
result = val
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 236)
def _reduce_94(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 237)
def _reduce_95(val, _values, result)
result = val[0] << val[2]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 243)
def _reduce_96(val, _values, result)
result = IfNode.new(val[1], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 246)
def _reduce_97(val, _values, result)
result = IfNode.new(val[1], val[3], val[5])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 247)
def _reduce_98(val, _values, result)
result = IfNode.new(val[2], Nodes.new([val[0]]))
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 248)
def _reduce_99(val, _values, result)
result = IfNode.new(val[2], Nodes.new([val[0]]), nil, :invert)
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 254)
def _reduce_100(val, _values, result)
result = TryNode.new(val[1], val[3], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 256)
def _reduce_101(val, _values, result)
result = TryNode.new(val[1], nil, nil, val[3])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 259)
def _reduce_102(val, _values, result)
result = TryNode.new(val[1], val[3], val[4], val[6])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 264)
def _reduce_103(val, _values, result)
result = ThrowNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 269)
def _reduce_104(val, _values, result)
result = ParentheticalNode.new(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 275)
def _reduce_105(val, _values, result)
result = WhileNode.new(val[1], val[3])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 281)
def _reduce_106(val, _values, result)
result = ForNode.new(val[0], val[4], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 284)
def _reduce_107(val, _values, result)
result = ForNode.new(val[0], val[6], val[2], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 287)
def _reduce_108(val, _values, result)
result = ForNode.new(IfNode.new(val[6], Nodes.new([val[0]])), val[4], val[2])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 291)
def _reduce_109(val, _values, result)
result = ForNode.new(IfNode.new(val[8], Nodes.new([val[0]])), val[6], val[2], val[4])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 297)
def _reduce_110(val, _values, result)
result = val[3].rewrite_condition(val[1])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 299)
def _reduce_111(val, _values, result)
result = val[3].rewrite_condition(val[1]).add_else(val[5])
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 304)
def _reduce_112(val, _values, result)
result = val[0]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 305)
def _reduce_113(val, _values, result)
result = val[0] << val[1]
result
end
.,.,
module_eval(<<'.,.,', 'grammar.y', 310)
def _reduce_114(val, _values, result)
result = IfNode.new(val[1], val[3])
result
end
.,.,
def _reduce_none(val, _values, result)
val[0]
end
end # class Parser
end