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.
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
- @lexer.cmdarg.pop
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
- @lexer.cmdarg.pop
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,133,133,112,345,346,745',
1979
- '533,350,225,225,225,6,16,308,308,497,6,348,349,636,135,135,282,282,282',
1980
- '317,317,317,546,436,442,488,561,577,580,536,539,553,16,543,130,113,224',
1981
- '225,225,302,123,225,355,365,365,489,523,335,116,828,265,397,398,399',
1982
- '400,344,344,324,827,344,829,351,840,594,332,427,2,283,283,283,299,447',
1983
- '484,671,821,320,700,701,301,421,663,386,421,268,275,277,16,831,421,809',
1984
- '872,225,225,225,225,16,948,16,336,339,904,117,668,972,668,950,800,715',
1985
- '657,344,344,344,344,367,371,671,1,665,6,387,843,279,292,293,615,617',
1986
- '393,401,882,6,611,613,616,616,674,207,611,360,410,403,723,661,626,328',
1987
- '337,660,383,338,907,342,358,598,382,873,331,534,333,741,852,497,601',
1988
- '602,748,920,874,437,281,876,947,544,817,343,972,697,875,453,889,890',
1989
- '483,446,491,492,16,225,418,225,225,418,225,792,402,1014,960,418,225',
1990
- '225,813,413,413,886,950,385,388,425,426,728,389,16,390,395,391,392,449',
1991
- '450,671,408,957,750,968,755,281,281,904,742,698,826,409,420,561,281',
1992
- '420,655,823,553,866,966,420,,789,677,302,,225,225,668,668,828,686,,951',
1993
- '795,225,933,,317,524,835,282,517,520,436,442,806,272,,282,993,276,,16',
1994
- '744,317,828,16,116,527,831,308,16,535,581,969,,970,,,,505,502,,,,679',
1995
- ',308,739,,,,,,507,1016,,16,588,302,,283,,961,302,,,847,,283,964,,,225',
1996
- '16,16,849,682,878,506,,,,116,508,266,,682,521,1017,299,344,,,225,299',
1997
- '584,513,509,,,860,828,515,893,1019,,582,583,,225,758,600,758,,490,731',
1998
- ',130,,,632,822,493,,,740,,604,637,,,,,,625,,,643,561,,561,133,816,648',
1999
- ',802,,682,,924,925,779,,805,437,682,784,,281,765,603,135,850,,846,,854',
2000
- ',446,,,,,,,1008,,855,856,656,225,561,561,,,643,553,553,,,671,436,442',
2001
- ',,,,,,,524,,878,,,878,,878,524,878,,,,,,,317,,437,281,869,668,,814,317',
2002
- ',,,437,,,16,446,877,428,,,,,308,448,225,446,775,777,642,996,308,780',
2003
- '782,421,647,802,,,,225,,,,421,421,,,,421,421,,,,704,706,708,916,690',
2004
- ',878,,878,,878,,878,,,962,667,922,736,437,281,,,659,,,,437,,,281,,16',
2005
- '446,878,16,,,,446,,946,225,724,,,,,,,938,,225,451,,730,16,696,,561,',
2006
- ',743,437,281,720,794,,722,,130,,,959,1023,965,,446,869,,869,815,869',
2007
- '637,,418,225,762,,16,,877,524,877,133,418,418,,793,,418,418,,807,,861',
2008
- ',637,317,494,,,,643,135,995,648,,,317,,770,421,,,,820,857,420,,,308',
2009
- '510,,,,,,420,420,26,,308,420,420,26,,,,869,,869,,869,,869,,851,774,637',
2010
- '26,413,877,,,,,,637,26,26,26,,26,,,,869,,,,,,710,,,,,,,,16,130,637,',
2011
- ',16,225,884,26,16,,888,,26,26,,448,26,428,16,,,,,344,,,,,,,,,848,,820',
2012
- '418,,,,,,,,,,1009,,,,,,858,,,,,,,,,,26,,16,,909,26,26,26,26,26,29,26',
2013
- ',16,,29,682,420,,,,340,688,895,897,,899,901,649,902,29,,,,,881,,,,29',
2014
- '29,29,,29,225,,885,,16,,,820,,,16,,,317,,,915,,344,,,919,317,662,16',
2015
- '29,,666,,,29,29,,,29,710,935,912,837,,,16,,675,,941,,16,16,678,,,26',
2016
- '26,26,26,26,26,26,,,,,26,26,26,,,694,317,,,,,937,,980,26,985,29,945',
2017
- ',,,29,29,29,29,29,,29,,975,776,778,,16,,781,783,,,,,988,989,990,991',
2018
- ',,,,26,26,437,281,,16,,,,26,16,446,,,411,424,446,978,,,,824,,,824,225',
2019
- '749,26,637,,,26,,,,,26,,994,,,927,929,931,,,,,710,,710,,13,,,,1024,13',
2020
- ',,,,26,29,29,29,29,29,29,29,,,,,29,29,29,,26,26,26,,,,,13,,,29,499,',
2021
- '501,,,503,504,,,,26,,,,,,,,,,,,13,808,862,,26,,955,710,,870,359,,29',
2022
- '29,,776,778,783,781,,,29,830,,832,,839,998,1000,1002,1004,,1005,,,,',
2023
- ',,29,,,,29,,,,,29,,,,,,13,,,710,,710,,,,13,15,13,,,,15,,,,,29,26,,,1026',
2024
- '1027,1028,1029,,,,,,,,1031,29,29,29,710,862,,,15,,,,,,,,628,,,,,,29',
2025
- ',,,871,,,,,,,,15,,,26,29,,,,,,,824,,26,870,,870,,870,,,,,903,,,,13,26',
2026
- '416,,,416,,,,,,416,,,,,918,,,,,,,,,13,,15,,,,,,,,,15,,15,669,,340,,672',
2027
- ',,,26,29,,26,,,,,,,26,870,,870,952,870,953,870,954,,26,,,,26,,,,,,,',
2028
- ',669,,,340,,,870,13,,,,13,,,,971,13,973,,29,26,26,,,26,,,,716,29,26',
2029
- '26,,,,26,26,,,,,,13,15,29,15,,,15,424,,,,,15,,,,,13,13,,,,,,,,15,,,',
2030
- ',,1015,,,,,,,,,,1020,,1021,,1022,,29,,763,29,,,,,,,29,669,340,,,,,,',
2031
- ',29,,1030,,29,,,,,,,,,,,,26,,,,15,26,26,803,15,26,804,,,15,,,,29,29',
2032
- '26,,29,,,,,,29,29,812,,,29,29,,,26,,,15,,,,,,,834,,,,,,,,,,15,15,,,',
2033
- ',,,26,,,,,,,,,,,26,,,,,,,,,,,,,,,,13,,,,,,,,,,859,,,,,26,,,,26,,,,,',
2034
- '26,,,,,,,29,,,,,29,29,26,,29,,,,17,,,,,17,29,,,,,26,,,,,,26,26,,,,,29',
2035
- ',,13,,,13,,,,17,310,310,,,,,,,,,,,911,,,,13,29,,,,,,,,17,,,29,,340,',
2036
- '26,,,357,366,366,,,,,,,15,416,,,,13,,,,26,,416,416,,26,29,416,416,,29',
2037
- ',,,,,29,,,,26,,,,,,17,,,,29,,,,,17,,17,,,,,,,,,,29,,,,,,29,29,,,,,,',
2038
- ',15,,,15,,,,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,,13,,,,29,13,,,,13,,,,,,,',
2039
- '15,,13,,15,,,17,29,419,15,15,419,29,,15,15,,419,416,,,,,,,,,29,,,,17',
2040
- ',,,,,,,,,,,,,,13,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13,17',
2041
- ',,,17,13,,,310,17,,,15,,,,,15,,13,,15,,,,310,,38,,,,15,38,,,17,13,,',
2042
- ',944,,13,13,,,,,15,,,,17,17,,,,,,,38,306,306,,,,,,,,,,,,,,15,,,,,,,',
2043
- ',,38,15,,,,13,,,,,353,369,369,369,,,,,,,,,,,,,13,,,,,13,,,,39,15,,,',
2044
- '39,,15,,,,,,,,,,,,38,,15,,,,,,,38,,38,,,39,307,307,,,15,,,,,,15,15,',
2045
- ',,,,,,,,,,,,39,,,,,,,,,,354,370,370,370,,,,,,,,,,,,,,,,,17,,,,15,,,',
2046
- '310,,,,,,,,310,,,,,,,,39,15,38,,,,15,,,39,,39,,,,,,,,,,,,,,,,38,,,,',
2047
- ',,,,,,,,,,,,,,,17,,,17,,,,,,,,,,,,,,,,,,,,,17,,,,,,,754,,,,,,,,,,,38',
2048
- ',,,38,,,39,306,38,,419,,,,17,,,,,,419,419,,,306,419,419,,,,,39,,,38',
2049
- ',,,,,,,,,,,,,,,,38,38,,,,310,,,,,,,,,,,310,,,,,,,,,,,,,,,,,,,,,,,,,',
2050
- '39,,,,39,,,,307,39,,,,,,,,,,,,,,17,,307,,,17,,,,17,,,39,,,,,,,17,,,',
2051
- ',,,,,,39,39,,,,,,419,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,,,,,,,,,,,17,,,,',
2052
- ',,,,,,,,,,,,,38,,,,,,,,306,,,,,,,,306,17,,,,,,17,,,,,,,,,,,,,,17,,,',
2053
- ',,,,,,,,366,,,,,17,,,,943,,17,17,,,,,,,,,,38,,,38,,,,,,,,,,,,,,,,,,',
2054
- ',39,38,,,,,,,307,,,366,,,,17,307,,,,,,,,,,,,,,,,,,38,,17,,,,,17,,,,',
2055
- ',,,,,,,,,,,,,,,,,,,,,,,,,39,,,39,,306,,,,,,,,,,,306,,,,,,,,39,,,,,,',
2056
- ',,,,,,,,,,,,,,,,,,,,,,,,,,39,,,,,,,,38,,,,,38,,,,38,,,,,,,,,,38,,,,',
2057
- ',,,,,,,,,,307,,,,,,232,,,,,307,,,,280,280,280,,,,,,,,,,,326,327,38,329',
2058
- ',,,,,,,,,38,,,,,280,280,,,,,,,,,,,,,39,,,,,39,,,,39,,,,,,,38,,,39,,',
2059
- '38,,,,,,,,,,,,,,38,,,,,,,,,,,,369,,,,,38,,,,939,,38,38,,,,39,,,,,,,',
2060
- ',,,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,369,,,,38,,39,,,,,,39,,,,,,,,,,,,',
2061
- '38,39,,,,38,,280,423,,,429,280,370,,,,429,39,,,,940,,39,39,,,,,232,',
2062
- ',460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476',
2063
- '477,478,479,480,481,,,,,482,,,,,,,280,280,,370,,,,39,,280,,,,,,,280',
2064
- ',280,,,280,280,,,,,,39,,,,,39,,,,,,,,,,,,,,,,,,,,,,,,,,529,,530,,,,',
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
- ',,,,,,,,,280,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,280,,429,429',
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,67,67,4,18,18,105,9,18,29,29,29,7,29,29,29,83,7',
2089
- '36,36,31,68,68,78,78,78,73,73,73,140,43,43,45,175,99,99,79,79,170,29',
2090
- '79,64,6,21,29,29,10,8,29,29,29,29,30,58,78,104,176,42,18,18,18,18,25',
2091
- '25,71,129,25,129,4,100,61,7,27,2,80,80,80,52,27,43,185,132,57,123,123',
2092
- '53,19,46,158,19,44,44,44,29,181,19,12,128,29,29,29,29,29,134,29,80,80',
2093
- '116,5,84,182,84,135,130,118,144,25,25,25,25,62,62,185,1,144,7,159,12',
2094
- '51,51,51,162,162,159,7,13,7,163,163,163,163,15,17,163,20,24,26,37,48',
2095
- '69,74,76,82,94,95,119,98,102,103,106,129,107,108,109,110,111,83,112',
2096
- '113,114,115,120,81,39,126,133,136,137,138,182,139,132,32,142,143,145',
2097
- '64,147,148,29,29,29,29,29,29,29,151,2,134,152,29,29,29,153,78,78,154',
2098
- '135,157,160,25,25,101,161,29,164,5,165,166,25,25,185,10,119,167,128',
2099
- '168,39,39,116,169,140,174,21,21,175,39,21,30,178,170,130,179,21,,31',
2100
- '58,10,,29,29,84,84,176,58,,129,46,29,132,,73,56,118,78,32,34,43,43,31',
2101
- '81,,78,119,81,,29,9,73,176,29,104,32,181,29,29,34,18,129,,129,,,,4,158',
2102
- ',,,30,,29,61,,,,,,7,119,,29,32,10,,80,,12,10,,,31,,80,105,,,29,29,29',
2103
- '31,43,177,6,,,,104,8,32,,43,71,100,52,25,,,29,52,4,57,53,,,31,176,53',
2104
- '123,129,,10,10,,29,163,25,163,,51,30,,64,,,32,122,51,,,30,,25,34,,,',
2105
- ',,16,,,81,175,,175,67,79,81,,83,,43,,123,123,45,,58,81,43,45,,39,30',
2106
- '42,68,9,,99,,9,,64,,,,,,,11,,140,140,34,29,175,175,,,81,170,170,,,185',
2107
- '43,43,,,,,,,,56,,177,,,177,,177,56,177,,,,,,,73,,81,39,122,84,,23,73',
2108
- ',,,81,,,29,64,175,70,,,,,29,70,29,64,27,27,44,123,29,27,27,19,44,83',
2109
- ',,,29,,,,19,19,,,,19,19,,,,173,173,173,9,25,,177,,177,,177,,177,,,101',
2110
- '80,9,36,81,39,,,44,,,,81,,,39,,29,64,177,29,,,,64,,9,29,104,,,,,,,99',
2111
- ',29,54,,78,29,80,,175,,,104,81,39,10,96,,10,,64,,,99,31,122,,64,122',
2112
- ',122,77,122,34,,29,29,16,,29,,175,56,175,67,29,29,,141,,29,29,,56,,27',
2113
- ',34,73,54,,,,81,68,9,81,,,73,,7,19,,,,34,63,21,,,29,54,,,,,,21,21,47',
2114
- ',29,21,21,47,,,,122,,122,,122,,122,,18,80,34,47,78,175,,,,,,34,47,47',
2115
- '47,,47,,,,122,,,,,,117,,,,,,,,29,64,34,,,29,29,77,47,29,,77,,47,47,',
2116
- '70,47,70,29,,,,,25,,,,,,,,,10,,34,29,,,,,,,,,,30,,,,,,10,,,,,,,,,,47',
2117
- ',29,,18,47,47,47,47,47,50,47,,29,,50,43,21,,,,75,70,173,173,,173,173',
2118
- '54,173,50,,,,,10,,,,50,50,50,,50,29,,10,,29,,,34,,,29,,,73,,,104,,25',
2119
- ',,104,73,54,29,50,,54,,,50,50,,,50,117,29,10,117,,,29,,54,,29,,29,29',
2120
- '54,,,47,47,47,47,47,47,47,,,,,47,47,47,,,54,73,,,,,10,,32,47,34,50,10',
2121
- ',,,50,50,50,50,50,,50,,29,70,70,,29,,70,70,,,,,173,173,173,173,,,,,47',
2122
- '47,81,39,,29,,,,47,29,64,,,75,75,64,10,,,,124,,,124,29,54,47,34,,,47',
2123
- ',,,,47,,10,,,125,125,125,,,,,117,,117,,22,,,,173,22,,,,,47,50,50,50',
2124
- '50,50,50,50,,,,,50,50,50,,47,47,47,,,,,22,,,50,75,,75,,,75,75,,,,47',
2125
- ',,,,,,,,,,,22,54,70,,47,,117,117,,124,22,,50,50,,70,70,70,70,,,50,127',
2126
- ',127,,54,125,125,125,125,,125,,,,,,,50,,,,50,,,,,50,,,,,,22,,,117,,117',
2127
- ',,,22,28,22,,,,28,,,,,50,47,,,125,125,125,125,,,,,,,,125,50,50,50,117',
2128
- '70,,,28,,,,,,,,75,,,,,,50,,,,127,,,,,,,,28,,,47,50,,,,,,,124,,47,124',
2129
- ',124,,124,,,,,54,,,,22,47,22,,,22,,,,,,22,,,,,54,,,,,,,,,22,,28,,,,',
2130
- ',,,,28,,28,75,,75,,75,,,,47,50,,47,,,,,,,47,124,,124,127,124,127,124',
2131
- '127,,47,,,,47,,,,,,,,,75,,,75,,,124,22,,,,22,,,,127,22,127,,50,47,47',
2132
- ',,47,,,,75,50,47,47,,,,47,47,,,,,,22,28,50,28,,,28,75,,,,,28,,,,,22',
2133
- '22,,,,,,,,28,,,,,,127,,,,,,,,,,127,,127,,127,,50,,75,50,,,,,,,50,75',
2134
- '75,,,,,,,,50,,127,,50,,,,,,,,,,,,47,,,,28,47,47,75,28,47,75,,,28,,,',
2135
- '50,50,47,,50,,,,,,50,50,75,,,50,50,,,47,,,28,,,,,,,75,,,,,,,,,,28,28',
2136
- ',,,,,,47,,,,,,,,,,,47,,,,,,,,,,,,,,,,22,,,,,,,,,,75,,,,,47,,,,47,,,',
2137
- ',,47,,,,,,,50,,,,,50,50,47,,50,,,,33,,,,,33,50,,,,,47,,,,,,47,47,,,',
2138
- ',50,,,22,,,22,,,,33,33,33,,,,,,,,,,,75,,,,22,50,,,,,,,,33,,,50,,75,',
2139
- '47,,,33,33,33,,,,,,,28,22,,,,22,,,,47,,22,22,,47,50,22,22,,50,,,,,,50',
2140
- ',,,47,,,,,,33,,,,50,,,,,33,,33,,,,,,,,,,50,,,,,,50,50,,,,,,,,28,,,28',
2141
- ',,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,22,,,,50,22,,,,22,,,,,,,,28,,22,,28',
2142
- ',,33,50,33,28,28,33,50,,28,28,,33,22,,,,,,,,,50,,,,33,,,,,,,,,,,,,,',
2143
- '22,,,,,,,,,,,22,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,22,33,,,,33,22,,,33',
2144
- '33,,,28,,,,,28,,22,,28,,,,33,,59,,,,28,59,,,33,22,,,,22,,22,22,,,,,28',
2145
- ',,,33,33,,,,,,,59,59,59,,,,,,,,,,,,,,28,,,,,,,,,,59,28,,,,22,,,,,59',
2146
- '59,59,59,,,,,,,,,,,,,22,,,,,22,,,,60,28,,,,60,,28,,,,,,,,,,,,59,,28',
2147
- ',,,,,,59,,59,,,60,60,60,,,28,,,,,,28,28,,,,,,,,,,,,,,60,,,,,,,,,,60',
2148
- '60,60,60,,,,,,,,,,,,,,,,,33,,,,28,,,,33,,,,,,,,33,,,,,,,,60,28,59,,',
2149
- ',28,,,60,,60,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,,,,,,,33,,,33,,,,,,,,,,',
2150
- ',,,,,,,,,,33,,,,,,,33,,,,,,,,,,,59,,,,59,,,60,59,59,,33,,,,33,,,,,,33',
2151
- '33,,,59,33,33,,,,,60,,,59,,,,,,,,,,,,,,,,,59,59,,,,33,,,,,,,,,,,33,',
2152
- ',,,,,,,,,,,,,,,,,,,,,,,,60,,,,60,,,,60,60,,,,,,,,,,,,,,33,,60,,,33,',
2153
- ',,33,,,60,,,,,,,33,,,,,,,,,,60,60,,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,',
2154
- ',33,,,,,,,,,,,33,,,,,,,,,,,,,,,,,,59,,,,,,,,59,,,,,,,,59,33,,,,,,33',
2155
- ',,,,,,,,,,,,,33,,,,,,,,,,,,33,,,,,33,,,,33,,33,33,,,,,,,,,,59,,,59,',
2156
- ',,,,,,,,,,,,,,,,,,60,59,,,,,,,60,,,33,,,,33,60,,,,,,,,,,,,,,,,,,59,',
2157
- '33,,,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,60,,59,,,,,,,,,,,59,,,,',
2158
- ',,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,60,,,,,,,,59,,,,,59,,,,59,,,,',
2159
- ',,,,,59,,,,,,,,,,,,,,,60,,,,,,35,,,,,60,,,,35,35,35,,,,,,,,,,,35,35',
2160
- '59,35,,,,,,,,,,59,,,,,35,35,,,,,,,,,,,,,60,,,,,60,,,,60,,,,,,,59,,,60',
2161
- ',,59,,,,,,,,,,,,,,59,,,,,,,,,,,,59,,,,,59,,,,59,,59,59,,,,60,,,,,,,',
2162
- ',,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,59,,60,,,,,,60,,,,,,,,,,,,,59',
2163
- '60,,,,59,,35,35,,,35,35,60,,,,35,60,,,,60,,60,60,,,,,35,,,35,35,35,35',
2164
- '35,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
- ',,,,,,,,,,35,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
2167
- ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
2168
- ',,,,,,,35,,35,35,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,35,,35,',
2169
- ',,,,,,,,,,,,,,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,,,,,,,,,,,,,35,35,35',
2174
- '35,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,,,,',
2175
- ',,,,,,,,,,,,,35,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,',
2176
- ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35' ]
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, 151, 101, nil, 28, 131, 67, 40, 68, -296,
2188
- 41, -520, -567, -646, nil, -337, 14, 161, -32, -97,
2189
- 103, 51, 1014, -186, -37, 26, 49, -114, 1137, 8,
2190
- -189, -382, -15, 1565, -19, 2644, -20, -406, nil, -14,
2191
- nil, nil, 61, -158, 92, -208, -376, 693, -311, nil,
2192
- 816, 127, 72, 80, 384, nil, -31, 75, -240, 1888,
2193
- 1982, -265, 78, -68, -3, nil, nil, 21, 41, -230,
2194
- 303, 51, nil, -15, 134, 766, 119, -58, 22, -271,
2195
- 73, -16, -304, -239, -359, nil, nil, nil, nil, nil,
2196
- nil, nil, nil, nil, 109, 121, -41, nil, 121, -283,
2197
- -623, -344, 116, -181, 15, -568, 115, 131, -142, 132,
2198
- -406, -550, -176, -185, -406, -659, -701, 174, -420, -655,
2199
- -599, nil, -295, -436, 284, 132, -596, 390, -673, -610,
2200
- -523, nil, -589, -688, -760, -751, -139, -492, 143, -336,
2201
- -286, -8, -607, -607, -340, -50, nil, -58, -58, nil,
2202
- nil, -434, -685, -461, -579, nil, nil, 157, 35, 70,
2203
- 152, 155, -230, -222, 156, 157, 157, -356, -355, -341,
2204
- -277, nil, nil, 3, -443, -282, -619, -438, -432, -653,
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
- @lexer.cmdarg.pop
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
- @lexer.cmdarg.pop
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
- bodystmt kEND
1520
+ compstmt kEND
1508
1521
  {
1509
1522
  result = [ val[0], val[2], val[3] ]
1510
1523
  @context.pop