diff --git a/grammar.y b/grammar.y index 98df8679..c9a4391d 100644 --- a/grammar.y +++ b/grammar.y @@ -137,11 +137,11 @@ rule # Method definition Code: ParamList "=>" Expressions "." { result = CodeNode.new(val[0], val[2]) } + | "=>" Expressions "." { result = CodeNode.new([], val[1]) } ; ParamList: - /* nothing */ { result = [] } - | PARAM { result = val } + PARAM { result = val } | ParamList "," PARAM { result = val[0] << val[2] } ; @@ -177,12 +177,12 @@ rule # A method call. Call: - Variable Invocation { result = CallNode.new(val[0], val[1]) } - | NEW Variable Invocation { result = CallNode.new(val[1], val[2], true) } + Invocation { result = val[0] } + | NEW Invocation { result = val[0].new_instance } ; Invocation: - "(" ArgList ")" { result = val[1] } + Variable "(" ArgList ")" { result = CallNode.new(val[0], val[2]) } ; # An Array. diff --git a/nodes.rb b/nodes.rb index 2b6ab898..15c18de2 100644 --- a/nodes.rb +++ b/nodes.rb @@ -64,8 +64,12 @@ end # receiver.method(argument1, argument2) # class CallNode < Node - def initialize(variable, arguments=[], new_instance=false) - @variable, @arguments, @new = variable, arguments, new_instance + def initialize(variable, arguments=[]) + @variable, @arguments = variable, arguments + end + + def new_instance + @new = true end def compile(indent, last=false) diff --git a/parser.rb b/parser.rb index 324bc0c8..6605b5c3 100644 --- a/parser.rb +++ b/parser.rb @@ -26,78 +26,80 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 225) ##### State transition tables begin ### clist = [ -'-1,-73,5,78,73,78,19,22,26,29,33,1,3,121,78,11,14,18,89,25,28,73,5,73', -'119,8,19,22,26,29,33,1,3,30,34,11,14,18,-73,25,28,74,30,34,81,8,146', -'3,30,34,17,14,24,78,32,125,30,34,74,78,74,130,77,116,42,45,30,34,136', -'137,17,5,24,128,32,19,22,26,29,33,1,3,30,34,11,14,18,73,25,28,69,5,70', -'37,8,19,22,26,29,33,1,3,42,45,11,14,18,124,25,28,,30,34,,8,30,34,,72', -'17,,24,128,32,74,,129,,77,30,34,62,41,44,47,49,116,,117,17,,24,,32,5', -'148,30,34,19,22,26,29,33,1,3,42,45,11,14,18,,25,28,,5,42,45,8,19,22', -'26,29,33,1,3,42,45,11,14,18,,25,28,62,41,44,,8,,-56,,-56,17,,24,,32', -'30,34,,62,41,44,135,30,34,,42,45,,144,,17,5,24,,32,19,22,26,29,33,1', -'3,42,45,11,14,18,,25,28,,5,42,45,8,19,22,26,29,33,1,3,42,45,11,14,18', -',25,28,30,34,,,8,,151,,,17,,24,,32,19,22,26,29,33,1,,30,34,,,,,,,17', -'5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33', -'1,3,,,11,14,18,,25,28,,,,,8,,-56,,-56,17,,24,,32,,,,62,41,44,47,49,', -',,,,,,17,5,24,,32,19,22,26,29,33,1,3,42,45,11,14,18,,25,28,,5,,,8,19', -'22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,62,41,44,47', -'49,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,42,45,11,14,18,,25,28,,5,,', -'8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,30,34,,8,,,,,17,,24,,32,,,,62', -'41,44,47,49,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,42,45,11,14,18,,25', -'28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32', -',,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,', -',8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,30,34,,8,,,,,17,,24,,32,,,', -',,,,,,,,,-56,,-56,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,', -'5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,', -',,,30,34,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,', -',8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,-56,,-56,17,,24,,32,', -',,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,', -'8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,', -',,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22', -'26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17', -'5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33', -'1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32', -'19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11', -'14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26', -'29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25', -'28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1', -'3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,', -'8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11', -'14,18,,25,28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17', -',24,,32,,,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25', -'28,,5,,,8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32', -',,,,,,,,,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,', -',8,19,22,26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,', -',,,,,,,,17,5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22', -'26,29,33,1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,,,,,,,,,,,,,,17', -'5,24,,32,19,22,26,29,33,1,3,,,11,14,18,,25,28,,5,,,8,19,22,26,29,33', -'1,3,,,11,14,18,,25,28,,,,,8,,,,,17,,24,,32,,,142,,,,,,,,,,,,,17,,24', -',32,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52,54,56,58,87', -',,42,45,,143,,,,,,,,,,,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46', -'48,50,52,54,56,58,30,34,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40', -'43,46,48,50,52,54,56,58,,,,42,45,,149,62,41,44,47,49,51,53,55,57,59', -'60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43', -'46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40', -'43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61', -'40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60', -'61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59', -'60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,', -',,,,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52', -'54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50', -'52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48', -'50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,,,', -',,,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52,54', -'56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52', -'54,56,58,,,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,,,,,,,,,', -'42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,43,46,48,50,52,54,56,58', -',,,42,45,62,41,44,47,49,51,53,55,57,59,60,61,40,,,,,,,,,,,,42,45,62', -'41,44,47,49,51,53,55,57,59,60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49', -'51,53,55,57,59,60,61,40,,,,,,,,,,,,42,45,62,41,44,47,49,51,53,55,57', -'59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53,55', -'57,59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51,53', -'55,57,59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45,62,41,44,47,49,51', -'53,55,57,59,60,61,40,43,46,48,50,52,54,56,58,,,,42,45' ] - racc_action_table = arr = Array.new(2192, nil) +'6,81,-73,81,21,24,28,31,35,2,4,127,76,13,16,20,81,27,30,76,6,76,81,10', +'21,24,28,31,35,2,4,92,4,13,16,20,16,27,30,-73,32,36,128,10,149,9,32', +'36,19,77,26,139,34,80,32,36,77,84,77,32,36,119,73,124,74,9,131,140,19', +'6,26,81,34,21,24,28,31,35,2,4,45,48,13,16,20,76,27,30,39,6,45,48,10', +'21,24,28,31,35,2,4,32,36,13,16,20,122,27,30,,32,36,,10,133,9,,75,19', +',26,,34,77,,32,36,80,32,36,32,36,131,,138,9,132,,19,6,26,,34,21,24,28', +'31,35,2,4,45,48,13,16,20,,27,30,,6,32,36,10,21,24,28,31,35,2,4,45,48', +'13,16,20,,27,30,65,44,47,,10,,9,32,36,19,,26,,34,119,,120,65,44,47,50', +'52,32,36,45,48,9,,93,19,6,26,,34,21,24,28,31,35,2,4,45,48,13,16,20,', +'27,30,,6,151,,10,21,24,28,31,35,2,4,45,48,13,16,20,,27,30,,32,36,,10', +',9,32,36,19,,26,,34,45,48,,65,44,47,50,52,32,36,,,9,,147,19,6,26,,34', +'21,24,28,31,35,2,4,45,48,13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4', +',,13,16,20,,27,30,,32,36,,10,,9,,,19,,26,,34,32,36,,65,44,47,154,,,', +',,9,,,19,6,26,,34,21,24,28,31,35,2,4,45,48,13,16,20,,27,30,,6,,,10,21', +'24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,65,44,47', +'50,52,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,45,48,13,16,20,,27,30,', +'6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,21', +'24,28,31,35,2,,32,36,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20', +',27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,', +'26,,34,,,,65,44,47,50,52,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,45,48', +'13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10', +',9,,,19,,26,,34,,,,,,,,32,36,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,', +',13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10', +',9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13', +'16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9', +',,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16', +'20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19', +',26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27', +'30,,6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,', +'34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30', +',6,,,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34', +',,,,,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6', +',,10,21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,', +',,,,,,,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10', +'21,24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,', +',,,,9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21', +'24,28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,', +',9,,,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24', +'28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9', +',,19,6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28', +'31,35,2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19', +'6,26,,34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28,31,35', +'2,4,,,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26', +',34,21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4', +',,13,16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34', +'21,24,28,31,35,2,4,,,13,16,20,,27,30,,6,,,10,21,24,28,31,35,2,4,,,13', +'16,20,,27,30,,,,,10,,9,,,19,,26,,34,,,,,,,,,,,,,9,,,19,6,26,,34,21,24', +'28,31,35,2,4,,,13,16,20,,27,30,,,,,10,,,,,,,,,,,,145,,,,,,,,,,9,,,19', +',26,,34,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49,51,53,55,57,59', +'61,90,,,45,48,,146,,,,,,,,,,,65,44,47,50,52,54,56,58,60,62,63,64,43', +'46,49,51,53,55,57,59,61,32,36,,45,48,65,44,47,50,52,54,56,58,60,62,63', +'64,43,46,49,51,53,55,57,59,61,,,,45,48,,152,65,44,47,50,52,54,56,58', +'60,62,63,64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64', +'43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63', +'64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62', +'63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60', +'62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58', +'60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56', +'58,60,62,63,64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63', +'64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49', +'51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46', +'49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43', +'46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64', +'43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63', +'64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49', +'51,53,55,57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,,', +',,,,,,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,46,49,51,53,55', +'57,59,61,,,,45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,,,,,,,,,,,', +'45,48,65,44,47,50,52,54,56,58,60,62,63,64,43,,,,,,,,,,,,45,48,65,44', +'47,50,52,54,56,58,60,62,63,64,43,,,,,,,,,,,,45,48,65,44,47,50,52,54', +'56,58,60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50,52', +'54,56,58,60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48,65,44,47,50', +'52,54,56,58,60,62,63,64,43,46,49,51,53,55,57,59,61,,,,45,48' ] + racc_action_table = arr = Array.new(2235, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -107,86 +109,89 @@ clist = [ end clist = [ -'0,114,0,24,64,139,0,0,0,0,0,0,0,73,79,0,0,0,37,0,0,63,5,27,70,0,5,5', -'5,5,5,5,5,24,24,5,5,5,114,5,5,64,0,0,24,5,139,14,86,86,0,14,0,128,0', -'79,123,123,63,127,27,86,63,123,95,95,126,126,122,123,5,148,5,126,5,148', -'148,148,148,148,148,148,65,65,148,148,148,23,148,148,21,8,21,7,148,8', -'8,8,8,8,8,8,113,113,8,8,8,78,8,8,,148,148,,8,82,82,,23,148,,148,82,148', -'23,,82,,23,66,66,108,108,108,108,108,66,,66,8,,8,,8,145,145,10,10,145', -'145,145,145,145,145,145,108,108,145,145,145,,145,145,,142,38,38,145', -'142,142,142,142,142,142,142,83,83,142,142,142,,142,142,98,98,98,,142', -',145,,145,145,,145,,145,118,118,,100,100,100,118,132,132,,98,98,,132', -',142,124,142,,142,124,124,124,124,124,124,124,100,100,124,124,124,,124', -'124,,16,92,92,124,16,16,16,16,16,16,16,85,85,16,16,16,,16,16,150,150', -',,16,,150,,,124,,124,,124,74,74,74,74,74,74,,16,16,,,,,,,16,17,16,,16', -'17,17,17,17,17,17,17,,,17,17,17,,17,17,,18,,,17,18,18,18,18,18,18,18', -',,18,18,18,,18,18,,,,,18,,17,,17,17,,17,,17,,,,102,102,102,102,102,', -',,,,,,18,116,18,,18,116,116,116,116,116,116,116,102,102,116,116,116', -',116,116,,115,,,116,115,115,115,115,115,115,115,,,115,115,115,,115,115', -',,,,115,,,,,116,,116,,116,,,,104,104,104,104,104,,,,,,,,115,88,115,', -'115,88,88,88,88,88,88,88,104,104,88,88,88,,88,88,,25,,,88,25,25,25,25', -'25,25,25,,,25,25,25,,25,25,,88,88,,25,,,,,88,,88,,88,,,,106,106,106', -'106,106,,,,,,,,25,87,25,,25,87,87,87,87,87,87,87,106,106,87,87,87,,87', -'87,,28,,,87,28,28,28,28,28,28,28,,,28,28,28,,28,28,,,,,28,,,,,87,,87', -',87,,,,,,,,,,,,,,,,28,32,28,,28,32,32,32,32,32,32,32,,,32,32,32,,32', -'32,,77,,,32,77,77,77,77,77,77,77,,,77,77,77,,77,77,,32,32,,77,,,,,32', -',32,,32,,,,,,,,,,,,,77,,77,77,72,77,,77,72,72,72,72,72,72,72,,,72,72', -'72,,72,72,,69,,,72,69,69,69,69,69,69,69,,,69,69,69,,69,69,,,,,69,,,', -',72,,72,,72,,,,,,,,69,69,,,,,,,69,39,69,,69,39,39,39,39,39,39,39,,,39', -'39,39,,39,39,,40,,,39,40,40,40,40,40,40,40,,,40,40,40,,40,40,,,,,40', -',39,,39,39,,39,,39,,,,,,,,,,,,,,,,40,41,40,,40,41,41,41,41,41,41,41', -',,41,41,41,,41,41,,42,,,41,42,42,42,42,42,42,42,,,42,42,42,,42,42,,', -',,42,,,,,41,,41,,41,,,,,,,,,,,,,,,,42,43,42,,42,43,43,43,43,43,43,43', -',,43,43,43,,43,43,,44,,,43,44,44,44,44,44,44,44,,,44,44,44,,44,44,,', -',,44,,,,,43,,43,,43,,,,,,,,,,,,,,,,44,45,44,,44,45,45,45,45,45,45,45', -',,45,45,45,,45,45,,62,,,45,62,62,62,62,62,62,62,,,62,62,62,,62,62,,', -',,62,,,,,45,,45,,45,,,,,,,,,,,,,,,,62,47,62,,62,47,47,47,47,47,47,47', -',,47,47,47,,47,47,,48,,,47,48,48,48,48,48,48,48,,,48,48,48,,48,48,,', -',,48,,,,,47,,47,,47,,,,,,,,,,,,,,,,48,49,48,,48,49,49,49,49,49,49,49', -',,49,49,49,,49,49,,50,,,49,50,50,50,50,50,50,50,,,50,50,50,,50,50,,', -',,50,,,,,49,,49,,49,,,,,,,,,,,,,,,,50,51,50,,50,51,51,51,51,51,51,51', -',,51,51,51,,51,51,,52,,,51,52,52,52,52,52,52,52,,,52,52,52,,52,52,,', -',,52,,,,,51,,51,,51,,,,,,,,,,,,,,,,52,53,52,,52,53,53,53,53,53,53,53', -',,53,53,53,,53,53,,54,,,53,54,54,54,54,54,54,54,,,54,54,54,,54,54,,', -',,54,,,,,53,,53,,53,,,,,,,,,,,,,,,,54,55,54,,54,55,55,55,55,55,55,55', -',,55,55,55,,55,55,,56,,,55,56,56,56,56,56,56,56,,,56,56,56,,56,56,,', -',,56,,,,,55,,55,,55,,,,,,,,,,,,,,,,56,57,56,,56,57,57,57,57,57,57,57', -',,57,57,57,,57,57,,58,,,57,58,58,58,58,58,58,58,,,58,58,58,,58,58,,', -',,58,,,,,57,,57,,57,,,,,,,,,,,,,,,,58,59,58,,58,59,59,59,59,59,59,59', -',,59,59,59,,59,59,,60,,,59,60,60,60,60,60,60,60,,,60,60,60,,60,60,,', -',,60,,,,,59,,59,,59,,,,,,,,,,,,,,,,60,61,60,,60,61,61,61,61,61,61,61', -',,61,61,61,,61,61,,46,,,61,46,46,46,46,46,46,46,,,46,46,46,,46,46,,', -',,46,,,,,61,,61,,61,,,131,,,,,,,,,,,,,46,,46,,46,131,131,131,131,131', -'131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,36,', -',131,131,,131,,,,,,,,,,,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36', -'36,36,36,36,36,36,36,36,,36,36,147,147,147,147,147,147,147,147,147,147', -'147,147,147,147,147,147,147,147,147,147,147,,,,147,147,,147,110,110', -'110,110,110,110,110,110,110,110,110,110,110,,,,,,,,,,,,110,110,93,93', -'93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,,,,93,93,67', -'67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,,,,67,67', -'13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,,,,13', -'13,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120', -'120,120,120,120,,,,120,120,112,112,112,112,112,112,112,112,112,112,112', -'112,112,,,,,,,,,,,,112,112,111,111,111,111,111,111,111,111,111,111,111', -'111,111,,,,,,,,,,,,111,111,133,133,133,133,133,133,133,133,133,133,133', -'133,133,133,133,133,133,133,133,133,133,,,,133,133,134,134,134,134,134', -'134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,,,,134', -'134,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,', -',,90,90,91,91,91,91,91,91,91,91,91,91,91,91,91,,,,,,,,,,,,91,91,68,68', -'68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,,,,68,68,138', -'138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138', -'138,138,138,,,,138,138,94,94,94,94,94,94,94,94,94,94,94,94,94,,,,,,', -',,,,,94,94,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109', -'109,109,109,109,109,109,,,,109,109,97,97,97,97,97,97,97,97,97,97,97', -'97,97,,,,,,,,,,,,97,97,99,99,99,99,99,99,99,99,99,99,99,99,99,,,,,,', -',,,,,99,99,101,101,101,101,101,101,101,101,101,101,101,101,101,,,,,', -',,,,,,101,101,103,103,103,103,103,103,103,103,103,103,103,103,103,103', -'103,103,103,103,103,103,103,,,,103,103,105,105,105,105,105,105,105,105', -'105,105,105,105,105,105,105,105,105,105,105,105,105,,,,105,105,107,107', -'107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107', -'107,107,,,,107,107,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96', -'96,96,96,96,,,,96,96' ] - racc_action_check = arr = Array.new(2192, nil) +'0,82,66,142,0,0,0,0,0,0,0,81,67,0,0,0,26,0,0,68,6,29,131,0,6,6,6,6,6', +'6,6,39,16,6,6,6,16,6,6,66,0,0,82,6,142,0,26,26,0,67,0,125,0,67,126,126', +'68,26,29,129,129,126,23,76,23,6,129,126,6,151,6,130,6,151,151,151,151', +'151,151,151,88,88,151,151,151,25,151,151,8,9,99,99,151,9,9,9,9,9,9,9', +'89,89,9,9,9,74,9,9,,151,151,,9,89,151,,25,151,,151,,151,25,,85,85,25', +'121,121,9,9,85,,121,9,85,,9,10,9,,9,10,10,10,10,10,10,10,117,117,10', +'10,10,,10,10,,75,12,12,10,75,75,75,75,75,75,75,96,96,75,75,75,,75,75', +'102,102,102,,75,,10,70,70,10,,10,,10,70,,70,112,112,112,112,112,40,40', +'102,102,75,,40,75,91,75,,75,91,91,91,91,91,91,91,112,112,91,91,91,,91', +'91,,148,148,,91,148,148,148,148,148,148,148,86,86,148,148,148,,148,148', +',91,91,,148,,91,69,69,91,,91,,91,41,41,,110,110,110,110,110,135,135', +',,148,,135,148,18,148,,148,18,18,18,18,18,18,18,110,110,18,18,18,,18', +'18,,19,,,18,19,19,19,19,19,19,19,,,19,19,19,,19,19,,18,18,,19,,18,,', +'18,,18,,18,153,153,,104,104,104,153,,,,,,19,,,19,20,19,,19,20,20,20', +'20,20,20,20,104,104,20,20,20,,20,20,,145,,,20,145,145,145,145,145,145', +'145,,,145,145,145,,145,145,,,,,145,,20,,,20,,20,,20,,,,106,106,106,106', +'106,,,,,145,,,145,127,145,,145,127,127,127,127,127,127,127,106,106,127', +'127,127,,127,127,,73,,,127,73,73,73,73,73,73,73,,,73,73,73,,73,73,,', +',,73,,127,,,127,,127,,127,77,77,77,77,77,77,,73,73,,,,73,,,73,27,73', +',73,27,27,27,27,27,27,27,,,27,27,27,,27,27,,119,,,27,119,119,119,119', +'119,119,119,,,119,119,119,,119,119,,,,,119,,27,,,27,,27,,27,,,,108,108', +'108,108,108,,,,,119,,,119,30,119,,119,30,30,30,30,30,30,30,108,108,30', +'30,30,,30,30,,34,,,30,34,34,34,34,34,34,34,,,34,34,34,,34,34,,,,,34', +',30,,,30,,30,,30,,,,,,,,34,34,,,,34,,,34,80,34,,34,80,80,80,80,80,80', +'80,,,80,80,80,,80,80,,118,,,80,118,118,118,118,118,118,118,,,118,118', +'118,,118,118,,,,,118,,80,,,80,,80,,80,,,,,,,,,,,,,118,,,118,90,118,', +'118,90,90,90,90,90,90,90,,,90,90,90,,90,90,,65,,,90,65,65,65,65,65,65', +'65,,,65,65,65,,65,65,,,,,65,,90,,,90,,90,,90,,,,,,,,,,,,,65,,,65,42', +'65,,65,42,42,42,42,42,42,42,,,42,42,42,,42,42,,43,,,42,43,43,43,43,43', +'43,43,,,43,43,43,,43,43,,,,,43,,42,,,42,,42,,42,,,,,,,,,,,,,43,,,43', +'44,43,,43,44,44,44,44,44,44,44,,,44,44,44,,44,44,,45,,,44,45,45,45,45', +'45,45,45,,,45,45,45,,45,45,,,,,45,,44,,,44,,44,,44,,,,,,,,,,,,,45,,', +'45,46,45,,45,46,46,46,46,46,46,46,,,46,46,46,,46,46,,47,,,46,47,47,47', +'47,47,47,47,,,47,47,47,,47,47,,,,,47,,46,,,46,,46,,46,,,,,,,,,,,,,47', +',,47,64,47,,47,64,64,64,64,64,64,64,,,64,64,64,,64,64,,49,,,64,49,49', +'49,49,49,49,49,,,49,49,49,,49,49,,,,,49,,64,,,64,,64,,64,,,,,,,,,,,', +',49,,,49,50,49,,49,50,50,50,50,50,50,50,,,50,50,50,,50,50,,51,,,50,51', +'51,51,51,51,51,51,,,51,51,51,,51,51,,,,,51,,50,,,50,,50,,50,,,,,,,,', +',,,,51,,,51,52,51,,51,52,52,52,52,52,52,52,,,52,52,52,,52,52,,53,,,52', +'53,53,53,53,53,53,53,,,53,53,53,,53,53,,,,,53,,52,,,52,,52,,52,,,,,', +',,,,,,,53,,,53,54,53,,53,54,54,54,54,54,54,54,,,54,54,54,,54,54,,55', +',,54,55,55,55,55,55,55,55,,,55,55,55,,55,55,,,,,55,,54,,,54,,54,,54', +',,,,,,,,,,,,55,,,55,56,55,,55,56,56,56,56,56,56,56,,,56,56,56,,56,56', +',57,,,56,57,57,57,57,57,57,57,,,57,57,57,,57,57,,,,,57,,56,,,56,,56', +',56,,,,,,,,,,,,,57,,,57,58,57,,57,58,58,58,58,58,58,58,,,58,58,58,,58', +'58,,59,,,58,59,59,59,59,59,59,59,,,59,59,59,,59,59,,,,,59,,58,,,58,', +'58,,58,,,,,,,,,,,,,59,,,59,60,59,,59,60,60,60,60,60,60,60,,,60,60,60', +',60,60,,61,,,60,61,61,61,61,61,61,61,,,61,61,61,,61,61,,,,,61,,60,,', +'60,,60,,60,,,,,,,,,,,,,61,,,61,62,61,,61,62,62,62,62,62,62,62,,,62,62', +'62,,62,62,,63,,,62,63,63,63,63,63,63,63,,,63,63,63,,63,63,,,,,63,,62', +',,62,,62,,62,,,,,,,,,,,,,63,,,63,48,63,,63,48,48,48,48,48,48,48,,,48', +'48,48,,48,48,,,,,48,,,,,,,,,,,,134,,,,,,,,,,48,,,48,,48,,48,134,134', +'134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134', +'134,134,38,,,134,134,,134,,,,,,,,,,,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,150,150,150,150,150,150,150', +'150,150,150,150,150,150,150,150,150,150,150,150,150,150,,,,150,150,', +'150,116,116,116,116,116,116,116,116,116,116,116,116,116,,,,,,,,,,,,116', +'116,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,', +',,72,72,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71', +'71,,,,71,71,136,136,136,136,136,136,136,136,136,136,136,136,136,136', +'136,136,136,136,136,136,136,,,,136,136,137,137,137,137,137,137,137,137', +'137,137,137,137,137,137,137,137,137,137,137,137,137,,,,137,137,123,123', +'123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123', +'123,123,,,,123,123,115,115,115,115,115,115,115,115,115,115,115,115,115', +',,,,,,,,,,,115,115,114,114,114,114,114,114,114,114,114,114,114,114,114', +',,,,,,,,,,,114,114,113,113,113,113,113,113,113,113,113,113,113,113,113', +'113,113,113,113,113,113,113,113,,,,113,113,141,141,141,141,141,141,141', +'141,141,141,141,141,141,141,141,141,141,141,141,141,141,,,,141,141,15', +'15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,,,,15,15', +'94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,,,,94', +'94,95,95,95,95,95,95,95,95,95,95,95,95,95,,,,,,,,,,,,95,95,97,97,97', +'97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,,,,97,97,98,98', +'98,98,98,98,98,98,98,98,98,98,98,,,,,,,,,,,,98,98,100,100,100,100,100', +'100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,,,,100', +'100,101,101,101,101,101,101,101,101,101,101,101,101,101,,,,,,,,,,,,101', +'101,103,103,103,103,103,103,103,103,103,103,103,103,103,,,,,,,,,,,,103', +'103,105,105,105,105,105,105,105,105,105,105,105,105,105,,,,,,,,,,,,105', +'105,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107', +'107,107,107,107,107,,,,107,107,109,109,109,109,109,109,109,109,109,109', +'109,109,109,109,109,109,109,109,109,109,109,,,,109,109,111,111,111,111', +'111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111', +',,,111,111' ] + racc_action_check = arr = Array.new(2235, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -196,84 +201,86 @@ clist = [ end racc_action_pointer = [ - 0, nil, nil, nil, nil, 20, nil, 93, 89, nil, - 104, nil, nil, 1677, 35, nil, 231, 280, 300, nil, - nil, 43, nil, 74, -9, 438, nil, 10, 507, nil, - nil, nil, 556, nil, nil, nil, 1545, 18, 120, 694, - 714, 763, 783, 832, 852, 901, 1473, 970, 990, 1039, - 1059, 1108, 1128, 1177, 1197, 1246, 1266, 1315, 1335, 1384, - 1404, 1453, 921, 8, -9, 40, 87, 1651, 1885, 645, - 9, nil, 625, 1, 260, nil, nil, 576, 63, 2, - nil, nil, 73, 130, nil, 199, 6, 487, 418, nil, - 1833, 1859, 189, 1625, 1937, 19, 2145, 1989, 162, 2015, - 179, 2041, 317, 2067, 386, 2093, 455, 2119, 110, 1963, - 1599, 1755, 1729, 57, -12, 369, 349, nil, 155, nil, - 1703, nil, 17, 14, 211, nil, 24, 47, 41, nil, - nil, 1507, 162, 1781, 1807, nil, nil, nil, 1911, -7, - nil, nil, 162, nil, nil, 142, nil, 1571, 69, nil, - 210, nil ] + -2, nil, nil, nil, nil, nil, 18, nil, 88, 87, + 136, nil, 117, nil, nil, 1902, 20, nil, 274, 294, + 343, nil, nil, 15, nil, 72, 4, 481, nil, 8, + 550, nil, nil, nil, 570, nil, nil, nil, 1588, 31, + 157, 215, 757, 777, 826, 846, 895, 915, 1516, 984, + 1033, 1053, 1102, 1122, 1171, 1191, 1240, 1260, 1309, 1329, + 1378, 1398, 1447, 1467, 964, 708, -11, -1, 6, 211, + 142, 1694, 1668, 432, 90, 156, 51, 461, nil, nil, + 619, -33, -11, nil, nil, 82, 193, nil, 35, 58, + 688, 205, nil, nil, 1928, 1954, 124, 1980, 2006, 45, + 2032, 2058, 156, 2084, 311, 2110, 380, 2136, 518, 2162, + 242, 2188, 173, 1850, 1824, 1798, 1642, 104, 639, 501, + nil, 85, nil, 1772, nil, 0, 12, 412, nil, 17, + 59, 10, nil, nil, 1550, 226, 1720, 1746, nil, nil, + nil, 1876, -9, nil, nil, 363, nil, nil, 225, nil, + 1614, 67, nil, 287, nil ] racc_action_default = [ - -56, -25, -12, -59, -13, -56, -14, -86, -56, -15, - -2, -57, -16, -3, -86, -17, -56, -77, -56, -20, - -7, -86, -21, -8, -69, -56, -22, -9, -56, -23, - -18, -10, -56, -24, -19, -11, -86, -86, -30, -5, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -86, -86, -6, -86, -78, -28, -56, - -86, -73, -56, -86, -86, -60, -63, -77, -86, -69, - -70, -65, -86, -31, -61, -29, -86, -56, -56, 152, - -4, -44, -33, -53, -45, -34, -54, -46, -35, -47, - -36, -48, -37, -49, -38, -50, -39, -51, -40, -52, - -41, -42, -43, -32, -74, -56, -56, -76, -86, -58, - -26, -62, -86, -86, -56, -66, -86, -86, -86, -67, - -85, -86, -86, -80, -79, -55, -64, -75, -27, -86, - -72, -71, -56, -81, -82, -5, -68, -86, -56, -83, - -86, -84 ] + -1, -73, -25, -12, -59, -13, -86, -14, -86, -86, + -86, -15, -2, -57, -16, -3, -86, -17, -86, -77, + -86, -20, -7, -86, -21, -8, -69, -86, -22, -9, + -86, -23, -18, -10, -86, -24, -19, -11, -86, -86, + -86, -30, -5, -86, -86, -86, -86, -86, -86, -86, + -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, + -86, -86, -86, -86, -86, -86, -74, -86, -86, -6, + -86, -78, -28, -86, -86, -86, -86, -86, -60, -63, + -77, -86, -69, -70, -65, -86, -31, -61, -29, -86, + -86, -86, 155, -56, -4, -44, -33, -53, -45, -34, + -54, -46, -35, -47, -36, -48, -37, -49, -38, -50, + -39, -51, -40, -52, -41, -42, -43, -32, -86, -86, + -76, -86, -58, -26, -62, -86, -86, -86, -66, -86, + -86, -86, -67, -85, -86, -86, -80, -79, -55, -64, + -75, -27, -86, -72, -71, -86, -81, -82, -5, -68, + -86, -86, -83, -86, -84 ] racc_goto_table = [ - 10, 36, 66, 64, 38, 39, 140, 141, 82, 63, - 122, 7, nil, 67, 68, nil, 65, nil, 140, 79, - nil, 83, 84, nil, 85, 71, nil, nil, nil, nil, - nil, 88, 86, nil, nil, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 84, - 39, 115, 123, 126, nil, 114, nil, nil, 120, 118, - nil, nil, nil, 67, nil, nil, nil, 127, nil, nil, - nil, 39, nil, 131, nil, nil, nil, nil, 132, nil, + 12, 38, 70, 68, 67, 41, 85, 42, 125, 40, + 66, 143, 144, 8, 71, 72, nil, nil, 69, nil, + nil, 82, 86, 143, nil, 88, nil, 87, nil, nil, + nil, nil, nil, 91, 89, 42, nil, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, nil, 129, 126, 42, 118, 87, nil, nil, nil, + 123, nil, nil, 121, nil, 71, nil, nil, nil, nil, + 130, nil, nil, nil, 42, 134, nil, nil, nil, nil, + nil, 135, 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, 133, 134, 39, nil, nil, nil, nil, 115, nil, - 138, 139, nil, nil, nil, nil, nil, 145, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 147, nil, - nil, 90, nil, nil, nil, 39, nil, nil, 150 ] + nil, nil, nil, 136, 137, nil, 42, nil, nil, nil, + nil, 118, 141, nil, 142, nil, nil, nil, nil, nil, + 148, nil, nil, nil, nil, nil, nil, nil, nil, nil, + 150, nil, nil, 94, nil, nil, nil, nil, 42, nil, + nil, 153 ] racc_goto_check = [ - 2, 3, 22, 7, 3, 4, 16, 16, 20, 6, - 5, 1, nil, 3, 3, nil, 2, nil, 16, 4, - nil, 3, 18, nil, 3, 21, nil, nil, nil, nil, - nil, 4, 2, nil, nil, 3, 3, 3, 3, 3, + 2, 3, 22, 7, 6, 3, 20, 4, 5, 2, + 21, 16, 16, 1, 3, 3, nil, nil, 2, nil, + nil, 4, 3, 16, nil, 3, nil, 18, nil, nil, + nil, nil, nil, 4, 2, 4, nil, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 18, - 4, 4, 22, 20, nil, 21, nil, nil, 3, 2, - nil, nil, nil, 3, nil, nil, nil, 4, nil, nil, - nil, 4, nil, 3, nil, nil, nil, nil, 2, nil, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, nil, 20, 22, 4, 4, 18, nil, nil, nil, + 3, nil, nil, 2, nil, 3, nil, nil, nil, nil, + 4, nil, nil, nil, 4, 3, nil, nil, nil, nil, + nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 3, 3, 4, nil, nil, nil, nil, 4, nil, - 3, 4, nil, nil, nil, nil, nil, 4, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 3, nil, - nil, 3, nil, nil, nil, 4, nil, nil, 2 ] + nil, nil, nil, 3, 3, nil, 4, nil, nil, nil, + nil, 4, 3, nil, 4, nil, nil, nil, nil, nil, + 4, nil, nil, nil, nil, nil, nil, nil, nil, nil, + 3, nil, nil, 3, nil, nil, nil, nil, 4, nil, + nil, 2 ] racc_goto_pointer = [ - nil, 11, 0, -4, -5, -64, -5, -11, nil, nil, - nil, nil, nil, nil, nil, nil, -121, nil, -5, nil, - -16, 2, -15 ] + nil, 13, 0, -5, -5, -69, -12, -13, nil, nil, + nil, nil, nil, nil, nil, nil, -119, nil, -2, nil, + -20, -6, -17 ] racc_goto_default = [ - nil, nil, nil, 13, 16, 20, 23, 27, 31, 35, - 2, 4, 6, 9, 12, 15, 80, 21, 75, 76, - nil, nil, nil ] + nil, nil, nil, 15, 18, 22, 25, 29, 33, 37, + 3, 5, 7, 11, 14, 17, 83, 23, 78, 79, + nil, 1, nil ] racc_reduce_table = [ 0, 0, :racc_error, @@ -332,7 +339,7 @@ racc_reduce_table = [ 3, 67, :_reduce_53, 3, 67, :_reduce_54, 4, 66, :_reduce_55, - 0, 73, :_reduce_56, + 3, 66, :_reduce_56, 1, 73, :_reduce_57, 3, 73, :_reduce_58, 1, 62, :_reduce_59, @@ -349,9 +356,9 @@ racc_reduce_table = [ 1, 76, :_reduce_70, 3, 76, :_reduce_71, 3, 76, :_reduce_72, - 2, 63, :_reduce_73, - 3, 63, :_reduce_74, - 3, 77, :_reduce_75, + 1, 63, :_reduce_73, + 2, 63, :_reduce_74, + 4, 77, :_reduce_75, 3, 68, :_reduce_76, 0, 78, :_reduce_77, 1, 78, :_reduce_78, @@ -365,7 +372,7 @@ racc_reduce_table = [ racc_reduce_n = 86 -racc_shift_n = 152 +racc_shift_n = 155 racc_token_table = { false => 0, @@ -852,9 +859,9 @@ module_eval(<<'.,.,', 'grammar.y', 138) end .,., -module_eval(<<'.,.,', 'grammar.y', 142) +module_eval(<<'.,.,', 'grammar.y', 139) def _reduce_56(val, _values, result) - result = [] + result = CodeNode.new([], val[1]) result end .,., @@ -973,21 +980,21 @@ module_eval(<<'.,.,', 'grammar.y', 174) module_eval(<<'.,.,', 'grammar.y', 179) def _reduce_73(val, _values, result) - result = CallNode.new(val[0], val[1]) + result = val[0] result end .,., module_eval(<<'.,.,', 'grammar.y', 180) def _reduce_74(val, _values, result) - result = CallNode.new(val[1], val[2], true) + result = val[0].new_instance result end .,., module_eval(<<'.,.,', 'grammar.y', 184) def _reduce_75(val, _values, result) - result = val[1] + result = CallNode.new(val[0], val[2]) result end .,.,