parser 2.5.1.0 → 2.5.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -1
- data/README.md +1 -1
- data/doc/AST_FORMAT.md +19 -2
- data/lib/parser/ast/processor.rb +1 -0
- data/lib/parser/builders/default.rb +12 -2
- data/lib/parser/lexer/stack_state.rb +4 -0
- data/lib/parser/lexer.rb +1780 -1761
- data/lib/parser/lexer.rl +8 -2
- data/lib/parser/ruby24.rb +14 -1
- data/lib/parser/ruby24.y +14 -1
- data/lib/parser/ruby25.rb +220 -206
- data/lib/parser/ruby25.y +15 -2
- data/lib/parser/ruby26.rb +892 -865
- data/lib/parser/ruby26.y +22 -1
- data/lib/parser/source/buffer.rb +1 -1
- data/lib/parser/source/comment/associator.rb +3 -3
- data/lib/parser/source/comment.rb +4 -4
- data/lib/parser/source/map.rb +1 -1
- data/lib/parser/source/range.rb +1 -1
- data/lib/parser/source/tree_rewriter.rb +2 -2
- data/lib/parser/version.rb +1 -1
- data/test/parse_helper.rb +1 -1
- data/test/test_parser.rb +72 -2
- metadata +2 -2
data/lib/parser/lexer.rl
CHANGED
|
@@ -1628,7 +1628,7 @@ class Parser::Lexer
|
|
|
1628
1628
|
else
|
|
1629
1629
|
emit(:tLBRACE_ARG, '{'.freeze)
|
|
1630
1630
|
end
|
|
1631
|
-
fnext expr_value;
|
|
1631
|
+
fnext expr_value; fbreak;
|
|
1632
1632
|
};
|
|
1633
1633
|
|
|
1634
1634
|
'do'
|
|
@@ -2243,10 +2243,16 @@ class Parser::Lexer
|
|
|
2243
2243
|
# OPERATORS
|
|
2244
2244
|
#
|
|
2245
2245
|
|
|
2246
|
+
'*'
|
|
2247
|
+
=> {
|
|
2248
|
+
emit(:tSTAR2)
|
|
2249
|
+
fgoto expr_value;
|
|
2250
|
+
};
|
|
2251
|
+
|
|
2246
2252
|
# When '|', '~', '!', '=>' are used as operators
|
|
2247
2253
|
# they do not accept any symbols (or quoted labels) after.
|
|
2248
2254
|
# Other binary operators accept it.
|
|
2249
|
-
( operator_arithmetic | operator_rest ) - ( '|' | '~' | '!' )
|
|
2255
|
+
( operator_arithmetic | operator_rest ) - ( '|' | '~' | '!' - '*' )
|
|
2250
2256
|
=> {
|
|
2251
2257
|
emit_table(PUNCTUATION);
|
|
2252
2258
|
fnext expr_value; fbreak;
|
data/lib/parser/ruby24.rb
CHANGED
|
@@ -4628,7 +4628,20 @@ def _reduce_258(val, _values, result)
|
|
|
4628
4628
|
end
|
|
4629
4629
|
|
|
4630
4630
|
def _reduce_259(val, _values, result)
|
|
4631
|
-
|
|
4631
|
+
# call_args can be followed by tLBRACE_ARG (that does cmdarg.push(0) in the lexer)
|
|
4632
|
+
# but the push must be done after cmdarg.pop() in the parser.
|
|
4633
|
+
# So this code does cmdarg.pop() to pop 0 pushed by tLBRACE_ARG,
|
|
4634
|
+
# cmdarg.pop() to pop 1 pushed by command_args,
|
|
4635
|
+
# and cmdarg.push(0) to restore back the flag set by tLBRACE_ARG.
|
|
4636
|
+
last_token = @last_token[0]
|
|
4637
|
+
lookahead = last_token == :tLBRACE_ARG
|
|
4638
|
+
if lookahead
|
|
4639
|
+
top = @lexer.cmdarg.pop
|
|
4640
|
+
@lexer.cmdarg.pop
|
|
4641
|
+
@lexer.cmdarg.push(top)
|
|
4642
|
+
else
|
|
4643
|
+
@lexer.cmdarg.pop
|
|
4644
|
+
end
|
|
4632
4645
|
|
|
4633
4646
|
result = val[1]
|
|
4634
4647
|
|
data/lib/parser/ruby24.y
CHANGED
|
@@ -875,7 +875,20 @@ rule
|
|
|
875
875
|
}
|
|
876
876
|
call_args
|
|
877
877
|
{
|
|
878
|
-
|
|
878
|
+
# call_args can be followed by tLBRACE_ARG (that does cmdarg.push(0) in the lexer)
|
|
879
|
+
# but the push must be done after cmdarg.pop() in the parser.
|
|
880
|
+
# So this code does cmdarg.pop() to pop 0 pushed by tLBRACE_ARG,
|
|
881
|
+
# cmdarg.pop() to pop 1 pushed by command_args,
|
|
882
|
+
# and cmdarg.push(0) to restore back the flag set by tLBRACE_ARG.
|
|
883
|
+
last_token = @last_token[0]
|
|
884
|
+
lookahead = last_token == :tLBRACE_ARG
|
|
885
|
+
if lookahead
|
|
886
|
+
top = @lexer.cmdarg.pop
|
|
887
|
+
@lexer.cmdarg.pop
|
|
888
|
+
@lexer.cmdarg.push(top)
|
|
889
|
+
else
|
|
890
|
+
@lexer.cmdarg.pop
|
|
891
|
+
end
|
|
879
892
|
|
|
880
893
|
result = val[1]
|
|
881
894
|
}
|
data/lib/parser/ruby25.rb
CHANGED
|
@@ -1975,105 +1975,105 @@ racc_action_default = [
|
|
|
1975
1975
|
|
|
1976
1976
|
clist = [
|
|
1977
1977
|
'221,216,334,303,381,130,130,585,16,266,272,276,691,16,264,281,281,281',
|
|
1978
|
-
'116,317,317,341,125,208,414,415,430,330,225,
|
|
1979
|
-
'
|
|
1980
|
-
'317,317,317,546,436,442,
|
|
1981
|
-
'225,225,302,
|
|
1982
|
-
'400,344,344,
|
|
1983
|
-
'484,671,
|
|
1984
|
-
'872,225,225,225,225,16,
|
|
1985
|
-
'657,344,344,344,344,
|
|
1986
|
-
'
|
|
1987
|
-
'
|
|
1988
|
-
'602,748,920,874,437,281,876,947,544,817,
|
|
1989
|
-
'483,446,491,492,16,225,418,225,225,418,225,792,
|
|
1990
|
-
'225,
|
|
1991
|
-
'450,671,408,
|
|
1992
|
-
'420,655,
|
|
1993
|
-
'795,225,
|
|
1994
|
-
'
|
|
1995
|
-
'
|
|
1996
|
-
'16,16,849,682,
|
|
1997
|
-
'
|
|
1998
|
-
',130,,,632,
|
|
1999
|
-
',
|
|
2000
|
-
',
|
|
2001
|
-
'
|
|
2002
|
-
'
|
|
2003
|
-
'
|
|
2004
|
-
'
|
|
2005
|
-
'
|
|
2006
|
-
'
|
|
2007
|
-
'
|
|
2008
|
-
'
|
|
2009
|
-
'
|
|
2010
|
-
'26,
|
|
2011
|
-
'
|
|
2012
|
-
'
|
|
2013
|
-
',16,,29,682,420,,,,340,688,
|
|
2014
|
-
'
|
|
2015
|
-
'29
|
|
2016
|
-
'
|
|
2017
|
-
'
|
|
2018
|
-
'
|
|
2019
|
-
'
|
|
2020
|
-
'
|
|
2021
|
-
'
|
|
2022
|
-
'29,,776,778,783,781,,,29
|
|
2023
|
-
'
|
|
2024
|
-
'
|
|
2025
|
-
',,,
|
|
2026
|
-
'416,,,416
|
|
2027
|
-
'
|
|
2028
|
-
'
|
|
2029
|
-
'
|
|
2030
|
-
'
|
|
2031
|
-
',
|
|
2032
|
-
'
|
|
2033
|
-
'
|
|
2034
|
-
'26,,,,,,,29,,,,,29,29,26,,29,,,,17,,,,,17,29,,,,,26
|
|
2035
|
-
'
|
|
2036
|
-
'26,,,357,366,366,,,,,,,15,416,,,,13,,,,26,,416,416,,26,29
|
|
2037
|
-
'
|
|
2038
|
-
',15,,,15,,,,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,,13,,,,29,13
|
|
2039
|
-
'15,,13,,15,,,17,29,419,15,15,419,29,,15,15,,419,416
|
|
2040
|
-
'
|
|
2041
|
-
'
|
|
2042
|
-
',944,,13,13,,,,,15,,,,17,17,,,,,,,38,306,306
|
|
2043
|
-
'
|
|
2044
|
-
'39,,15,,,,,,,,,,,,38,,15,,,,,,,38,,38,,,39,307,307,,,15
|
|
2045
|
-
'
|
|
2046
|
-
'310,,,,,,,,310,,,,,,,,39,15,38,,,,15,,,39,,39
|
|
2047
|
-
'
|
|
2048
|
-
'
|
|
2049
|
-
'
|
|
2050
|
-
'39,,,,39,,,,307,39,,,,,,,,,,,,,,17,,307,,,17,,,,17,,,39
|
|
2051
|
-
',,,,,,39,39,,,,,,419,,,,,,,,,,,,,,,,,,,,,,,,,,,,17
|
|
2052
|
-
'
|
|
2053
|
-
'
|
|
2054
|
-
'
|
|
2055
|
-
'
|
|
2056
|
-
'
|
|
2057
|
-
'
|
|
2058
|
-
'
|
|
2059
|
-
'38,,,,,,,,,,,,,,38,,,,,,,,,,,,369,,,,,38,,,,939,,38,38
|
|
2060
|
-
'
|
|
2061
|
-
'38,39,,,,38,,280,423,,,429,280,370,,,,429,39,,,,940,,39,39
|
|
2062
|
-
'
|
|
2063
|
-
'477,478,479,480,481,,,,,482,,,,,,,280,280,,370,,,,39,,280
|
|
2064
|
-
'
|
|
1978
|
+
'116,317,317,341,125,208,414,415,430,330,225,533,577,580,345,346,133',
|
|
1979
|
+
'133,350,225,225,225,6,16,308,308,497,6,265,828,636,135,135,282,282,282',
|
|
1980
|
+
'317,317,317,546,436,442,745,561,427,113,348,349,553,16,447,130,123,224',
|
|
1981
|
+
'225,225,302,488,225,355,365,365,489,523,335,116,112,594,397,398,399',
|
|
1982
|
+
'400,344,344,536,539,344,320,543,840,386,332,809,324,283,283,283,299',
|
|
1983
|
+
'821,484,671,715,2,700,701,301,421,663,117,421,268,275,277,16,831,421',
|
|
1984
|
+
'872,800,225,225,225,225,16,843,16,336,339,904,948,668,972,668,950,387',
|
|
1985
|
+
'657,1,344,344,344,344,393,351,671,665,882,6,367,371,615,617,279,292',
|
|
1986
|
+
'293,674,401,207,6,360,410,403,723,907,661,626,827,328,829,337,660,383',
|
|
1987
|
+
'338,342,358,598,382,710,611,613,616,616,331,534,611,333,741,852,497',
|
|
1988
|
+
'601,602,748,920,874,437,281,876,947,544,817,875,972,343,697,453,889',
|
|
1989
|
+
'890,483,446,491,492,16,225,418,225,225,418,225,395,792,960,813,418,225',
|
|
1990
|
+
'225,1014,413,413,402,950,886,957,425,426,728,385,16,388,828,389,390',
|
|
1991
|
+
'449,450,671,408,391,968,866,392,281,281,904,835,698,750,409,420,561',
|
|
1992
|
+
'281,420,655,873,553,755,828,420,742,789,677,302,826,225,225,668,668',
|
|
1993
|
+
'823,686,966,933,795,225,993,,317,524,,282,517,520,436,442,806,272,744',
|
|
1994
|
+
'282,,276,,16,502,317,,16,116,527,831,308,16,535,581,,739,,,,961,,1016',
|
|
1995
|
+
',,,679,,308,,,710,,,837,507,,,16,588,302,,283,,,302,828,,847,,283,,',
|
|
1996
|
+
'506,225,16,16,849,682,,508,,951,513,116,,266,,682,,1017,299,344,,505',
|
|
1997
|
+
'225,299,964,521,509,,,860,,515,893,,,582,583,,225,,600,969,,970,731',
|
|
1998
|
+
'490,130,,,632,603,,,493,740,,604,637,758,,758,846,,625,,,643,561,,561',
|
|
1999
|
+
',,648,,802,133,682,584,924,925,,,805,437,682,850,,281,765,854,135,,',
|
|
2000
|
+
',,779,,446,,816,784,,,710,1008,710,855,856,656,225,561,561,1019,,643',
|
|
2001
|
+
'553,553,,,671,436,442,,,,,,,,524,,,,,775,777,,524,,780,782,,,,,317,',
|
|
2002
|
+
'437,281,822,668,,814,317,,,,437,,,16,446,877,428,,,,,308,448,225,446',
|
|
2003
|
+
'955,710,642,996,308,,,421,647,802,,,,225,,,,421,421,,,,421,421,916,',
|
|
2004
|
+
',,,,,690,,,,,,,922,,,,962,667,,938,437,281,,,659,710,,710,437,,,281',
|
|
2005
|
+
',16,446,,16,736,,,446,,959,225,724,,,,,,869,,,225,,,730,16,696,,561',
|
|
2006
|
+
'710,,743,437,281,720,794,861,722,,130,,,,1023,,,446,,,,815,,637,,418',
|
|
2007
|
+
'225,762,,16,,877,524,877,,418,418,,793,133,418,418,,807,,,,637,317,995',
|
|
2008
|
+
',,,643,135,,648,,,317,,770,421,,,,820,857,420,,,308,,,,,,,420,420,26',
|
|
2009
|
+
',308,420,420,26,,,,,,,,704,706,708,,851,774,637,26,413,877,,,,,,637',
|
|
2010
|
+
'26,26,26,,26,965,,,869,,869,,869,,,,,,,,,,16,130,637,,,16,225,884,26',
|
|
2011
|
+
'16,,888,,26,26,,448,26,428,16,,,,,344,,824,,,824,,,,848,,820,418,,,',
|
|
2012
|
+
',,,,,,1009,,,,,,858,,,,,869,,869,,869,26,869,16,,909,26,26,26,26,26',
|
|
2013
|
+
'29,26,,16,,29,682,420,,,,340,688,869,,,,,,,29,,,,,881,,,,29,29,29,,29',
|
|
2014
|
+
'225,,885,,16,,,820,,,16,,,317,,,915,,344,870,,919,317,,16,29,,,,878',
|
|
2015
|
+
'29,29,,,29,,935,912,,,,16,,,,941,,16,16,,,451,26,26,26,26,26,26,26,830',
|
|
2016
|
+
',832,,26,26,26,,,,317,,,,,937,,980,26,985,29,945,946,,,29,29,29,29,29',
|
|
2017
|
+
',29,,975,776,778,,16,,781,783,,,,,,,,494,,,,,26,26,437,281,,16,,,,26',
|
|
2018
|
+
'16,446,,,411,424,446,978,510,,895,897,,899,901,225,902,26,637,,,26,824',
|
|
2019
|
+
',,870,26,870,994,870,871,,878,,,878,,878,,878,,,13,,,,,13,,,,,26,29',
|
|
2020
|
+
'29,29,29,29,29,29,,,,,29,29,29,,26,26,26,,,,,13,,,29,499,,501,,,503',
|
|
2021
|
+
'504,,,,26,,,,,,,870,,870,,870,13,870,862,,26,878,,878,,878,359,878,29',
|
|
2022
|
+
'29,,776,778,783,781,,,29,,870,,952,,953,,954,,,,878,988,989,990,991',
|
|
2023
|
+
',29,,,,29,,,,,29,,,,,,13,,649,,,971,,973,,13,15,13,,,,15,,,,,29,26,',
|
|
2024
|
+
',,,,,,,,,,,,,29,29,29,,862,662,,15,1024,666,,,,,,628,,,,,,29,,,,675',
|
|
2025
|
+
',,1015,,,678,,15,,,26,29,1020,,1021,,1022,,,,26,,,,694,,,,,,,,,,13,26',
|
|
2026
|
+
'416,,,416,1030,,,,,416,,,,,,,,,,,,,,13,,15,,,,,,,,,15,,15,669,,340,',
|
|
2027
|
+
'672,,,,26,29,,26,,,,,,,26,,,749,,,,,,,26,,,,26,,,,,,,,,669,,,340,,,',
|
|
2028
|
+
'13,,,,13,,,,,13,,,29,26,26,,,26,927,929,931,716,29,26,26,,,,26,26,,',
|
|
2029
|
+
',,,13,15,29,15,,,15,424,,,,,15,,,,,13,13,,,,,,808,,15,,,,,,,,,,,,,,',
|
|
2030
|
+
',,,,,,,29,839,763,29,,,,,,,29,669,340,,,,,,,,29,,,,29,,,,,,,,998,1000',
|
|
2031
|
+
'1002,1004,26,1005,,,15,26,26,803,15,26,804,,,15,,,,29,29,26,,29,,,,',
|
|
2032
|
+
',29,29,812,,,29,29,,,26,,,15,,,,,,,834,1026,1027,1028,1029,,,,,,15,15',
|
|
2033
|
+
'1031,,,,,,26,,,,,,,,,,,26,,,,,,,,,,903,,,,,,13,,,,,,,,,,859,,,,918,26',
|
|
2034
|
+
',,,26,,,,,,26,,,,,,,29,,,,,29,29,26,,29,,,,17,,,,,17,29,,,,,26,,,,,',
|
|
2035
|
+
'26,26,,,,,29,,,13,,,13,,,,17,310,310,,,,,,,,,,,911,,,,13,29,,,,,,,,17',
|
|
2036
|
+
',,29,,340,,26,,,357,366,366,,,,,,,15,416,,,,13,,,,26,,416,416,,26,29',
|
|
2037
|
+
'416,416,,29,,,,,,29,,,,26,,,,,,17,,,,29,,,,,17,,17,,,,,,,,,,29,,,,,',
|
|
2038
|
+
'29,29,,,,,,,,15,,,15,,,,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,,13,,,,29,13,',
|
|
2039
|
+
',,13,,,,,,,,15,,13,,15,,,17,29,419,15,15,419,29,,15,15,,419,416,,,,',
|
|
2040
|
+
',,,,29,,,,17,,,,,,,,,,,,,,,13,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2041
|
+
',,,,,,,,,13,17,,,,17,13,,,310,17,,,15,,,,,15,,13,,15,,,,310,,38,,,,15',
|
|
2042
|
+
'38,,,17,13,,,,944,,13,13,,,,,15,,,,17,17,,,,,,,38,306,306,,,,,,,,,,',
|
|
2043
|
+
',,,15,,,,,,,,,,38,15,,,,13,,,,,353,369,369,369,,,,,,,,,,,,,13,,,,,13',
|
|
2044
|
+
',,,39,15,,,,39,,15,,,,,,,,,,,,38,,15,,,,,,,38,,38,,,39,307,307,,,15',
|
|
2045
|
+
',,,,,15,15,,,,,,,,,,,,,,39,,,,,,,,,,354,370,370,370,,,,,,,,,,,,,,,,',
|
|
2046
|
+
'17,,,,15,,,,310,,,,,,,,310,,,,,,,,39,15,38,,,,15,,,39,,39,,,,,,,,,,',
|
|
2047
|
+
',,,,,38,,,,,,,,,,,,,,,,,,,,17,,,17,,,,,,,,,,,,,,,,,,,,,17,,,,,,,754',
|
|
2048
|
+
',,,,,,,,,,38,,,,38,,,39,306,38,,419,,,,17,,,,,,419,419,,,306,419,419',
|
|
2049
|
+
',,,,39,,,38,,,,,,,,,,,,,,,,,38,38,,,,310,,,,,,,,,,,310,,,,,,,,,,,,,',
|
|
2050
|
+
',,,,,,,,,,,,39,,,,39,,,,307,39,,,,,,,,,,,,,,17,,307,,,17,,,,17,,,39',
|
|
2051
|
+
',,,,,,17,,,,,,,,,,39,39,,,,,,419,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,,,,,',
|
|
2052
|
+
',,,,,17,,,,,,,,,,,,,,,,,,38,,,,,,,,306,,,,,,,,306,17,,,,,,17,,,,,,,',
|
|
2053
|
+
',,,,,,17,,,,,,,,,,,,366,,,,,17,,,,943,,17,17,,,,,,,,,,38,,,38,,,,,,',
|
|
2054
|
+
',,,,,,,,,,,,,39,38,,,,,,,307,,,366,,,,17,307,,,,,,,,,,,,,,,,,,38,,17',
|
|
2055
|
+
',,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,39,,306,,,,,,,,,,,306,,,,,',
|
|
2056
|
+
',,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,,,,,38,,,,,38,,,,38,,,,,',
|
|
2057
|
+
',,,,38,,,,,,,,,,,,,,,307,,,,,,232,,,,,307,,,,280,280,280,,,,,,,,,,,326',
|
|
2058
|
+
'327,38,329,,,,,,,,,,38,,,,,280,280,,,,,,,,,,,,,39,,,,,39,,,,39,,,,,',
|
|
2059
|
+
',38,,,39,,,38,,,,,,,,,,,,,,38,,,,,,,,,,,,369,,,,,38,,,,939,,38,38,,',
|
|
2060
|
+
',39,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,369,,,,38,,39,,,,,,39,',
|
|
2061
|
+
',,,,,,,,,,,38,39,,,,38,,280,423,,,429,280,370,,,,429,39,,,,940,,39,39',
|
|
2062
|
+
',,,,232,,,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474',
|
|
2063
|
+
'475,476,477,478,479,480,481,,,,,482,,,,,,,280,280,,370,,,,39,,280,,',
|
|
2064
|
+
',,,,280,,280,,,280,280,,,,,,39,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,529,',
|
|
2065
|
+
'530,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2066
|
+
',,,,,,,,,,,,,,,,,280,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,',
|
|
2067
|
+
'429,429,429,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,280,,280,,,,,,',
|
|
2068
|
+
',,,,,,,,,280,,,,,,,,,429,689,,,,,,,,,,,280,,,280,,,,,,,,,,,,,,,,,,,',
|
|
2069
|
+
',,,,,280,,,,,,,,,,,,,,,,,,,,,280,280,,,,,,,,,,280,,,,,,,,,,,,,,,,,,',
|
|
2070
|
+
',,,,,,,,,,,,,280,429,280,,,,771,,,280,280,429,429,,,,429,429,,,,,,,',
|
|
2071
|
+
',,,,,,,,,,,,,,,,280,,,280,,,,,,,,,,,,,,,,,,,280,,,,,,,,,,,,,,,,,280',
|
|
2072
|
+
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,,,,,,,429',
|
|
2073
|
+
',,,,,,,,,,,,429,429,429,429,,865,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2074
|
+
',,,,,,,,,,,,,,,,,,,280,,,,,,,,,,,,,,,,,,280,429,,,,,,,,,,,,,,,,,,,,',
|
|
2065
2075
|
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2066
|
-
'
|
|
2067
|
-
'429,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,280,,280,,,,,,,,,,,,,,',
|
|
2068
|
-
',280,,,,,,,,,429,689,,,,,,,,,,,280,,,280,,,,,,,,,,,,,,,,,,,,,,,,,280',
|
|
2069
|
-
',,,,,,,,,,,,,,,,,,,,280,280,,,,,,,,,,280,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2070
|
-
',,,,280,429,280,,,,771,,,280,280,429,429,,,,429,429,,,,,,,,,,,,,,,,',
|
|
2071
|
-
',,,,,,,280,,,280,,,,,,,,,,,,,,,,,,,280,,,,,,,,,,,,,,,,,280,,,,,,,,,',
|
|
2072
|
-
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,,,,,,,429,,,,,,,,',
|
|
2073
|
-
',,,,429,429,429,429,,865,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2074
|
-
',,,,,,,,,,,280,,,,,,,,,,,,,,,,,,280,429,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2075
|
-
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2076
|
-
',,,,,,,,,,,,,,,,,,280' ]
|
|
2076
|
+
',,,,,,,,,,,,,,,,,,,,,,,,,,280' ]
|
|
2077
2077
|
racc_goto_table = arr = ::Array.new(3624, nil)
|
|
2078
2078
|
idx = 0
|
|
2079
2079
|
clist.each do |str|
|
|
@@ -2085,95 +2085,96 @@ clist = [
|
|
|
2085
2085
|
|
|
2086
2086
|
clist = [
|
|
2087
2087
|
'34,32,77,56,63,64,64,101,29,32,81,81,11,29,141,39,39,39,104,73,73,96',
|
|
2088
|
-
'16,16,23,23,30,34,29,
|
|
2089
|
-
'
|
|
2090
|
-
'
|
|
2091
|
-
'25,
|
|
2092
|
-
'53,19,46,
|
|
2093
|
-
'116,
|
|
2094
|
-
'51,51,51,
|
|
2095
|
-
'
|
|
2096
|
-
'113,114,115,120,81,39,126,133,136,137,
|
|
2097
|
-
'64,147,148,29,29,29,29,29,29,29,151,
|
|
2098
|
-
'
|
|
2099
|
-
'
|
|
2100
|
-
'
|
|
2101
|
-
'81
|
|
2102
|
-
'
|
|
2103
|
-
'
|
|
2104
|
-
'
|
|
2105
|
-
'
|
|
2106
|
-
'
|
|
2107
|
-
'43,43,,,,,,,,56,,
|
|
2108
|
-
'
|
|
2109
|
-
',,,29,,,,19,19,,,,19,19,,,,
|
|
2110
|
-
'
|
|
2111
|
-
'
|
|
2112
|
-
',
|
|
2113
|
-
',
|
|
2114
|
-
',
|
|
2115
|
-
'
|
|
2116
|
-
'
|
|
2117
|
-
'
|
|
2118
|
-
'
|
|
2119
|
-
'
|
|
2120
|
-
'
|
|
2121
|
-
'
|
|
2122
|
-
'
|
|
2123
|
-
'
|
|
2124
|
-
'
|
|
2125
|
-
'
|
|
2126
|
-
',127,,
|
|
2127
|
-
'
|
|
2128
|
-
'
|
|
2129
|
-
',
|
|
2130
|
-
',,,,28,,28,75,,75,,75,,,,47,50,,47,,,,,,,47
|
|
2131
|
-
'
|
|
2132
|
-
'
|
|
2133
|
-
'
|
|
2134
|
-
'
|
|
2135
|
-
'50,50,
|
|
2136
|
-
',,,,,,47,,,,,,,,,,,47
|
|
2137
|
-
'
|
|
2138
|
-
'
|
|
2139
|
-
'47,,,33,33,33,,,,,,,28,22,,,,22,,,,47,,22,22,,47,50,22,22,,50
|
|
2140
|
-
'
|
|
2141
|
-
'
|
|
2142
|
-
',,33,50,33,28,28,33,50,,28,28,,33,22,,,,,,,,,50,,,,33
|
|
2143
|
-
'22,,,,,,,,,,,22,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,22,33,,,,33
|
|
2144
|
-
'33,,,28,,,,,28,,22,,28,,,,33,,59,,,,28,59,,,33,22,,,,22,,22
|
|
2145
|
-
'
|
|
2146
|
-
'59,59,59,,,,,,,,,,,,,22,,,,,22,,,,60,28,,,,60,,28
|
|
2147
|
-
'
|
|
2148
|
-
'60,60,60,,,,,,,,,,,,,,,,,33,,,,28,,,,33,,,,,,,,33,,,,,,,,60
|
|
2149
|
-
',28,,,60,,60,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,33,,,33
|
|
2150
|
-
'
|
|
2151
|
-
'33,,,59,33,33,,,,,60,,,59,,,,,,,,,,,,,,,,,59,59,,,,33
|
|
2152
|
-
'
|
|
2153
|
-
',,33,,,60,,,,,,,33,,,,,,,,,,60,60,,,,,,33
|
|
2154
|
-
'
|
|
2155
|
-
'
|
|
2156
|
-
'
|
|
2157
|
-
'33,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,60,,59,,,,,,,,,,,59
|
|
2158
|
-
'
|
|
2159
|
-
'
|
|
2160
|
-
'59,35,,,,,,,,,,59,,,,,35,35,,,,,,,,,,,,,60,,,,,60,,,,60,,,,,,,59
|
|
2161
|
-
',,59,,,,,,,,,,,,,,59,,,,,,,,,,,,59,,,,,59,,,,59,,59,59,,,,60
|
|
2162
|
-
'
|
|
2163
|
-
'60,,,,59,,35,35,,,35,35,60,,,,35,60,,,,60,,60,60,,,,,35,,,35
|
|
2164
|
-
'35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,,,,,35
|
|
2165
|
-
'35,,60,,,,60,,35,,,,,,,35,,35,,,35,35,,,,,,60,,,,,60
|
|
2166
|
-
'
|
|
2167
|
-
'
|
|
2168
|
-
'
|
|
2169
|
-
'
|
|
2170
|
-
'
|
|
2171
|
-
'
|
|
2172
|
-
'
|
|
2173
|
-
'
|
|
2174
|
-
'35,,35
|
|
2175
|
-
'
|
|
2176
|
-
'
|
|
2088
|
+
'16,16,23,23,30,34,29,9,99,99,18,18,67,67,18,29,29,29,7,29,29,29,83,7',
|
|
2089
|
+
'42,176,31,68,68,78,78,78,73,73,73,140,43,43,105,175,27,6,36,36,170,29',
|
|
2090
|
+
'27,64,8,21,29,29,10,45,29,29,29,29,30,58,78,104,4,61,18,18,18,18,25',
|
|
2091
|
+
'25,79,79,25,57,79,100,158,7,12,71,80,80,80,52,132,43,185,118,2,123,123',
|
|
2092
|
+
'53,19,46,5,19,44,44,44,29,181,19,128,130,29,29,29,29,29,12,29,80,80',
|
|
2093
|
+
'116,134,84,182,84,135,159,144,1,25,25,25,25,159,4,185,144,13,7,62,62',
|
|
2094
|
+
'162,162,51,51,51,15,7,17,7,20,24,26,37,119,48,69,129,74,129,76,82,94',
|
|
2095
|
+
'95,98,102,103,106,117,163,163,163,163,107,108,163,109,110,111,83,112',
|
|
2096
|
+
'113,114,115,120,81,39,126,133,136,137,132,182,138,139,32,142,143,145',
|
|
2097
|
+
'64,147,148,29,29,29,29,29,29,29,5,151,152,153,29,29,29,134,78,78,2,135',
|
|
2098
|
+
'154,119,25,25,101,157,29,160,176,161,164,25,25,185,10,165,128,130,166',
|
|
2099
|
+
'39,39,116,118,140,167,21,21,175,39,21,30,129,170,168,176,21,169,31,58',
|
|
2100
|
+
'10,174,29,29,84,84,178,58,179,132,46,29,119,,73,56,,78,32,34,43,43,31',
|
|
2101
|
+
'81,9,78,,81,,29,158,73,,29,104,32,181,29,29,34,18,,61,,,,12,,119,,,',
|
|
2102
|
+
'30,,29,,,117,,,117,7,,,29,32,10,,80,,,10,176,,31,,80,,,6,29,29,29,31',
|
|
2103
|
+
'43,,8,,129,57,104,,32,,43,,100,52,25,,4,29,52,105,71,53,,,31,,53,123',
|
|
2104
|
+
',,10,10,,29,,25,129,,129,30,51,64,,,32,42,,,51,30,,25,34,163,,163,99',
|
|
2105
|
+
',16,,,81,175,,175,,,81,,83,67,43,4,123,123,,,58,81,43,9,,39,30,9,68',
|
|
2106
|
+
',,,,45,,64,,79,45,,,117,11,117,140,140,34,29,175,175,129,,81,170,170',
|
|
2107
|
+
',,185,43,43,,,,,,,,56,,,,,27,27,,56,,27,27,,,,,73,,81,39,122,84,,23',
|
|
2108
|
+
'73,,,,81,,,29,64,175,70,,,,,29,70,29,64,117,117,44,123,29,,,19,44,83',
|
|
2109
|
+
',,,29,,,,19,19,,,,19,19,9,,,,,,,25,,,,,,,9,,,,101,80,,99,81,39,,,44',
|
|
2110
|
+
'117,,117,81,,,39,,29,64,,29,36,,,64,,99,29,104,,,,,,122,,,29,,,78,29',
|
|
2111
|
+
'80,,175,117,,104,81,39,10,96,27,10,,64,,,,31,,,64,,,,77,,34,,29,29,16',
|
|
2112
|
+
',29,,175,56,175,,29,29,,141,67,29,29,,56,,,,34,73,9,,,,81,68,,81,,,73',
|
|
2113
|
+
',7,19,,,,34,63,21,,,29,,,,,,,21,21,47,,29,21,21,47,,,,,,,,173,173,173',
|
|
2114
|
+
',18,80,34,47,78,175,,,,,,34,47,47,47,,47,122,,,122,,122,,122,,,,,,,',
|
|
2115
|
+
',,29,64,34,,,29,29,77,47,29,,77,,47,47,,70,47,70,29,,,,,25,,124,,,124',
|
|
2116
|
+
',,,10,,34,29,,,,,,,,,,30,,,,,,10,,,,,122,,122,,122,47,122,29,,18,47',
|
|
2117
|
+
'47,47,47,47,50,47,,29,,50,43,21,,,,75,70,122,,,,,,,50,,,,,10,,,,50,50',
|
|
2118
|
+
'50,,50,29,,10,,29,,,34,,,29,,,73,,,104,,25,124,,104,73,,29,50,,,,177',
|
|
2119
|
+
'50,50,,,50,,29,10,,,,29,,,,29,,29,29,,,54,47,47,47,47,47,47,47,127,',
|
|
2120
|
+
'127,,47,47,47,,,,73,,,,,10,,32,47,34,50,10,10,,,50,50,50,50,50,,50,',
|
|
2121
|
+
'29,70,70,,29,,70,70,,,,,,,,54,,,,,47,47,81,39,,29,,,,47,29,64,,,75,75',
|
|
2122
|
+
'64,10,54,,173,173,,173,173,29,173,47,34,,,47,124,,,124,47,124,10,124',
|
|
2123
|
+
'127,,177,,,177,,177,,177,,,22,,,,,22,,,,,47,50,50,50,50,50,50,50,,,',
|
|
2124
|
+
',50,50,50,,47,47,47,,,,,22,,,50,75,,75,,,75,75,,,,47,,,,,,,124,,124',
|
|
2125
|
+
',124,22,124,70,,47,177,,177,,177,22,177,50,50,,70,70,70,70,,,50,,124',
|
|
2126
|
+
',127,,127,,127,,,,177,173,173,173,173,,50,,,,50,,,,,50,,,,,,22,,54,',
|
|
2127
|
+
',127,,127,,22,28,22,,,,28,,,,,50,47,,,,,,,,,,,,,,,50,50,50,,70,54,,28',
|
|
2128
|
+
'173,54,,,,,,75,,,,,,50,,,,54,,,127,,,54,,28,,,47,50,127,,127,,127,,',
|
|
2129
|
+
',47,,,,54,,,,,,,,,,22,47,22,,,22,127,,,,,22,,,,,,,,,,,,,,22,,28,,,,',
|
|
2130
|
+
',,,,28,,28,75,,75,,75,,,,47,50,,47,,,,,,,47,,,54,,,,,,,47,,,,47,,,,',
|
|
2131
|
+
',,,,75,,,75,,,,22,,,,22,,,,,22,,,50,47,47,,,47,125,125,125,75,50,47',
|
|
2132
|
+
'47,,,,47,47,,,,,,22,28,50,28,,,28,75,,,,,28,,,,,22,22,,,,,,54,,28,,',
|
|
2133
|
+
',,,,,,,,,,,,,,,,,,,50,54,75,50,,,,,,,50,75,75,,,,,,,,50,,,,50,,,,,,',
|
|
2134
|
+
',125,125,125,125,47,125,,,28,47,47,75,28,47,75,,,28,,,,50,50,47,,50',
|
|
2135
|
+
',,,,,50,50,75,,,50,50,,,47,,,28,,,,,,,75,125,125,125,125,,,,,,28,28',
|
|
2136
|
+
'125,,,,,,47,,,,,,,,,,,47,,,,,,,,,,54,,,,,,22,,,,,,,,,,75,,,,54,47,,',
|
|
2137
|
+
',47,,,,,,47,,,,,,,50,,,,,50,50,47,,50,,,,33,,,,,33,50,,,,,47,,,,,,47',
|
|
2138
|
+
'47,,,,,50,,,22,,,22,,,,33,33,33,,,,,,,,,,,75,,,,22,50,,,,,,,,33,,,50',
|
|
2139
|
+
',75,,47,,,33,33,33,,,,,,,28,22,,,,22,,,,47,,22,22,,47,50,22,22,,50,',
|
|
2140
|
+
',,,,50,,,,47,,,,,,33,,,,50,,,,,33,,33,,,,,,,,,,50,,,,,,50,50,,,,,,,',
|
|
2141
|
+
'28,,,28,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,22,,,,50,22,,,,22,,,,,,,,28',
|
|
2142
|
+
',22,,28,,,33,50,33,28,28,33,50,,28,28,,33,22,,,,,,,,,50,,,,33,,,,,,',
|
|
2143
|
+
',,,,,,,,22,,,,,,,,,,,22,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,22,33,,,,33',
|
|
2144
|
+
'22,,,33,33,,,28,,,,,28,,22,,28,,,,33,,59,,,,28,59,,,33,22,,,,22,,22',
|
|
2145
|
+
'22,,,,,28,,,,33,33,,,,,,,59,59,59,,,,,,,,,,,,,,28,,,,,,,,,,59,28,,,',
|
|
2146
|
+
'22,,,,,59,59,59,59,,,,,,,,,,,,,22,,,,,22,,,,60,28,,,,60,,28,,,,,,,,',
|
|
2147
|
+
',,,59,,28,,,,,,,59,,59,,,60,60,60,,,28,,,,,,28,28,,,,,,,,,,,,,,60,,',
|
|
2148
|
+
',,,,,,,60,60,60,60,,,,,,,,,,,,,,,,,33,,,,28,,,,33,,,,,,,,33,,,,,,,,60',
|
|
2149
|
+
'28,59,,,,28,,,60,,60,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,33,,,33,,',
|
|
2150
|
+
',,,,,,,,,,,,,,,,,,33,,,,,,,33,,,,,,,,,,,59,,,,59,,,60,59,59,,33,,,,33',
|
|
2151
|
+
',,,,,33,33,,,59,33,33,,,,,60,,,59,,,,,,,,,,,,,,,,,59,59,,,,33,,,,,,',
|
|
2152
|
+
',,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,60,,,,60,60,,,,,,,,,,,,,,33,,60',
|
|
2153
|
+
',,33,,,,33,,,60,,,,,,,33,,,,,,,,,,60,60,,,,,,33,,,,,,,,,,,,,,,,,,,,',
|
|
2154
|
+
',,,,,,,33,,,,,,,,,,,33,,,,,,,,,,,,,,,,,,59,,,,,,,,59,,,,,,,,59,33,,',
|
|
2155
|
+
',,,33,,,,,,,,,,,,,,33,,,,,,,,,,,,33,,,,,33,,,,33,,33,33,,,,,,,,,,59',
|
|
2156
|
+
',,59,,,,,,,,,,,,,,,,,,,,60,59,,,,,,,60,,,33,,,,33,60,,,,,,,,,,,,,,,',
|
|
2157
|
+
',,59,,33,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,60,,59,,,,,,,,,,,59',
|
|
2158
|
+
',,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,59,,,,,59,,,,59',
|
|
2159
|
+
',,,,,,,,,59,,,,,,,,,,,,,,,60,,,,,,35,,,,,60,,,,35,35,35,,,,,,,,,,,35',
|
|
2160
|
+
'35,59,35,,,,,,,,,,59,,,,,35,35,,,,,,,,,,,,,60,,,,,60,,,,60,,,,,,,59',
|
|
2161
|
+
',,60,,,59,,,,,,,,,,,,,,59,,,,,,,,,,,,59,,,,,59,,,,59,,59,59,,,,60,,',
|
|
2162
|
+
',,,,,,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,59,,60,,,,,,60,,,,,,,,',
|
|
2163
|
+
',,,,59,60,,,,59,,35,35,,,35,35,60,,,,35,60,,,,60,,60,60,,,,,35,,,35',
|
|
2164
|
+
'35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,,,,,35',
|
|
2165
|
+
',,,,,,35,35,,60,,,,60,,35,,,,,,,35,,35,,,35,35,,,,,,60,,,,,60,,,,,,',
|
|
2166
|
+
',,,,,,,,,,,,,,,,,,,35,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2167
|
+
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2168
|
+
',,,,,,,,,,,,,,,,35,,35,35,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35',
|
|
2169
|
+
',35,,35,,,,,,,,,,,,,,,,35,,,,,,,,,35,35,,,,,,,,,,,35,,,35,,,,,,,,,,',
|
|
2170
|
+
',,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,35,35,,,,,,,,,,35,,,,,,,,,,,,,',
|
|
2171
|
+
',,,,,,,,,,,,,,,,,,35,35,35,,,,35,,,35,35,35,35,,,,35,35,,,,,,,,,,,,',
|
|
2172
|
+
',,,,,,,,,,,35,,,35,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,35,,,,,,,,,',
|
|
2173
|
+
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,35,,,,,,,,,,',
|
|
2174
|
+
',,35,35,35,35,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2175
|
+
',,,,35,,,,,,,,,,,,,,,,,,35,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2176
|
+
',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
|
|
2177
|
+
',,,,,,,,35' ]
|
|
2177
2178
|
racc_goto_check = arr = ::Array.new(3624, nil)
|
|
2178
2179
|
idx = 0
|
|
2179
2180
|
clist.each do |str|
|
|
@@ -2184,24 +2185,24 @@ clist = [
|
|
|
2184
2185
|
end
|
|
2185
2186
|
|
|
2186
2187
|
racc_goto_pointer = [
|
|
2187
|
-
nil,
|
|
2188
|
-
41, -520, -
|
|
2189
|
-
|
|
2190
|
-
-189, -382, -15, 1565, -19, 2644,
|
|
2191
|
-
nil, nil,
|
|
2192
|
-
816,
|
|
2193
|
-
1982, -
|
|
2194
|
-
303,
|
|
2195
|
-
73, -16, -
|
|
2196
|
-
nil, nil, nil, nil,
|
|
2197
|
-
-623, -344,
|
|
2198
|
-
-406, -550, -176, -185, -406, -659, -701,
|
|
2199
|
-
-599, nil, -
|
|
2200
|
-
-
|
|
2201
|
-
-286, -8, -607, -607, -
|
|
2202
|
-
nil, -
|
|
2203
|
-
|
|
2204
|
-
-277, nil, nil,
|
|
2188
|
+
nil, 143, 110, nil, 81, 111, 60, 40, 63, -302,
|
|
2189
|
+
41, -520, -591, -657, nil, -345, 14, 154, -32, -97,
|
|
2190
|
+
96, 51, 1014, -186, -44, 26, 42, -152, 1137, 8,
|
|
2191
|
+
-189, -382, -15, 1565, -19, 2644, -2, -413, nil, -14,
|
|
2192
|
+
nil, nil, 22, -158, 92, -193, -376, 693, -317, nil,
|
|
2193
|
+
816, 129, 72, 80, 679, nil, -31, 60, -240, 1888,
|
|
2194
|
+
1982, -278, 84, -68, -3, nil, nil, 26, 41, -236,
|
|
2195
|
+
303, 60, nil, -15, 129, 766, 115, -58, 22, -243,
|
|
2196
|
+
73, -16, -308, -239, -359, nil, nil, nil, nil, nil,
|
|
2197
|
+
nil, nil, nil, nil, 105, 117, -41, nil, 116, -315,
|
|
2198
|
+
-623, -344, 111, -186, 15, -542, 110, 130, -143, 132,
|
|
2199
|
+
-406, -550, -176, -185, -406, -659, -701, -379, -453, -669,
|
|
2200
|
+
-599, nil, -196, -436, 71, 457, -596, 204, -674, -531,
|
|
2201
|
+
-539, nil, -592, -688, -755, -751, -139, -492, 145, -335,
|
|
2202
|
+
-286, -8, -607, -607, -341, -50, nil, -58, -58, nil,
|
|
2203
|
+
nil, -433, -686, -465, -577, nil, nil, 162, 17, 57,
|
|
2204
|
+
158, 159, -233, -203, 159, 163, 165, -348, -340, -327,
|
|
2205
|
+
-277, nil, nil, 156, -427, -282, -656, 81, -418, -640,
|
|
2205
2206
|
nil, -583, -790, nil, nil, -390 ]
|
|
2206
2207
|
|
|
2207
2208
|
racc_goto_default = [
|
|
@@ -4617,7 +4618,20 @@ def _reduce_264(val, _values, result)
|
|
|
4617
4618
|
end
|
|
4618
4619
|
|
|
4619
4620
|
def _reduce_265(val, _values, result)
|
|
4620
|
-
|
|
4621
|
+
# call_args can be followed by tLBRACE_ARG (that does cmdarg.push(0) in the lexer)
|
|
4622
|
+
# but the push must be done after cmdarg.pop() in the parser.
|
|
4623
|
+
# So this code does cmdarg.pop() to pop 0 pushed by tLBRACE_ARG,
|
|
4624
|
+
# cmdarg.pop() to pop 1 pushed by command_args,
|
|
4625
|
+
# and cmdarg.push(0) to restore back the flag set by tLBRACE_ARG.
|
|
4626
|
+
last_token = @last_token[0]
|
|
4627
|
+
lookahead = last_token == :tLBRACE_ARG
|
|
4628
|
+
if lookahead
|
|
4629
|
+
top = @lexer.cmdarg.pop
|
|
4630
|
+
@lexer.cmdarg.pop
|
|
4631
|
+
@lexer.cmdarg.push(top)
|
|
4632
|
+
else
|
|
4633
|
+
@lexer.cmdarg.pop
|
|
4634
|
+
end
|
|
4621
4635
|
|
|
4622
4636
|
result = val[1]
|
|
4623
4637
|
|
data/lib/parser/ruby25.y
CHANGED
|
@@ -885,7 +885,20 @@ rule
|
|
|
885
885
|
}
|
|
886
886
|
call_args
|
|
887
887
|
{
|
|
888
|
-
|
|
888
|
+
# call_args can be followed by tLBRACE_ARG (that does cmdarg.push(0) in the lexer)
|
|
889
|
+
# but the push must be done after cmdarg.pop() in the parser.
|
|
890
|
+
# So this code does cmdarg.pop() to pop 0 pushed by tLBRACE_ARG,
|
|
891
|
+
# cmdarg.pop() to pop 1 pushed by command_args,
|
|
892
|
+
# and cmdarg.push(0) to restore back the flag set by tLBRACE_ARG.
|
|
893
|
+
last_token = @last_token[0]
|
|
894
|
+
lookahead = last_token == :tLBRACE_ARG
|
|
895
|
+
if lookahead
|
|
896
|
+
top = @lexer.cmdarg.pop
|
|
897
|
+
@lexer.cmdarg.pop
|
|
898
|
+
@lexer.cmdarg.push(top)
|
|
899
|
+
else
|
|
900
|
+
@lexer.cmdarg.pop
|
|
901
|
+
end
|
|
889
902
|
|
|
890
903
|
result = val[1]
|
|
891
904
|
}
|
|
@@ -1504,7 +1517,7 @@ opt_block_args_tail:
|
|
|
1504
1517
|
{
|
|
1505
1518
|
@context.push(:lambda)
|
|
1506
1519
|
}
|
|
1507
|
-
|
|
1520
|
+
compstmt kEND
|
|
1508
1521
|
{
|
|
1509
1522
|
result = [ val[0], val[2], val[3] ]
|
|
1510
1523
|
@context.pop
|