parser 3.2.2.3 → 3.3.9.0

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +2 -1
  3. data/lib/gauntlet_parser.rb +1 -1
  4. data/lib/parser/all.rb +15 -14
  5. data/lib/parser/ast/processor.rb +3 -1
  6. data/lib/parser/base.rb +3 -0
  7. data/lib/parser/builders/default.rb +59 -19
  8. data/lib/parser/context.rb +2 -0
  9. data/lib/parser/current.rb +37 -19
  10. data/lib/parser/lexer/literal.rb +16 -1
  11. data/lib/parser/lexer-F0.rb +360 -299
  12. data/lib/parser/lexer-F1.rb +634 -564
  13. data/lib/parser/lexer-strings.rb +89 -80
  14. data/lib/parser/macruby.rb +3 -3
  15. data/lib/parser/messages.rb +46 -41
  16. data/lib/parser/meta.rb +11 -3
  17. data/lib/parser/ruby18.rb +3 -3
  18. data/lib/parser/ruby19.rb +3 -3
  19. data/lib/parser/ruby20.rb +3 -3
  20. data/lib/parser/ruby21.rb +3 -3
  21. data/lib/parser/ruby22.rb +3 -3
  22. data/lib/parser/ruby23.rb +3 -3
  23. data/lib/parser/ruby24.rb +3 -3
  24. data/lib/parser/ruby25.rb +3 -3
  25. data/lib/parser/ruby26.rb +3 -3
  26. data/lib/parser/ruby27.rb +5 -4
  27. data/lib/parser/ruby30.rb +5 -4
  28. data/lib/parser/ruby31.rb +5 -4
  29. data/lib/parser/ruby32.rb +5 -4
  30. data/lib/parser/ruby33.rb +6764 -6878
  31. data/lib/parser/ruby34.rb +12597 -0
  32. data/lib/parser/rubymotion.rb +3 -3
  33. data/lib/parser/runner/ruby_parse.rb +3 -3
  34. data/lib/parser/runner/ruby_rewrite.rb +1 -1
  35. data/lib/parser/runner.rb +37 -31
  36. data/lib/parser/source/buffer.rb +6 -1
  37. data/lib/parser/source/comment/associator.rb +7 -7
  38. data/lib/parser/source/tree_rewriter/action.rb +5 -4
  39. data/lib/parser/static_environment.rb +56 -9
  40. data/lib/parser/unknown_encoding_in_magic_comment_error.rb +15 -0
  41. data/lib/parser/version.rb +1 -1
  42. data/lib/parser.rb +54 -53
  43. metadata +8 -10
  44. data/lib/parser/ruby28.rb +0 -8047
@@ -8270,14 +8270,23 @@ self.lex_en_inside_string = 128;
8270
8270
  @emit_integer_if = lambda { |chars, p| emit(:tINTEGER, chars, @ts, @te - 2); p - 2 }
8271
8271
  @emit_integer_rescue = lambda { |chars, p| emit(:tINTEGER, chars, @ts, @te - 6); p - 6 }
8272
8272
 
8273
- @emit_float = lambda { |chars, p| emit(:tFLOAT, Float(chars)); p }
8274
- @emit_imaginary_float = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, Float(chars))); p }
8275
- @emit_float_if = lambda { |chars, p| emit(:tFLOAT, Float(chars), @ts, @te - 2); p - 2 }
8276
- @emit_float_rescue = lambda { |chars, p| emit(:tFLOAT, Float(chars), @ts, @te - 6); p - 6 }
8273
+ @emit_float = lambda { |chars, p| emit(:tFLOAT, construct_float(chars)); p }
8274
+ @emit_imaginary_float = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, construct_float(chars))); p }
8275
+ @emit_float_if = lambda { |chars, p| emit(:tFLOAT, construct_float(chars), @ts, @te - 2); p - 2 }
8276
+ @emit_float_rescue = lambda { |chars, p| emit(:tFLOAT, construct_float(chars), @ts, @te - 6); p - 6 }
8277
8277
 
8278
8278
  reset
8279
8279
  end
8280
8280
 
8281
+ def construct_float(chars)
8282
+ begin
8283
+ old_verbose, $VERBOSE = $VERBOSE, nil
8284
+ Float(chars)
8285
+ ensure
8286
+ $VERBOSE = old_verbose
8287
+ end
8288
+ end
8289
+
8281
8290
  def reset(reset_state=true)
8282
8291
  # Ragel state:
8283
8292
  if reset_state
@@ -8432,7 +8441,7 @@ self.lex_en_inside_string = 128;
8432
8441
  @command_start = false
8433
8442
 
8434
8443
 
8435
- # line 8435 "lib/parser/lexer-F1.rb"
8444
+ # line 8444 "lib/parser/lexer-F1.rb"
8436
8445
  begin
8437
8446
  testEof = false
8438
8447
  _slen, _trans, _keys, _inds, _acts, _nacts = nil
@@ -8460,7 +8469,7 @@ begin
8460
8469
  begin
8461
8470
  @ts = p
8462
8471
  end
8463
- # line 8463 "lib/parser/lexer-F1.rb"
8472
+ # line 8472 "lib/parser/lexer-F1.rb"
8464
8473
  end
8465
8474
  _keys = @cs << 1
8466
8475
  _inds = _lex_index_offsets[ @cs]
@@ -8480,7 +8489,7 @@ begin
8480
8489
  if _lex_trans_actions[_trans] != 0
8481
8490
  case _lex_trans_actions[_trans]
8482
8491
  when 14 then
8483
- # line 539 "lib/parser/lexer.rl"
8492
+ # line 548 "lib/parser/lexer.rl"
8484
8493
  begin
8485
8494
 
8486
8495
  # Record position of a newline for precise location reporting on tNL
@@ -8491,93 +8500,93 @@ begin
8491
8500
  @newline_s = p
8492
8501
  end
8493
8502
  when 15 then
8494
- # line 723 "lib/parser/lexer.rl"
8503
+ # line 732 "lib/parser/lexer.rl"
8495
8504
  begin
8496
8505
 
8497
8506
  p = on_newline(p)
8498
8507
  end
8499
8508
  when 45 then
8500
- # line 733 "lib/parser/lexer.rl"
8509
+ # line 742 "lib/parser/lexer.rl"
8501
8510
  begin
8502
8511
  @sharp_s = p - 1 end
8503
8512
  when 49 then
8504
- # line 736 "lib/parser/lexer.rl"
8513
+ # line 745 "lib/parser/lexer.rl"
8505
8514
  begin
8506
8515
  emit_comment_from_range(p, pe) end
8507
8516
  when 190 then
8508
- # line 777 "lib/parser/lexer.rl"
8517
+ # line 786 "lib/parser/lexer.rl"
8509
8518
  begin
8510
8519
  tm = p end
8511
8520
  when 22 then
8512
- # line 1059 "lib/parser/lexer.rl"
8521
+ # line 1070 "lib/parser/lexer.rl"
8513
8522
  begin
8514
8523
  tm = p end
8515
8524
  when 24 then
8516
- # line 1072 "lib/parser/lexer.rl"
8525
+ # line 1083 "lib/parser/lexer.rl"
8517
8526
  begin
8518
8527
  tm = p end
8519
8528
  when 26 then
8520
- # line 1100 "lib/parser/lexer.rl"
8529
+ # line 1111 "lib/parser/lexer.rl"
8521
8530
  begin
8522
8531
  tm = p end
8523
8532
  when 56 then
8524
- # line 1297 "lib/parser/lexer.rl"
8533
+ # line 1308 "lib/parser/lexer.rl"
8525
8534
  begin
8526
8535
  heredoc_e = p end
8527
8536
  when 229 then
8528
- # line 1392 "lib/parser/lexer.rl"
8537
+ # line 1409 "lib/parser/lexer.rl"
8529
8538
  begin
8530
8539
  tm = p - 1; diag_msg = :ivar_name end
8531
8540
  when 232 then
8532
- # line 1393 "lib/parser/lexer.rl"
8541
+ # line 1410 "lib/parser/lexer.rl"
8533
8542
  begin
8534
8543
  tm = p - 2; diag_msg = :cvar_name end
8535
8544
  when 244 then
8536
- # line 1480 "lib/parser/lexer.rl"
8545
+ # line 1497 "lib/parser/lexer.rl"
8537
8546
  begin
8538
8547
  tm = p end
8539
8548
  when 188 then
8540
- # line 1587 "lib/parser/lexer.rl"
8549
+ # line 1604 "lib/parser/lexer.rl"
8541
8550
  begin
8542
8551
  ident_tok = tok; ident_ts = @ts; ident_te = @te; end
8543
8552
  when 331 then
8544
- # line 1773 "lib/parser/lexer.rl"
8553
+ # line 1790 "lib/parser/lexer.rl"
8545
8554
  begin
8546
8555
  @num_base = 16; @num_digits_s = p end
8547
8556
  when 325 then
8548
- # line 1774 "lib/parser/lexer.rl"
8557
+ # line 1791 "lib/parser/lexer.rl"
8549
8558
  begin
8550
8559
  @num_base = 10; @num_digits_s = p end
8551
8560
  when 328 then
8552
- # line 1775 "lib/parser/lexer.rl"
8561
+ # line 1792 "lib/parser/lexer.rl"
8553
8562
  begin
8554
8563
  @num_base = 8; @num_digits_s = p end
8555
8564
  when 322 then
8556
- # line 1776 "lib/parser/lexer.rl"
8565
+ # line 1793 "lib/parser/lexer.rl"
8557
8566
  begin
8558
8567
  @num_base = 2; @num_digits_s = p end
8559
8568
  when 337 then
8560
- # line 1777 "lib/parser/lexer.rl"
8569
+ # line 1794 "lib/parser/lexer.rl"
8561
8570
  begin
8562
8571
  @num_base = 10; @num_digits_s = @ts end
8563
8572
  when 299 then
8564
- # line 1778 "lib/parser/lexer.rl"
8573
+ # line 1795 "lib/parser/lexer.rl"
8565
8574
  begin
8566
8575
  @num_base = 8; @num_digits_s = @ts end
8567
8576
  when 314 then
8568
- # line 1779 "lib/parser/lexer.rl"
8577
+ # line 1796 "lib/parser/lexer.rl"
8569
8578
  begin
8570
8579
  @num_suffix_s = p end
8571
8580
  when 307 then
8572
- # line 1822 "lib/parser/lexer.rl"
8581
+ # line 1839 "lib/parser/lexer.rl"
8573
8582
  begin
8574
8583
  @num_suffix_s = p end
8575
8584
  when 304 then
8576
- # line 1823 "lib/parser/lexer.rl"
8585
+ # line 1840 "lib/parser/lexer.rl"
8577
8586
  begin
8578
8587
  @num_suffix_s = p end
8579
8588
  when 74 then
8580
- # line 2026 "lib/parser/lexer.rl"
8589
+ # line 2043 "lib/parser/lexer.rl"
8581
8590
  begin
8582
8591
  tm = p end
8583
8592
  when 65 then
@@ -8586,7 +8595,7 @@ begin
8586
8595
  @te = p+1
8587
8596
  end
8588
8597
  when 1 then
8589
- # line 846 "lib/parser/lexer.rl"
8598
+ # line 857 "lib/parser/lexer.rl"
8590
8599
  begin
8591
8600
  @te = p+1
8592
8601
  begin
@@ -8601,7 +8610,7 @@ begin
8601
8610
  end
8602
8611
  end
8603
8612
  when 87 then
8604
- # line 846 "lib/parser/lexer.rl"
8613
+ # line 857 "lib/parser/lexer.rl"
8605
8614
  begin
8606
8615
  @te = p
8607
8616
  p = p - 1; begin
@@ -8616,7 +8625,7 @@ p = p - 1; begin
8616
8625
  end
8617
8626
  end
8618
8627
  when 89 then
8619
- # line 853 "lib/parser/lexer.rl"
8628
+ # line 864 "lib/parser/lexer.rl"
8620
8629
  begin
8621
8630
  @te = p
8622
8631
  p = p - 1; begin
@@ -8631,7 +8640,7 @@ p = p - 1; begin
8631
8640
  end
8632
8641
  end
8633
8642
  when 88 then
8634
- # line 860 "lib/parser/lexer.rl"
8643
+ # line 871 "lib/parser/lexer.rl"
8635
8644
  begin
8636
8645
  @te = p
8637
8646
  p = p - 1; begin
@@ -8646,7 +8655,7 @@ p = p - 1; begin
8646
8655
  end
8647
8656
  end
8648
8657
  when 110 then
8649
- # line 878 "lib/parser/lexer.rl"
8658
+ # line 889 "lib/parser/lexer.rl"
8650
8659
  begin
8651
8660
  @te = p+1
8652
8661
  begin emit_table(KEYWORDS_BEGIN);
@@ -8658,7 +8667,7 @@ p = p - 1; begin
8658
8667
  end
8659
8668
  end
8660
8669
  when 96 then
8661
- # line 886 "lib/parser/lexer.rl"
8670
+ # line 897 "lib/parser/lexer.rl"
8662
8671
  begin
8663
8672
  @te = p+1
8664
8673
  begin emit(:tIDENTIFIER)
@@ -8670,7 +8679,7 @@ p = p - 1; begin
8670
8679
  end
8671
8680
  end
8672
8681
  when 3 then
8673
- # line 890 "lib/parser/lexer.rl"
8682
+ # line 901 "lib/parser/lexer.rl"
8674
8683
  begin
8675
8684
  @te = p+1
8676
8685
  begin p = @ts - 1
@@ -8684,7 +8693,7 @@ p = p - 1; begin
8684
8693
  end
8685
8694
  end
8686
8695
  when 93 then
8687
- # line 899 "lib/parser/lexer.rl"
8696
+ # line 910 "lib/parser/lexer.rl"
8688
8697
  begin
8689
8698
  @te = p+1
8690
8699
  begin emit_table(PUNCTUATION)
@@ -8696,7 +8705,7 @@ p = p - 1; begin
8696
8705
  end
8697
8706
  end
8698
8707
  when 105 then
8699
- # line 903 "lib/parser/lexer.rl"
8708
+ # line 914 "lib/parser/lexer.rl"
8700
8709
  begin
8701
8710
  @te = p+1
8702
8711
  begin p = p - 1; p = p - 1; begin
@@ -8707,7 +8716,7 @@ p = p - 1; begin
8707
8716
  end
8708
8717
  end
8709
8718
  when 5 then
8710
- # line 909 "lib/parser/lexer.rl"
8719
+ # line 920 "lib/parser/lexer.rl"
8711
8720
  begin
8712
8721
  @te = p+1
8713
8722
  begin
@@ -8732,7 +8741,7 @@ p = p - 1; begin
8732
8741
  end
8733
8742
  end
8734
8743
  when 92 then
8735
- # line 923 "lib/parser/lexer.rl"
8744
+ # line 934 "lib/parser/lexer.rl"
8736
8745
  begin
8737
8746
  @te = p+1
8738
8747
  begin p = p - 1; begin
@@ -8743,7 +8752,7 @@ p = p - 1; begin
8743
8752
  end
8744
8753
  end
8745
8754
  when 91 then
8746
- # line 566 "lib/parser/lexer.rl"
8755
+ # line 575 "lib/parser/lexer.rl"
8747
8756
  begin
8748
8757
  @te = p+1
8749
8758
  begin
@@ -8763,7 +8772,7 @@ p = p - 1; begin
8763
8772
  end
8764
8773
  end
8765
8774
  when 109 then
8766
- # line 878 "lib/parser/lexer.rl"
8775
+ # line 889 "lib/parser/lexer.rl"
8767
8776
  begin
8768
8777
  @te = p
8769
8778
  p = p - 1; begin emit_table(KEYWORDS_BEGIN);
@@ -8775,7 +8784,7 @@ p = p - 1; begin emit_table(KEYWORDS_BEGIN);
8775
8784
  end
8776
8785
  end
8777
8786
  when 106 then
8778
- # line 882 "lib/parser/lexer.rl"
8787
+ # line 893 "lib/parser/lexer.rl"
8779
8788
  begin
8780
8789
  @te = p
8781
8790
  p = p - 1; begin emit(:tCONSTANT)
@@ -8787,7 +8796,7 @@ p = p - 1; begin emit(:tCONSTANT)
8787
8796
  end
8788
8797
  end
8789
8798
  when 108 then
8790
- # line 886 "lib/parser/lexer.rl"
8799
+ # line 897 "lib/parser/lexer.rl"
8791
8800
  begin
8792
8801
  @te = p
8793
8802
  p = p - 1; begin emit(:tIDENTIFIER)
@@ -8799,7 +8808,7 @@ p = p - 1; begin emit(:tIDENTIFIER)
8799
8808
  end
8800
8809
  end
8801
8810
  when 103 then
8802
- # line 890 "lib/parser/lexer.rl"
8811
+ # line 901 "lib/parser/lexer.rl"
8803
8812
  begin
8804
8813
  @te = p
8805
8814
  p = p - 1; begin p = @ts - 1
@@ -8813,7 +8822,7 @@ p = p - 1; begin p = @ts - 1
8813
8822
  end
8814
8823
  end
8815
8824
  when 99 then
8816
- # line 899 "lib/parser/lexer.rl"
8825
+ # line 910 "lib/parser/lexer.rl"
8817
8826
  begin
8818
8827
  @te = p
8819
8828
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -8825,7 +8834,7 @@ p = p - 1; begin emit_table(PUNCTUATION)
8825
8834
  end
8826
8835
  end
8827
8836
  when 104 then
8828
- # line 906 "lib/parser/lexer.rl"
8837
+ # line 917 "lib/parser/lexer.rl"
8829
8838
  begin
8830
8839
  @te = p
8831
8840
  p = p - 1; begin p = p - 1; begin
@@ -8836,12 +8845,12 @@ p = p - 1; begin p = p - 1; begin
8836
8845
  end
8837
8846
  end
8838
8847
  when 97 then
8839
- # line 920 "lib/parser/lexer.rl"
8848
+ # line 931 "lib/parser/lexer.rl"
8840
8849
  begin
8841
8850
  @te = p
8842
8851
  p = p - 1; end
8843
8852
  when 102 then
8844
- # line 923 "lib/parser/lexer.rl"
8853
+ # line 934 "lib/parser/lexer.rl"
8845
8854
  begin
8846
8855
  @te = p
8847
8856
  p = p - 1; begin p = p - 1; begin
@@ -8852,7 +8861,7 @@ p = p - 1; begin p = p - 1; begin
8852
8861
  end
8853
8862
  end
8854
8863
  when 4 then
8855
- # line 899 "lib/parser/lexer.rl"
8864
+ # line 910 "lib/parser/lexer.rl"
8856
8865
  begin
8857
8866
  begin p = (( @te))-1; end
8858
8867
  begin emit_table(PUNCTUATION)
@@ -8864,7 +8873,7 @@ p = p - 1; begin p = p - 1; begin
8864
8873
  end
8865
8874
  end
8866
8875
  when 2 then
8867
- # line 923 "lib/parser/lexer.rl"
8876
+ # line 934 "lib/parser/lexer.rl"
8868
8877
  begin
8869
8878
  begin p = (( @te))-1; end
8870
8879
  begin p = p - 1; begin
@@ -8908,7 +8917,7 @@ p = p - 1; begin p = p - 1; begin
8908
8917
  end
8909
8918
  end
8910
8919
  when 7 then
8911
- # line 935 "lib/parser/lexer.rl"
8920
+ # line 946 "lib/parser/lexer.rl"
8912
8921
  begin
8913
8922
  @te = p+1
8914
8923
  begin emit(:tLABEL, tok(@ts, @te - 2), @ts, @te - 1)
@@ -8920,7 +8929,7 @@ end
8920
8929
  end
8921
8930
  end
8922
8931
  when 8 then
8923
- # line 939 "lib/parser/lexer.rl"
8932
+ # line 950 "lib/parser/lexer.rl"
8924
8933
  begin
8925
8934
  @te = p+1
8926
8935
  begin
@@ -8945,7 +8954,7 @@ end
8945
8954
  end
8946
8955
  end
8947
8956
  when 112 then
8948
- # line 953 "lib/parser/lexer.rl"
8957
+ # line 964 "lib/parser/lexer.rl"
8949
8958
  begin
8950
8959
  @te = p+1
8951
8960
  begin p = p - 1; begin
@@ -8956,7 +8965,7 @@ end
8956
8965
  end
8957
8966
  end
8958
8967
  when 111 then
8959
- # line 566 "lib/parser/lexer.rl"
8968
+ # line 575 "lib/parser/lexer.rl"
8960
8969
  begin
8961
8970
  @te = p+1
8962
8971
  begin
@@ -8976,12 +8985,12 @@ end
8976
8985
  end
8977
8986
  end
8978
8987
  when 114 then
8979
- # line 950 "lib/parser/lexer.rl"
8988
+ # line 961 "lib/parser/lexer.rl"
8980
8989
  begin
8981
8990
  @te = p
8982
8991
  p = p - 1; end
8983
8992
  when 113 then
8984
- # line 953 "lib/parser/lexer.rl"
8993
+ # line 964 "lib/parser/lexer.rl"
8985
8994
  begin
8986
8995
  @te = p
8987
8996
  p = p - 1; begin p = p - 1; begin
@@ -8992,7 +9001,7 @@ p = p - 1; begin p = p - 1; begin
8992
9001
  end
8993
9002
  end
8994
9003
  when 6 then
8995
- # line 953 "lib/parser/lexer.rl"
9004
+ # line 964 "lib/parser/lexer.rl"
8996
9005
  begin
8997
9006
  begin p = (( @te))-1; end
8998
9007
  begin p = p - 1; begin
@@ -9003,7 +9012,7 @@ p = p - 1; begin p = p - 1; begin
9003
9012
  end
9004
9013
  end
9005
9014
  when 120 then
9006
- # line 979 "lib/parser/lexer.rl"
9015
+ # line 990 "lib/parser/lexer.rl"
9007
9016
  begin
9008
9017
  @te = p+1
9009
9018
  begin emit_table(PUNCTUATION)
@@ -9015,7 +9024,7 @@ p = p - 1; begin p = p - 1; begin
9015
9024
  end
9016
9025
  end
9017
9026
  when 119 then
9018
- # line 985 "lib/parser/lexer.rl"
9027
+ # line 996 "lib/parser/lexer.rl"
9019
9028
  begin
9020
9029
  @te = p+1
9021
9030
  begin p = p - 1; begin
@@ -9026,7 +9035,7 @@ p = p - 1; begin p = p - 1; begin
9026
9035
  end
9027
9036
  end
9028
9037
  when 118 then
9029
- # line 566 "lib/parser/lexer.rl"
9038
+ # line 575 "lib/parser/lexer.rl"
9030
9039
  begin
9031
9040
  @te = p+1
9032
9041
  begin
@@ -9046,7 +9055,7 @@ p = p - 1; begin p = p - 1; begin
9046
9055
  end
9047
9056
  end
9048
9057
  when 130 then
9049
- # line 964 "lib/parser/lexer.rl"
9058
+ # line 975 "lib/parser/lexer.rl"
9050
9059
  begin
9051
9060
  @te = p
9052
9061
  p = p - 1; begin emit(:tCONSTANT)
@@ -9058,7 +9067,7 @@ p = p - 1; begin emit(:tCONSTANT)
9058
9067
  end
9059
9068
  end
9060
9069
  when 121 then
9061
- # line 968 "lib/parser/lexer.rl"
9070
+ # line 979 "lib/parser/lexer.rl"
9062
9071
  begin
9063
9072
  @te = p
9064
9073
  p = p - 1; begin emit(:tIDENTIFIER)
@@ -9070,7 +9079,7 @@ p = p - 1; begin emit(:tIDENTIFIER)
9070
9079
  end
9071
9080
  end
9072
9081
  when 126 then
9073
- # line 979 "lib/parser/lexer.rl"
9082
+ # line 990 "lib/parser/lexer.rl"
9074
9083
  begin
9075
9084
  @te = p
9076
9085
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -9082,12 +9091,12 @@ p = p - 1; begin emit_table(PUNCTUATION)
9082
9091
  end
9083
9092
  end
9084
9093
  when 124 then
9085
- # line 982 "lib/parser/lexer.rl"
9094
+ # line 993 "lib/parser/lexer.rl"
9086
9095
  begin
9087
9096
  @te = p
9088
9097
  p = p - 1; end
9089
9098
  when 129 then
9090
- # line 985 "lib/parser/lexer.rl"
9099
+ # line 996 "lib/parser/lexer.rl"
9091
9100
  begin
9092
9101
  @te = p
9093
9102
  p = p - 1; begin p = p - 1; begin
@@ -9098,7 +9107,7 @@ p = p - 1; begin p = p - 1; begin
9098
9107
  end
9099
9108
  end
9100
9109
  when 153 then
9101
- # line 1045 "lib/parser/lexer.rl"
9110
+ # line 1056 "lib/parser/lexer.rl"
9102
9111
  begin
9103
9112
  @te = p+1
9104
9113
  begin
@@ -9113,7 +9122,7 @@ p = p - 1; begin p = p - 1; begin
9113
9122
  end
9114
9123
  end
9115
9124
  when 136 then
9116
- # line 1063 "lib/parser/lexer.rl"
9125
+ # line 1074 "lib/parser/lexer.rl"
9117
9126
  begin
9118
9127
  @te = p+1
9119
9128
  begin
@@ -9129,7 +9138,7 @@ p = p - 1; begin p = p - 1; begin
9129
9138
  end
9130
9139
  end
9131
9140
  when 142 then
9132
- # line 1084 "lib/parser/lexer.rl"
9141
+ # line 1095 "lib/parser/lexer.rl"
9133
9142
  begin
9134
9143
  @te = p+1
9135
9144
  begin p = p - 1; p = p - 1; begin
@@ -9140,7 +9149,7 @@ p = p - 1; begin p = p - 1; begin
9140
9149
  end
9141
9150
  end
9142
9151
  when 10 then
9143
- # line 1092 "lib/parser/lexer.rl"
9152
+ # line 1103 "lib/parser/lexer.rl"
9144
9153
  begin
9145
9154
  @te = p+1
9146
9155
  begin p = @ts - 1; begin
@@ -9151,7 +9160,7 @@ p = p - 1; begin p = p - 1; begin
9151
9160
  end
9152
9161
  end
9153
9162
  when 144 then
9154
- # line 1101 "lib/parser/lexer.rl"
9163
+ # line 1112 "lib/parser/lexer.rl"
9155
9164
  begin
9156
9165
  @te = p+1
9157
9166
  begin p = tm - 1; begin
@@ -9162,7 +9171,7 @@ p = p - 1; begin p = p - 1; begin
9162
9171
  end
9163
9172
  end
9164
9173
  when 25 then
9165
- # line 1112 "lib/parser/lexer.rl"
9174
+ # line 1123 "lib/parser/lexer.rl"
9166
9175
  begin
9167
9176
  @te = p+1
9168
9177
  begin
@@ -9176,7 +9185,7 @@ p = p - 1; begin p = p - 1; begin
9176
9185
  end
9177
9186
  end
9178
9187
  when 131 then
9179
- # line 1126 "lib/parser/lexer.rl"
9188
+ # line 1137 "lib/parser/lexer.rl"
9180
9189
  begin
9181
9190
  @te = p+1
9182
9191
  begin p = p - 1; begin
@@ -9187,7 +9196,7 @@ p = p - 1; begin p = p - 1; begin
9187
9196
  end
9188
9197
  end
9189
9198
  when 132 then
9190
- # line 566 "lib/parser/lexer.rl"
9199
+ # line 575 "lib/parser/lexer.rl"
9191
9200
  begin
9192
9201
  @te = p+1
9193
9202
  begin
@@ -9207,7 +9216,7 @@ p = p - 1; begin p = p - 1; begin
9207
9216
  end
9208
9217
  end
9209
9218
  when 143 then
9210
- # line 1054 "lib/parser/lexer.rl"
9219
+ # line 1065 "lib/parser/lexer.rl"
9211
9220
  begin
9212
9221
  @te = p
9213
9222
  p = p - 1; begin p = p - 1; begin
@@ -9218,7 +9227,7 @@ p = p - 1; begin p = p - 1; begin
9218
9227
  end
9219
9228
  end
9220
9229
  when 139 then
9221
- # line 1073 "lib/parser/lexer.rl"
9230
+ # line 1084 "lib/parser/lexer.rl"
9222
9231
  begin
9223
9232
  @te = p
9224
9233
  p = p - 1; begin
@@ -9235,7 +9244,7 @@ p = p - 1; begin
9235
9244
  end
9236
9245
  end
9237
9246
  when 141 then
9238
- # line 1089 "lib/parser/lexer.rl"
9247
+ # line 1100 "lib/parser/lexer.rl"
9239
9248
  begin
9240
9249
  @te = p
9241
9250
  p = p - 1; begin p = p - 1; begin
@@ -9246,7 +9255,7 @@ p = p - 1; begin p = p - 1; begin
9246
9255
  end
9247
9256
  end
9248
9257
  when 135 then
9249
- # line 1112 "lib/parser/lexer.rl"
9258
+ # line 1123 "lib/parser/lexer.rl"
9250
9259
  begin
9251
9260
  @te = p
9252
9261
  p = p - 1; begin
@@ -9260,12 +9269,12 @@ p = p - 1; begin
9260
9269
  end
9261
9270
  end
9262
9271
  when 134 then
9263
- # line 1117 "lib/parser/lexer.rl"
9272
+ # line 1128 "lib/parser/lexer.rl"
9264
9273
  begin
9265
9274
  @te = p
9266
9275
  p = p - 1; end
9267
9276
  when 152 then
9268
- # line 1126 "lib/parser/lexer.rl"
9277
+ # line 1137 "lib/parser/lexer.rl"
9269
9278
  begin
9270
9279
  @te = p
9271
9280
  p = p - 1; begin p = p - 1; begin
@@ -9276,12 +9285,12 @@ p = p - 1; begin p = p - 1; begin
9276
9285
  end
9277
9286
  end
9278
9287
  when 11 then
9279
- # line 1117 "lib/parser/lexer.rl"
9288
+ # line 1128 "lib/parser/lexer.rl"
9280
9289
  begin
9281
9290
  begin p = (( @te))-1; end
9282
9291
  end
9283
9292
  when 27 then
9284
- # line 1126 "lib/parser/lexer.rl"
9293
+ # line 1137 "lib/parser/lexer.rl"
9285
9294
  begin
9286
9295
  begin p = (( @te))-1; end
9287
9296
  begin p = p - 1; begin
@@ -9339,7 +9348,7 @@ end
9339
9348
  end
9340
9349
  end
9341
9350
  when 29 then
9342
- # line 1162 "lib/parser/lexer.rl"
9351
+ # line 1173 "lib/parser/lexer.rl"
9343
9352
  begin
9344
9353
  @te = p+1
9345
9354
  begin p = @ts - 1
@@ -9351,7 +9360,7 @@ end
9351
9360
  end
9352
9361
  end
9353
9362
  when 157 then
9354
- # line 566 "lib/parser/lexer.rl"
9363
+ # line 575 "lib/parser/lexer.rl"
9355
9364
  begin
9356
9365
  @te = p+1
9357
9366
  begin
@@ -9371,7 +9380,7 @@ end
9371
9380
  end
9372
9381
  end
9373
9382
  when 158 then
9374
- # line 1162 "lib/parser/lexer.rl"
9383
+ # line 1173 "lib/parser/lexer.rl"
9375
9384
  begin
9376
9385
  @te = p
9377
9386
  p = p - 1; begin p = @ts - 1
@@ -9383,7 +9392,7 @@ p = p - 1; begin p = @ts - 1
9383
9392
  end
9384
9393
  end
9385
9394
  when 30 then
9386
- # line 1162 "lib/parser/lexer.rl"
9395
+ # line 1173 "lib/parser/lexer.rl"
9387
9396
  begin
9388
9397
  begin p = (( @te))-1; end
9389
9398
  begin p = @ts - 1
@@ -9425,7 +9434,7 @@ p = p - 1; begin p = @ts - 1
9425
9434
  end
9426
9435
  end
9427
9436
  when 168 then
9428
- # line 1198 "lib/parser/lexer.rl"
9437
+ # line 1209 "lib/parser/lexer.rl"
9429
9438
  begin
9430
9439
  @te = p+1
9431
9440
  begin emit_do(true)
@@ -9437,7 +9446,7 @@ end
9437
9446
  end
9438
9447
  end
9439
9448
  when 161 then
9440
- # line 1204 "lib/parser/lexer.rl"
9449
+ # line 1215 "lib/parser/lexer.rl"
9441
9450
  begin
9442
9451
  @te = p+1
9443
9452
  begin p = p - 1; begin
@@ -9448,7 +9457,7 @@ end
9448
9457
  end
9449
9458
  end
9450
9459
  when 162 then
9451
- # line 566 "lib/parser/lexer.rl"
9460
+ # line 575 "lib/parser/lexer.rl"
9452
9461
  begin
9453
9462
  @te = p+1
9454
9463
  begin
@@ -9468,12 +9477,12 @@ end
9468
9477
  end
9469
9478
  end
9470
9479
  when 163 then
9471
- # line 1201 "lib/parser/lexer.rl"
9480
+ # line 1212 "lib/parser/lexer.rl"
9472
9481
  begin
9473
9482
  @te = p
9474
9483
  p = p - 1; end
9475
9484
  when 166 then
9476
- # line 1204 "lib/parser/lexer.rl"
9485
+ # line 1215 "lib/parser/lexer.rl"
9477
9486
  begin
9478
9487
  @te = p
9479
9488
  p = p - 1; begin p = p - 1; begin
@@ -9484,7 +9493,7 @@ p = p - 1; begin p = p - 1; begin
9484
9493
  end
9485
9494
  end
9486
9495
  when 172 then
9487
- # line 1228 "lib/parser/lexer.rl"
9496
+ # line 1239 "lib/parser/lexer.rl"
9488
9497
  begin
9489
9498
  @te = p+1
9490
9499
  begin p = p - 1; begin
@@ -9495,7 +9504,7 @@ p = p - 1; begin p = p - 1; begin
9495
9504
  end
9496
9505
  end
9497
9506
  when 171 then
9498
- # line 566 "lib/parser/lexer.rl"
9507
+ # line 575 "lib/parser/lexer.rl"
9499
9508
  begin
9500
9509
  @te = p+1
9501
9510
  begin
@@ -9515,7 +9524,7 @@ p = p - 1; begin p = p - 1; begin
9515
9524
  end
9516
9525
  end
9517
9526
  when 180 then
9518
- # line 1220 "lib/parser/lexer.rl"
9527
+ # line 1231 "lib/parser/lexer.rl"
9519
9528
  begin
9520
9529
  @te = p
9521
9530
  p = p - 1; begin p = @ts - 1; begin
@@ -9526,12 +9535,12 @@ p = p - 1; begin p = @ts - 1; begin
9526
9535
  end
9527
9536
  end
9528
9537
  when 174 then
9529
- # line 1222 "lib/parser/lexer.rl"
9538
+ # line 1233 "lib/parser/lexer.rl"
9530
9539
  begin
9531
9540
  @te = p
9532
9541
  p = p - 1; end
9533
9542
  when 178 then
9534
- # line 1228 "lib/parser/lexer.rl"
9543
+ # line 1239 "lib/parser/lexer.rl"
9535
9544
  begin
9536
9545
  @te = p
9537
9546
  p = p - 1; begin p = p - 1; begin
@@ -9565,7 +9574,7 @@ p = p - 1; begin p = p - 1; begin
9565
9574
  end
9566
9575
  end
9567
9576
  when 42 then
9568
- # line 1243 "lib/parser/lexer.rl"
9577
+ # line 1254 "lib/parser/lexer.rl"
9569
9578
  begin
9570
9579
  @te = p+1
9571
9580
  begin
@@ -9579,7 +9588,7 @@ end
9579
9588
  end
9580
9589
  end
9581
9590
  when 214 then
9582
- # line 1260 "lib/parser/lexer.rl"
9591
+ # line 1271 "lib/parser/lexer.rl"
9583
9592
  begin
9584
9593
  @te = p+1
9585
9594
  begin
@@ -9596,7 +9605,7 @@ end
9596
9605
  end
9597
9606
  end
9598
9607
  when 206 then
9599
- # line 1270 "lib/parser/lexer.rl"
9608
+ # line 1281 "lib/parser/lexer.rl"
9600
9609
  begin
9601
9610
  @te = p+1
9602
9611
  begin
@@ -9611,7 +9620,7 @@ end
9611
9620
  end
9612
9621
  end
9613
9622
  when 40 then
9614
- # line 1278 "lib/parser/lexer.rl"
9623
+ # line 1289 "lib/parser/lexer.rl"
9615
9624
  begin
9616
9625
  @te = p+1
9617
9626
  begin
@@ -9626,7 +9635,7 @@ end
9626
9635
  end
9627
9636
  end
9628
9637
  when 227 then
9629
- # line 1355 "lib/parser/lexer.rl"
9638
+ # line 1366 "lib/parser/lexer.rl"
9630
9639
  begin
9631
9640
  @te = p+1
9632
9641
  begin
@@ -9641,7 +9650,7 @@ end
9641
9650
  end
9642
9651
  end
9643
9652
  when 215 then
9644
- # line 1363 "lib/parser/lexer.rl"
9653
+ # line 1374 "lib/parser/lexer.rl"
9645
9654
  begin
9646
9655
  @te = p+1
9647
9656
  begin
@@ -9657,7 +9666,7 @@ end
9657
9666
  end
9658
9667
  end
9659
9668
  when 226 then
9660
- # line 1373 "lib/parser/lexer.rl"
9669
+ # line 1384 "lib/parser/lexer.rl"
9661
9670
  begin
9662
9671
  @te = p+1
9663
9672
  begin
@@ -9671,11 +9680,17 @@ end
9671
9680
  end
9672
9681
  end
9673
9682
  when 54 then
9674
- # line 1387 "lib/parser/lexer.rl"
9683
+ # line 1398 "lib/parser/lexer.rl"
9675
9684
  begin
9676
9685
  @te = p+1
9677
9686
  begin
9678
- emit(:tSYMBOL, tok(@ts + 1), @ts)
9687
+ gvar_name = tok(@ts + 1)
9688
+
9689
+ if @version >= 33 && gvar_name.start_with?('$0') && gvar_name.length > 2
9690
+ diagnostic :error, :gvar_name, { :name => gvar_name }, range(@ts + 1, @te)
9691
+ end
9692
+
9693
+ emit(:tSYMBOL, gvar_name, @ts)
9679
9694
  @cs = 516; begin
9680
9695
  p += 1
9681
9696
  _goto_level = _out
@@ -9685,7 +9700,7 @@ end
9685
9700
  end
9686
9701
  end
9687
9702
  when 236 then
9688
- # line 1408 "lib/parser/lexer.rl"
9703
+ # line 1425 "lib/parser/lexer.rl"
9689
9704
  begin
9690
9705
  @te = p+1
9691
9706
  begin
@@ -9713,7 +9728,7 @@ end
9713
9728
  end
9714
9729
  end
9715
9730
  when 237 then
9716
- # line 1423 "lib/parser/lexer.rl"
9731
+ # line 1440 "lib/parser/lexer.rl"
9717
9732
  begin
9718
9733
  @te = p+1
9719
9734
  begin
@@ -9721,7 +9736,7 @@ end
9721
9736
  end
9722
9737
  end
9723
9738
  when 216 then
9724
- # line 1475 "lib/parser/lexer.rl"
9739
+ # line 1492 "lib/parser/lexer.rl"
9725
9740
  begin
9726
9741
  @te = p+1
9727
9742
  begin emit_table(PUNCTUATION_BEGIN)
@@ -9733,7 +9748,7 @@ end
9733
9748
  end
9734
9749
  end
9735
9750
  when 37 then
9736
- # line 1496 "lib/parser/lexer.rl"
9751
+ # line 1513 "lib/parser/lexer.rl"
9737
9752
  begin
9738
9753
  @te = p+1
9739
9754
  begin
@@ -9765,7 +9780,7 @@ end
9765
9780
  end
9766
9781
  end
9767
9782
  when 34 then
9768
- # line 1589 "lib/parser/lexer.rl"
9783
+ # line 1606 "lib/parser/lexer.rl"
9769
9784
  begin
9770
9785
  @te = p+1
9771
9786
  begin
@@ -9786,7 +9801,7 @@ end
9786
9801
  end
9787
9802
  end
9788
9803
  when 200 then
9789
- # line 1608 "lib/parser/lexer.rl"
9804
+ # line 1625 "lib/parser/lexer.rl"
9790
9805
  begin
9791
9806
  @te = p+1
9792
9807
  begin
@@ -9801,7 +9816,7 @@ end
9801
9816
  end
9802
9817
  end
9803
9818
  when 41 then
9804
- # line 1624 "lib/parser/lexer.rl"
9819
+ # line 1641 "lib/parser/lexer.rl"
9805
9820
  begin
9806
9821
  @te = p+1
9807
9822
  begin p = @ts - 1; begin
@@ -9812,7 +9827,7 @@ end
9812
9827
  end
9813
9828
  end
9814
9829
  when 183 then
9815
- # line 566 "lib/parser/lexer.rl"
9830
+ # line 575 "lib/parser/lexer.rl"
9816
9831
  begin
9817
9832
  @te = p+1
9818
9833
  begin
@@ -9832,7 +9847,7 @@ end
9832
9847
  end
9833
9848
  end
9834
9849
  when 210 then
9835
- # line 1243 "lib/parser/lexer.rl"
9850
+ # line 1254 "lib/parser/lexer.rl"
9836
9851
  begin
9837
9852
  @te = p
9838
9853
  p = p - 1; begin
@@ -9846,7 +9861,7 @@ p = p - 1; begin
9846
9861
  end
9847
9862
  end
9848
9863
  when 209 then
9849
- # line 1250 "lib/parser/lexer.rl"
9864
+ # line 1261 "lib/parser/lexer.rl"
9850
9865
  begin
9851
9866
  @te = p
9852
9867
  p = p - 1; begin emit(:tSTAR, '*'.freeze)
@@ -9858,7 +9873,7 @@ p = p - 1; begin emit(:tSTAR, '*'.freeze)
9858
9873
  end
9859
9874
  end
9860
9875
  when 205 then
9861
- # line 1285 "lib/parser/lexer.rl"
9876
+ # line 1296 "lib/parser/lexer.rl"
9862
9877
  begin
9863
9878
  @te = p
9864
9879
  p = p - 1; begin
@@ -9866,7 +9881,7 @@ p = p - 1; begin
9866
9881
  end
9867
9882
  end
9868
9883
  when 234 then
9869
- # line 1346 "lib/parser/lexer.rl"
9884
+ # line 1357 "lib/parser/lexer.rl"
9870
9885
  begin
9871
9886
  @te = p
9872
9887
  p = p - 1; begin
@@ -9874,11 +9889,17 @@ p = p - 1; begin
9874
9889
  end
9875
9890
  end
9876
9891
  when 217 then
9877
- # line 1387 "lib/parser/lexer.rl"
9892
+ # line 1398 "lib/parser/lexer.rl"
9878
9893
  begin
9879
9894
  @te = p
9880
9895
  p = p - 1; begin
9881
- emit(:tSYMBOL, tok(@ts + 1), @ts)
9896
+ gvar_name = tok(@ts + 1)
9897
+
9898
+ if @version >= 33 && gvar_name.start_with?('$0') && gvar_name.length > 2
9899
+ diagnostic :error, :gvar_name, { :name => gvar_name }, range(@ts + 1, @te)
9900
+ end
9901
+
9902
+ emit(:tSYMBOL, gvar_name, @ts)
9882
9903
  @cs = 516; begin
9883
9904
  p += 1
9884
9905
  _goto_level = _out
@@ -9888,7 +9909,7 @@ p = p - 1; begin
9888
9909
  end
9889
9910
  end
9890
9911
  when 230 then
9891
- # line 1395 "lib/parser/lexer.rl"
9912
+ # line 1412 "lib/parser/lexer.rl"
9892
9913
  begin
9893
9914
  @te = p
9894
9915
  p = p - 1; begin
@@ -9903,7 +9924,7 @@ p = p - 1; begin
9903
9924
  end
9904
9925
  end
9905
9926
  when 235 then
9906
- # line 1423 "lib/parser/lexer.rl"
9927
+ # line 1440 "lib/parser/lexer.rl"
9907
9928
  begin
9908
9929
  @te = p
9909
9930
  p = p - 1; begin
@@ -9911,7 +9932,7 @@ p = p - 1; begin
9911
9932
  end
9912
9933
  end
9913
9934
  when 207 then
9914
- # line 1475 "lib/parser/lexer.rl"
9935
+ # line 1492 "lib/parser/lexer.rl"
9915
9936
  begin
9916
9937
  @te = p
9917
9938
  p = p - 1; begin emit_table(PUNCTUATION_BEGIN)
@@ -9923,7 +9944,7 @@ p = p - 1; begin emit_table(PUNCTUATION_BEGIN)
9923
9944
  end
9924
9945
  end
9925
9946
  when 211 then
9926
- # line 1523 "lib/parser/lexer.rl"
9947
+ # line 1540 "lib/parser/lexer.rl"
9927
9948
  begin
9928
9949
  @te = p
9929
9950
  p = p - 1; begin
@@ -9942,7 +9963,7 @@ p = p - 1; begin
9942
9963
  end
9943
9964
  end
9944
9965
  when 212 then
9945
- # line 1534 "lib/parser/lexer.rl"
9966
+ # line 1551 "lib/parser/lexer.rl"
9946
9967
  begin
9947
9968
  @te = p
9948
9969
  p = p - 1; begin
@@ -9987,7 +10008,7 @@ p = p - 1; begin
9987
10008
  end
9988
10009
  end
9989
10010
  when 187 then
9990
- # line 831 "lib/parser/lexer.rl"
10011
+ # line 840 "lib/parser/lexer.rl"
9991
10012
  begin
9992
10013
  @te = p
9993
10014
  p = p - 1; begin
@@ -10000,6 +10021,13 @@ p = p - 1; begin
10000
10021
  next
10001
10022
  end
10002
10023
 
10024
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
10025
+ @cs = 247; begin
10026
+ p += 1
10027
+ _goto_level = _out
10028
+ next
10029
+ end
10030
+
10003
10031
  else
10004
10032
  @cs = (arg_or_cmdarg(cmd_state)); begin
10005
10033
  p += 1
@@ -10011,12 +10039,12 @@ p = p - 1; begin
10011
10039
  end
10012
10040
  end
10013
10041
  when 197 then
10014
- # line 1605 "lib/parser/lexer.rl"
10042
+ # line 1622 "lib/parser/lexer.rl"
10015
10043
  begin
10016
10044
  @te = p
10017
10045
  p = p - 1; end
10018
10046
  when 199 then
10019
- # line 1608 "lib/parser/lexer.rl"
10047
+ # line 1625 "lib/parser/lexer.rl"
10020
10048
  begin
10021
10049
  @te = p
10022
10050
  p = p - 1; begin
@@ -10031,7 +10059,7 @@ p = p - 1; begin
10031
10059
  end
10032
10060
  end
10033
10061
  when 202 then
10034
- # line 1624 "lib/parser/lexer.rl"
10062
+ # line 1641 "lib/parser/lexer.rl"
10035
10063
  begin
10036
10064
  @te = p
10037
10065
  p = p - 1; begin p = @ts - 1; begin
@@ -10042,7 +10070,7 @@ p = p - 1; begin p = @ts - 1; begin
10042
10070
  end
10043
10071
  end
10044
10072
  when 39 then
10045
- # line 1285 "lib/parser/lexer.rl"
10073
+ # line 1296 "lib/parser/lexer.rl"
10046
10074
  begin
10047
10075
  begin p = (( @te))-1; end
10048
10076
  begin
@@ -10050,7 +10078,7 @@ p = p - 1; begin p = @ts - 1; begin
10050
10078
  end
10051
10079
  end
10052
10080
  when 58 then
10053
- # line 1346 "lib/parser/lexer.rl"
10081
+ # line 1357 "lib/parser/lexer.rl"
10054
10082
  begin
10055
10083
  begin p = (( @te))-1; end
10056
10084
  begin
@@ -10058,7 +10086,7 @@ p = p - 1; begin p = @ts - 1; begin
10058
10086
  end
10059
10087
  end
10060
10088
  when 33 then
10061
- # line 831 "lib/parser/lexer.rl"
10089
+ # line 840 "lib/parser/lexer.rl"
10062
10090
  begin
10063
10091
  begin p = (( @te))-1; end
10064
10092
  begin
@@ -10071,6 +10099,13 @@ p = p - 1; begin p = @ts - 1; begin
10071
10099
  next
10072
10100
  end
10073
10101
 
10102
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
10103
+ @cs = 247; begin
10104
+ p += 1
10105
+ _goto_level = _out
10106
+ next
10107
+ end
10108
+
10074
10109
  else
10075
10110
  @cs = (arg_or_cmdarg(cmd_state)); begin
10076
10111
  p += 1
@@ -10082,12 +10117,12 @@ p = p - 1; begin p = @ts - 1; begin
10082
10117
  end
10083
10118
  end
10084
10119
  when 38 then
10085
- # line 1605 "lib/parser/lexer.rl"
10120
+ # line 1622 "lib/parser/lexer.rl"
10086
10121
  begin
10087
10122
  begin p = (( @te))-1; end
10088
10123
  end
10089
10124
  when 53 then
10090
- # line 1624 "lib/parser/lexer.rl"
10125
+ # line 1641 "lib/parser/lexer.rl"
10091
10126
  begin
10092
10127
  begin p = (( @te))-1; end
10093
10128
  begin p = @ts - 1; begin
@@ -10189,6 +10224,13 @@ p = p - 1; begin p = @ts - 1; begin
10189
10224
  next
10190
10225
  end
10191
10226
 
10227
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
10228
+ @cs = 247; begin
10229
+ p += 1
10230
+ _goto_level = _out
10231
+ next
10232
+ end
10233
+
10192
10234
  else
10193
10235
  @cs = (arg_or_cmdarg(cmd_state)); begin
10194
10236
  p += 1
@@ -10209,7 +10251,7 @@ p = p - 1; begin p = @ts - 1; begin
10209
10251
  end
10210
10252
  end
10211
10253
  when 247 then
10212
- # line 1644 "lib/parser/lexer.rl"
10254
+ # line 1661 "lib/parser/lexer.rl"
10213
10255
  begin
10214
10256
  @te = p+1
10215
10257
  begin p = p - 1; begin
@@ -10220,7 +10262,7 @@ end
10220
10262
  end
10221
10263
  end
10222
10264
  when 248 then
10223
- # line 566 "lib/parser/lexer.rl"
10265
+ # line 575 "lib/parser/lexer.rl"
10224
10266
  begin
10225
10267
  @te = p+1
10226
10268
  begin
@@ -10240,12 +10282,12 @@ end
10240
10282
  end
10241
10283
  end
10242
10284
  when 249 then
10243
- # line 1632 "lib/parser/lexer.rl"
10285
+ # line 1649 "lib/parser/lexer.rl"
10244
10286
  begin
10245
10287
  @te = p
10246
10288
  p = p - 1; end
10247
10289
  when 253 then
10248
- # line 1644 "lib/parser/lexer.rl"
10290
+ # line 1661 "lib/parser/lexer.rl"
10249
10291
  begin
10250
10292
  @te = p
10251
10293
  p = p - 1; begin p = p - 1; begin
@@ -10256,7 +10298,7 @@ p = p - 1; begin p = p - 1; begin
10256
10298
  end
10257
10299
  end
10258
10300
  when 61 then
10259
- # line 1654 "lib/parser/lexer.rl"
10301
+ # line 1671 "lib/parser/lexer.rl"
10260
10302
  begin
10261
10303
  @te = p+1
10262
10304
  begin p = @ts - 1
@@ -10268,7 +10310,7 @@ p = p - 1; begin p = p - 1; begin
10268
10310
  end
10269
10311
  end
10270
10312
  when 257 then
10271
- # line 1659 "lib/parser/lexer.rl"
10313
+ # line 1676 "lib/parser/lexer.rl"
10272
10314
  begin
10273
10315
  @te = p+1
10274
10316
  begin
@@ -10282,7 +10324,7 @@ p = p - 1; begin p = p - 1; begin
10282
10324
  end
10283
10325
  end
10284
10326
  when 256 then
10285
- # line 1670 "lib/parser/lexer.rl"
10327
+ # line 1687 "lib/parser/lexer.rl"
10286
10328
  begin
10287
10329
  @te = p+1
10288
10330
  begin p = p - 1; begin
@@ -10293,7 +10335,7 @@ p = p - 1; begin p = p - 1; begin
10293
10335
  end
10294
10336
  end
10295
10337
  when 255 then
10296
- # line 566 "lib/parser/lexer.rl"
10338
+ # line 575 "lib/parser/lexer.rl"
10297
10339
  begin
10298
10340
  @te = p+1
10299
10341
  begin
@@ -10313,12 +10355,12 @@ p = p - 1; begin p = p - 1; begin
10313
10355
  end
10314
10356
  end
10315
10357
  when 259 then
10316
- # line 1664 "lib/parser/lexer.rl"
10358
+ # line 1681 "lib/parser/lexer.rl"
10317
10359
  begin
10318
10360
  @te = p
10319
10361
  p = p - 1; end
10320
10362
  when 258 then
10321
- # line 1670 "lib/parser/lexer.rl"
10363
+ # line 1687 "lib/parser/lexer.rl"
10322
10364
  begin
10323
10365
  @te = p
10324
10366
  p = p - 1; begin p = p - 1; begin
@@ -10329,7 +10371,7 @@ p = p - 1; begin p = p - 1; begin
10329
10371
  end
10330
10372
  end
10331
10373
  when 60 then
10332
- # line 1670 "lib/parser/lexer.rl"
10374
+ # line 1687 "lib/parser/lexer.rl"
10333
10375
  begin
10334
10376
  begin p = (( @te))-1; end
10335
10377
  begin p = p - 1; begin
@@ -10340,7 +10382,7 @@ p = p - 1; begin p = p - 1; begin
10340
10382
  end
10341
10383
  end
10342
10384
  when 292 then
10343
- # line 1681 "lib/parser/lexer.rl"
10385
+ # line 1698 "lib/parser/lexer.rl"
10344
10386
  begin
10345
10387
  @te = p+1
10346
10388
  begin
@@ -10356,7 +10398,7 @@ p = p - 1; begin p = p - 1; begin
10356
10398
  end
10357
10399
  end
10358
10400
  when 71 then
10359
- # line 1722 "lib/parser/lexer.rl"
10401
+ # line 1739 "lib/parser/lexer.rl"
10360
10402
  begin
10361
10403
  @te = p+1
10362
10404
  begin emit_singleton_class
@@ -10368,7 +10410,7 @@ p = p - 1; begin p = p - 1; begin
10368
10410
  end
10369
10411
  end
10370
10412
  when 267 then
10371
- # line 1843 "lib/parser/lexer.rl"
10413
+ # line 1860 "lib/parser/lexer.rl"
10372
10414
  begin
10373
10415
  @te = p+1
10374
10416
  begin
@@ -10383,7 +10425,7 @@ p = p - 1; begin p = p - 1; begin
10383
10425
  end
10384
10426
  end
10385
10427
  when 63 then
10386
- # line 1862 "lib/parser/lexer.rl"
10428
+ # line 1879 "lib/parser/lexer.rl"
10387
10429
  begin
10388
10430
  @te = p+1
10389
10431
  begin p = @ts - 1; begin
@@ -10396,7 +10438,7 @@ p = p - 1; begin p = p - 1; begin
10396
10438
  end
10397
10439
  end
10398
10440
  when 288 then
10399
- # line 1869 "lib/parser/lexer.rl"
10441
+ # line 1886 "lib/parser/lexer.rl"
10400
10442
  begin
10401
10443
  @te = p+1
10402
10444
  begin emit_table(PUNCTUATION)
@@ -10408,7 +10450,7 @@ p = p - 1; begin p = p - 1; begin
10408
10450
  end
10409
10451
  end
10410
10452
  when 341 then
10411
- # line 1893 "lib/parser/lexer.rl"
10453
+ # line 1910 "lib/parser/lexer.rl"
10412
10454
  begin
10413
10455
  @te = p+1
10414
10456
  begin
@@ -10422,7 +10464,7 @@ p = p - 1; begin p = p - 1; begin
10422
10464
  end
10423
10465
  end
10424
10466
  when 281 then
10425
- # line 1902 "lib/parser/lexer.rl"
10467
+ # line 1919 "lib/parser/lexer.rl"
10426
10468
  begin
10427
10469
  @te = p+1
10428
10470
  begin
@@ -10436,7 +10478,7 @@ p = p - 1; begin p = p - 1; begin
10436
10478
  end
10437
10479
  end
10438
10480
  when 286 then
10439
- # line 1929 "lib/parser/lexer.rl"
10481
+ # line 1946 "lib/parser/lexer.rl"
10440
10482
  begin
10441
10483
  @te = p+1
10442
10484
  begin emit(:tOP_ASGN, tok(@ts, @te - 1))
@@ -10448,7 +10490,7 @@ p = p - 1; begin p = p - 1; begin
10448
10490
  end
10449
10491
  end
10450
10492
  when 272 then
10451
- # line 1933 "lib/parser/lexer.rl"
10493
+ # line 1950 "lib/parser/lexer.rl"
10452
10494
  begin
10453
10495
  @te = p+1
10454
10496
  begin emit(:tEH, '?'.freeze)
@@ -10460,7 +10502,7 @@ p = p - 1; begin p = p - 1; begin
10460
10502
  end
10461
10503
  end
10462
10504
  when 269 then
10463
- # line 1952 "lib/parser/lexer.rl"
10505
+ # line 1969 "lib/parser/lexer.rl"
10464
10506
  begin
10465
10507
  @te = p+1
10466
10508
  begin emit_table(PUNCTUATION)
@@ -10472,7 +10514,7 @@ p = p - 1; begin p = p - 1; begin
10472
10514
  end
10473
10515
  end
10474
10516
  when 271 then
10475
- # line 1965 "lib/parser/lexer.rl"
10517
+ # line 1982 "lib/parser/lexer.rl"
10476
10518
  begin
10477
10519
  @te = p+1
10478
10520
  begin emit(:tSEMI, ';'.freeze)
@@ -10485,7 +10527,7 @@ p = p - 1; begin p = p - 1; begin
10485
10527
  end
10486
10528
  end
10487
10529
  when 346 then
10488
- # line 1969 "lib/parser/lexer.rl"
10530
+ # line 1986 "lib/parser/lexer.rl"
10489
10531
  begin
10490
10532
  @te = p+1
10491
10533
  begin
@@ -10494,7 +10536,7 @@ p = p - 1; begin p = p - 1; begin
10494
10536
  end
10495
10537
  end
10496
10538
  when 266 then
10497
- # line 1975 "lib/parser/lexer.rl"
10539
+ # line 1992 "lib/parser/lexer.rl"
10498
10540
  begin
10499
10541
  @te = p+1
10500
10542
  begin
@@ -10502,7 +10544,7 @@ p = p - 1; begin p = p - 1; begin
10502
10544
  end
10503
10545
  end
10504
10546
  when 265 then
10505
- # line 566 "lib/parser/lexer.rl"
10547
+ # line 575 "lib/parser/lexer.rl"
10506
10548
  begin
10507
10549
  @te = p+1
10508
10550
  begin
@@ -10522,7 +10564,7 @@ p = p - 1; begin p = p - 1; begin
10522
10564
  end
10523
10565
  end
10524
10566
  when 357 then
10525
- # line 1718 "lib/parser/lexer.rl"
10567
+ # line 1735 "lib/parser/lexer.rl"
10526
10568
  begin
10527
10569
  @te = p
10528
10570
  p = p - 1; begin emit_table(KEYWORDS)
@@ -10534,7 +10576,7 @@ p = p - 1; begin emit_table(KEYWORDS)
10534
10576
  end
10535
10577
  end
10536
10578
  when 355 then
10537
- # line 1722 "lib/parser/lexer.rl"
10579
+ # line 1739 "lib/parser/lexer.rl"
10538
10580
  begin
10539
10581
  @te = p
10540
10582
  p = p - 1; begin emit_singleton_class
@@ -10546,7 +10588,7 @@ p = p - 1; begin emit_singleton_class
10546
10588
  end
10547
10589
  end
10548
10590
  when 354 then
10549
- # line 1732 "lib/parser/lexer.rl"
10591
+ # line 1749 "lib/parser/lexer.rl"
10550
10592
  begin
10551
10593
  @te = p
10552
10594
  p = p - 1; begin emit_table(KEYWORDS)
@@ -10559,7 +10601,7 @@ p = p - 1; begin emit_table(KEYWORDS)
10559
10601
  end
10560
10602
  end
10561
10603
  when 296 then
10562
- # line 1793 "lib/parser/lexer.rl"
10604
+ # line 1810 "lib/parser/lexer.rl"
10563
10605
  begin
10564
10606
  @te = p
10565
10607
  p = p - 1; begin
@@ -10567,7 +10609,7 @@ p = p - 1; begin
10567
10609
  end
10568
10610
  end
10569
10611
  when 343 then
10570
- # line 1854 "lib/parser/lexer.rl"
10612
+ # line 1871 "lib/parser/lexer.rl"
10571
10613
  begin
10572
10614
  @te = p
10573
10615
  p = p - 1; begin emit(:tCONSTANT)
@@ -10579,7 +10621,7 @@ p = p - 1; begin emit(:tCONSTANT)
10579
10621
  end
10580
10622
  end
10581
10623
  when 285 then
10582
- # line 1862 "lib/parser/lexer.rl"
10624
+ # line 1879 "lib/parser/lexer.rl"
10583
10625
  begin
10584
10626
  @te = p
10585
10627
  p = p - 1; begin p = @ts - 1; begin
@@ -10592,7 +10634,7 @@ p = p - 1; begin p = @ts - 1; begin
10592
10634
  end
10593
10635
  end
10594
10636
  when 293 then
10595
- # line 1869 "lib/parser/lexer.rl"
10637
+ # line 1886 "lib/parser/lexer.rl"
10596
10638
  begin
10597
10639
  @te = p
10598
10640
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -10604,7 +10646,7 @@ p = p - 1; begin emit_table(PUNCTUATION)
10604
10646
  end
10605
10647
  end
10606
10648
  when 349 then
10607
- # line 831 "lib/parser/lexer.rl"
10649
+ # line 840 "lib/parser/lexer.rl"
10608
10650
  begin
10609
10651
  @te = p
10610
10652
  p = p - 1; begin
@@ -10617,6 +10659,13 @@ p = p - 1; begin
10617
10659
  next
10618
10660
  end
10619
10661
 
10662
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
10663
+ @cs = 247; begin
10664
+ p += 1
10665
+ _goto_level = _out
10666
+ next
10667
+ end
10668
+
10620
10669
  else
10621
10670
  @cs = (arg_or_cmdarg(cmd_state)); begin
10622
10671
  p += 1
@@ -10628,7 +10677,7 @@ p = p - 1; begin
10628
10677
  end
10629
10678
  end
10630
10679
  when 291 then
10631
- # line 1893 "lib/parser/lexer.rl"
10680
+ # line 1910 "lib/parser/lexer.rl"
10632
10681
  begin
10633
10682
  @te = p
10634
10683
  p = p - 1; begin
@@ -10642,7 +10691,7 @@ p = p - 1; begin
10642
10691
  end
10643
10692
  end
10644
10693
  when 287 then
10645
- # line 1902 "lib/parser/lexer.rl"
10694
+ # line 1919 "lib/parser/lexer.rl"
10646
10695
  begin
10647
10696
  @te = p
10648
10697
  p = p - 1; begin
@@ -10656,7 +10705,7 @@ p = p - 1; begin
10656
10705
  end
10657
10706
  end
10658
10707
  when 280 then
10659
- # line 1908 "lib/parser/lexer.rl"
10708
+ # line 1925 "lib/parser/lexer.rl"
10660
10709
  begin
10661
10710
  @te = p
10662
10711
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -10668,7 +10717,7 @@ p = p - 1; begin emit_table(PUNCTUATION)
10668
10717
  end
10669
10718
  end
10670
10719
  when 294 then
10671
- # line 1952 "lib/parser/lexer.rl"
10720
+ # line 1969 "lib/parser/lexer.rl"
10672
10721
  begin
10673
10722
  @te = p
10674
10723
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -10680,12 +10729,12 @@ p = p - 1; begin emit_table(PUNCTUATION)
10680
10729
  end
10681
10730
  end
10682
10731
  when 278 then
10683
- # line 1959 "lib/parser/lexer.rl"
10732
+ # line 1976 "lib/parser/lexer.rl"
10684
10733
  begin
10685
10734
  @te = p
10686
10735
  p = p - 1; end
10687
10736
  when 284 then
10688
- # line 1975 "lib/parser/lexer.rl"
10737
+ # line 1992 "lib/parser/lexer.rl"
10689
10738
  begin
10690
10739
  @te = p
10691
10740
  p = p - 1; begin
@@ -10693,7 +10742,7 @@ p = p - 1; begin
10693
10742
  end
10694
10743
  end
10695
10744
  when 69 then
10696
- # line 1780 "lib/parser/lexer.rl"
10745
+ # line 1797 "lib/parser/lexer.rl"
10697
10746
  begin
10698
10747
  begin p = (( @te))-1; end
10699
10748
  begin
@@ -10714,7 +10763,7 @@ p = p - 1; begin
10714
10763
  end
10715
10764
  end
10716
10765
  when 64 then
10717
- # line 1793 "lib/parser/lexer.rl"
10766
+ # line 1810 "lib/parser/lexer.rl"
10718
10767
  begin
10719
10768
  begin p = (( @te))-1; end
10720
10769
  begin
@@ -10722,7 +10771,7 @@ p = p - 1; begin
10722
10771
  end
10723
10772
  end
10724
10773
  when 68 then
10725
- # line 1825 "lib/parser/lexer.rl"
10774
+ # line 1842 "lib/parser/lexer.rl"
10726
10775
  begin
10727
10776
  begin p = (( @te))-1; end
10728
10777
  begin
@@ -10743,7 +10792,7 @@ p = p - 1; begin
10743
10792
  end
10744
10793
  end
10745
10794
  when 62 then
10746
- # line 1975 "lib/parser/lexer.rl"
10795
+ # line 1992 "lib/parser/lexer.rl"
10747
10796
  begin
10748
10797
  begin p = (( @te))-1; end
10749
10798
  begin
@@ -10970,6 +11019,13 @@ p = p - 1; begin
10970
11019
  next
10971
11020
  end
10972
11021
 
11022
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
11023
+ @cs = 247; begin
11024
+ p += 1
11025
+ _goto_level = _out
11026
+ next
11027
+ end
11028
+
10973
11029
  else
10974
11030
  @cs = (arg_or_cmdarg(cmd_state)); begin
10975
11031
  p += 1
@@ -11020,7 +11076,7 @@ p = p - 1; begin
11020
11076
  end
11021
11077
  end
11022
11078
  when 368 then
11023
- # line 2016 "lib/parser/lexer.rl"
11079
+ # line 2033 "lib/parser/lexer.rl"
11024
11080
  begin
11025
11081
  @te = p+1
11026
11082
  begin
@@ -11044,7 +11100,7 @@ end
11044
11100
  end
11045
11101
  end
11046
11102
  when 80 then
11047
- # line 2027 "lib/parser/lexer.rl"
11103
+ # line 2044 "lib/parser/lexer.rl"
11048
11104
  begin
11049
11105
  @te = p+1
11050
11106
  begin p = tm - 1; begin
@@ -11055,7 +11111,7 @@ end
11055
11111
  end
11056
11112
  end
11057
11113
  when 362 then
11058
- # line 2030 "lib/parser/lexer.rl"
11114
+ # line 2047 "lib/parser/lexer.rl"
11059
11115
  begin
11060
11116
  @te = p+1
11061
11117
  begin emit(:tNL, nil, @newline_s, @newline_s + 1)
@@ -11067,7 +11123,7 @@ end
11067
11123
  end
11068
11124
  end
11069
11125
  when 365 then
11070
- # line 1991 "lib/parser/lexer.rl"
11126
+ # line 2008 "lib/parser/lexer.rl"
11071
11127
  begin
11072
11128
  @te = p
11073
11129
  p = p - 1; begin
@@ -11089,7 +11145,7 @@ p = p - 1; begin
11089
11145
  end
11090
11146
  end
11091
11147
  when 367 then
11092
- # line 2005 "lib/parser/lexer.rl"
11148
+ # line 2022 "lib/parser/lexer.rl"
11093
11149
  begin
11094
11150
  @te = p
11095
11151
  p = p - 1; begin
@@ -11113,7 +11169,7 @@ p = p - 1; begin
11113
11169
  end
11114
11170
  end
11115
11171
  when 366 then
11116
- # line 2027 "lib/parser/lexer.rl"
11172
+ # line 2044 "lib/parser/lexer.rl"
11117
11173
  begin
11118
11174
  @te = p
11119
11175
  p = p - 1; begin p = tm - 1; begin
@@ -11124,7 +11180,7 @@ p = p - 1; begin p = tm - 1; begin
11124
11180
  end
11125
11181
  end
11126
11182
  when 364 then
11127
- # line 2030 "lib/parser/lexer.rl"
11183
+ # line 2047 "lib/parser/lexer.rl"
11128
11184
  begin
11129
11185
  @te = p
11130
11186
  p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
@@ -11136,7 +11192,7 @@ p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
11136
11192
  end
11137
11193
  end
11138
11194
  when 75 then
11139
- # line 1991 "lib/parser/lexer.rl"
11195
+ # line 2008 "lib/parser/lexer.rl"
11140
11196
  begin
11141
11197
  begin p = (( @te))-1; end
11142
11198
  begin
@@ -11158,7 +11214,7 @@ p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
11158
11214
  end
11159
11215
  end
11160
11216
  when 72 then
11161
- # line 2030 "lib/parser/lexer.rl"
11217
+ # line 2047 "lib/parser/lexer.rl"
11162
11218
  begin
11163
11219
  begin p = (( @te))-1; end
11164
11220
  begin emit(:tNL, nil, @newline_s, @newline_s + 1)
@@ -11204,7 +11260,7 @@ p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
11204
11260
  end
11205
11261
  end
11206
11262
  when 371 then
11207
- # line 2040 "lib/parser/lexer.rl"
11263
+ # line 2057 "lib/parser/lexer.rl"
11208
11264
  begin
11209
11265
  @te = p
11210
11266
  p = p - 1; begin
@@ -11218,7 +11274,7 @@ p = p - 1; begin
11218
11274
  end
11219
11275
  end
11220
11276
  when 370 then
11221
- # line 2048 "lib/parser/lexer.rl"
11277
+ # line 2065 "lib/parser/lexer.rl"
11222
11278
  begin
11223
11279
  @te = p
11224
11280
  p = p - 1; begin
@@ -11227,7 +11283,7 @@ p = p - 1; begin
11227
11283
  end
11228
11284
  end
11229
11285
  when 381 then
11230
- # line 2058 "lib/parser/lexer.rl"
11286
+ # line 2075 "lib/parser/lexer.rl"
11231
11287
  begin
11232
11288
  @te = p+1
11233
11289
  begin @eq_begin_s = @ts
@@ -11239,13 +11295,13 @@ p = p - 1; begin
11239
11295
  end
11240
11296
  end
11241
11297
  when 82 then
11242
- # line 2062 "lib/parser/lexer.rl"
11298
+ # line 2079 "lib/parser/lexer.rl"
11243
11299
  begin
11244
11300
  @te = p+1
11245
11301
  begin p = pe - 3 end
11246
11302
  end
11247
11303
  when 373 then
11248
- # line 2065 "lib/parser/lexer.rl"
11304
+ # line 2082 "lib/parser/lexer.rl"
11249
11305
  begin
11250
11306
  @te = p+1
11251
11307
  begin cmd_state = true; p = p - 1; begin
@@ -11256,7 +11312,7 @@ p = p - 1; begin
11256
11312
  end
11257
11313
  end
11258
11314
  when 374 then
11259
- # line 566 "lib/parser/lexer.rl"
11315
+ # line 575 "lib/parser/lexer.rl"
11260
11316
  begin
11261
11317
  @te = p+1
11262
11318
  begin
@@ -11276,12 +11332,12 @@ p = p - 1; begin
11276
11332
  end
11277
11333
  end
11278
11334
  when 375 then
11279
- # line 2055 "lib/parser/lexer.rl"
11335
+ # line 2072 "lib/parser/lexer.rl"
11280
11336
  begin
11281
11337
  @te = p
11282
11338
  p = p - 1; end
11283
11339
  when 380 then
11284
- # line 2058 "lib/parser/lexer.rl"
11340
+ # line 2075 "lib/parser/lexer.rl"
11285
11341
  begin
11286
11342
  @te = p
11287
11343
  p = p - 1; begin @eq_begin_s = @ts
@@ -11293,7 +11349,7 @@ p = p - 1; begin @eq_begin_s = @ts
11293
11349
  end
11294
11350
  end
11295
11351
  when 379 then
11296
- # line 2065 "lib/parser/lexer.rl"
11352
+ # line 2082 "lib/parser/lexer.rl"
11297
11353
  begin
11298
11354
  @te = p
11299
11355
  p = p - 1; begin cmd_state = true; p = p - 1; begin
@@ -11304,7 +11360,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11304
11360
  end
11305
11361
  end
11306
11362
  when 81 then
11307
- # line 2065 "lib/parser/lexer.rl"
11363
+ # line 2082 "lib/parser/lexer.rl"
11308
11364
  begin
11309
11365
  begin p = (( @te))-1; end
11310
11366
  begin cmd_state = true; p = p - 1; begin
@@ -11315,7 +11371,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11315
11371
  end
11316
11372
  end
11317
11373
  when 86 then
11318
- # line 2072 "lib/parser/lexer.rl"
11374
+ # line 2089 "lib/parser/lexer.rl"
11319
11375
  begin
11320
11376
  @te = p+1
11321
11377
  begin
@@ -11332,7 +11388,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11332
11388
  end
11333
11389
  end
11334
11390
  when 52 then
11335
- # line 539 "lib/parser/lexer.rl"
11391
+ # line 548 "lib/parser/lexer.rl"
11336
11392
  begin
11337
11393
 
11338
11394
  # Record position of a newline for precise location reporting on tNL
@@ -11342,11 +11398,11 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11342
11398
  # there are no cases when we need to skip it.
11343
11399
  @newline_s = p
11344
11400
  end
11345
- # line 736 "lib/parser/lexer.rl"
11401
+ # line 745 "lib/parser/lexer.rl"
11346
11402
  begin
11347
11403
  emit_comment_from_range(p, pe) end
11348
11404
  when 154 then
11349
- # line 539 "lib/parser/lexer.rl"
11405
+ # line 548 "lib/parser/lexer.rl"
11350
11406
  begin
11351
11407
 
11352
11408
  # Record position of a newline for precise location reporting on tNL
@@ -11356,7 +11412,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11356
11412
  # there are no cases when we need to skip it.
11357
11413
  @newline_s = p
11358
11414
  end
11359
- # line 1045 "lib/parser/lexer.rl"
11415
+ # line 1056 "lib/parser/lexer.rl"
11360
11416
  begin
11361
11417
  @te = p+1
11362
11418
  begin
@@ -11371,7 +11427,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11371
11427
  end
11372
11428
  end
11373
11429
  when 145 then
11374
- # line 539 "lib/parser/lexer.rl"
11430
+ # line 548 "lib/parser/lexer.rl"
11375
11431
  begin
11376
11432
 
11377
11433
  # Record position of a newline for precise location reporting on tNL
@@ -11381,7 +11437,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11381
11437
  # there are no cases when we need to skip it.
11382
11438
  @newline_s = p
11383
11439
  end
11384
- # line 1101 "lib/parser/lexer.rl"
11440
+ # line 1112 "lib/parser/lexer.rl"
11385
11441
  begin
11386
11442
  @te = p+1
11387
11443
  begin p = tm - 1; begin
@@ -11392,7 +11448,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11392
11448
  end
11393
11449
  end
11394
11450
  when 137 then
11395
- # line 539 "lib/parser/lexer.rl"
11451
+ # line 548 "lib/parser/lexer.rl"
11396
11452
  begin
11397
11453
 
11398
11454
  # Record position of a newline for precise location reporting on tNL
@@ -11402,7 +11458,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11402
11458
  # there are no cases when we need to skip it.
11403
11459
  @newline_s = p
11404
11460
  end
11405
- # line 1112 "lib/parser/lexer.rl"
11461
+ # line 1123 "lib/parser/lexer.rl"
11406
11462
  begin
11407
11463
  @te = p+1
11408
11464
  begin
@@ -11416,7 +11472,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11416
11472
  end
11417
11473
  end
11418
11474
  when 213 then
11419
- # line 539 "lib/parser/lexer.rl"
11475
+ # line 548 "lib/parser/lexer.rl"
11420
11476
  begin
11421
11477
 
11422
11478
  # Record position of a newline for precise location reporting on tNL
@@ -11426,7 +11482,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11426
11482
  # there are no cases when we need to skip it.
11427
11483
  @newline_s = p
11428
11484
  end
11429
- # line 1534 "lib/parser/lexer.rl"
11485
+ # line 1551 "lib/parser/lexer.rl"
11430
11486
  begin
11431
11487
  @te = p+1
11432
11488
  begin
@@ -11471,7 +11527,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11471
11527
  end
11472
11528
  end
11473
11529
  when 201 then
11474
- # line 539 "lib/parser/lexer.rl"
11530
+ # line 548 "lib/parser/lexer.rl"
11475
11531
  begin
11476
11532
 
11477
11533
  # Record position of a newline for precise location reporting on tNL
@@ -11481,7 +11537,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11481
11537
  # there are no cases when we need to skip it.
11482
11538
  @newline_s = p
11483
11539
  end
11484
- # line 1608 "lib/parser/lexer.rl"
11540
+ # line 1625 "lib/parser/lexer.rl"
11485
11541
  begin
11486
11542
  @te = p+1
11487
11543
  begin
@@ -11496,7 +11552,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11496
11552
  end
11497
11553
  end
11498
11554
  when 295 then
11499
- # line 539 "lib/parser/lexer.rl"
11555
+ # line 548 "lib/parser/lexer.rl"
11500
11556
  begin
11501
11557
 
11502
11558
  # Record position of a newline for precise location reporting on tNL
@@ -11506,7 +11562,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11506
11562
  # there are no cases when we need to skip it.
11507
11563
  @newline_s = p
11508
11564
  end
11509
- # line 1941 "lib/parser/lexer.rl"
11565
+ # line 1958 "lib/parser/lexer.rl"
11510
11566
  begin
11511
11567
  @te = p+1
11512
11568
  begin
@@ -11525,7 +11581,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11525
11581
  end
11526
11582
  end
11527
11583
  when 372 then
11528
- # line 539 "lib/parser/lexer.rl"
11584
+ # line 548 "lib/parser/lexer.rl"
11529
11585
  begin
11530
11586
 
11531
11587
  # Record position of a newline for precise location reporting on tNL
@@ -11535,7 +11591,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11535
11591
  # there are no cases when we need to skip it.
11536
11592
  @newline_s = p
11537
11593
  end
11538
- # line 2040 "lib/parser/lexer.rl"
11594
+ # line 2057 "lib/parser/lexer.rl"
11539
11595
  begin
11540
11596
  @te = p+1
11541
11597
  begin
@@ -11549,7 +11605,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11549
11605
  end
11550
11606
  end
11551
11607
  when 369 then
11552
- # line 539 "lib/parser/lexer.rl"
11608
+ # line 548 "lib/parser/lexer.rl"
11553
11609
  begin
11554
11610
 
11555
11611
  # Record position of a newline for precise location reporting on tNL
@@ -11559,12 +11615,12 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11559
11615
  # there are no cases when we need to skip it.
11560
11616
  @newline_s = p
11561
11617
  end
11562
- # line 2045 "lib/parser/lexer.rl"
11618
+ # line 2062 "lib/parser/lexer.rl"
11563
11619
  begin
11564
11620
  @te = p+1
11565
11621
  end
11566
11622
  when 382 then
11567
- # line 539 "lib/parser/lexer.rl"
11623
+ # line 548 "lib/parser/lexer.rl"
11568
11624
  begin
11569
11625
 
11570
11626
  # Record position of a newline for precise location reporting on tNL
@@ -11574,7 +11630,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11574
11630
  # there are no cases when we need to skip it.
11575
11631
  @newline_s = p
11576
11632
  end
11577
- # line 2058 "lib/parser/lexer.rl"
11633
+ # line 2075 "lib/parser/lexer.rl"
11578
11634
  begin
11579
11635
  @te = p+1
11580
11636
  begin @eq_begin_s = @ts
@@ -11586,7 +11642,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11586
11642
  end
11587
11643
  end
11588
11644
  when 83 then
11589
- # line 539 "lib/parser/lexer.rl"
11645
+ # line 548 "lib/parser/lexer.rl"
11590
11646
  begin
11591
11647
 
11592
11648
  # Record position of a newline for precise location reporting on tNL
@@ -11596,16 +11652,16 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
11596
11652
  # there are no cases when we need to skip it.
11597
11653
  @newline_s = p
11598
11654
  end
11599
- # line 2062 "lib/parser/lexer.rl"
11655
+ # line 2079 "lib/parser/lexer.rl"
11600
11656
  begin
11601
11657
  @te = p+1
11602
11658
  begin p = pe - 3 end
11603
11659
  end
11604
11660
  when 317 then
11605
- # line 674 "lib/parser/lexer.rl"
11661
+ # line 683 "lib/parser/lexer.rl"
11606
11662
  begin
11607
11663
  @num_xfrm = @emit_rational end
11608
- # line 1780 "lib/parser/lexer.rl"
11664
+ # line 1797 "lib/parser/lexer.rl"
11609
11665
  begin
11610
11666
  @te = p
11611
11667
  p = p - 1; begin
@@ -11626,10 +11682,10 @@ p = p - 1; begin
11626
11682
  end
11627
11683
  end
11628
11684
  when 315 then
11629
- # line 675 "lib/parser/lexer.rl"
11685
+ # line 684 "lib/parser/lexer.rl"
11630
11686
  begin
11631
11687
  @num_xfrm = @emit_imaginary end
11632
- # line 1780 "lib/parser/lexer.rl"
11688
+ # line 1797 "lib/parser/lexer.rl"
11633
11689
  begin
11634
11690
  @te = p
11635
11691
  p = p - 1; begin
@@ -11650,10 +11706,10 @@ p = p - 1; begin
11650
11706
  end
11651
11707
  end
11652
11708
  when 320 then
11653
- # line 676 "lib/parser/lexer.rl"
11709
+ # line 685 "lib/parser/lexer.rl"
11654
11710
  begin
11655
11711
  @num_xfrm = @emit_imaginary_rational end
11656
- # line 1780 "lib/parser/lexer.rl"
11712
+ # line 1797 "lib/parser/lexer.rl"
11657
11713
  begin
11658
11714
  @te = p
11659
11715
  p = p - 1; begin
@@ -11674,10 +11730,10 @@ p = p - 1; begin
11674
11730
  end
11675
11731
  end
11676
11732
  when 318 then
11677
- # line 677 "lib/parser/lexer.rl"
11733
+ # line 686 "lib/parser/lexer.rl"
11678
11734
  begin
11679
11735
  @num_xfrm = @emit_integer_re end
11680
- # line 1780 "lib/parser/lexer.rl"
11736
+ # line 1797 "lib/parser/lexer.rl"
11681
11737
  begin
11682
11738
  @te = p
11683
11739
  p = p - 1; begin
@@ -11698,10 +11754,10 @@ p = p - 1; begin
11698
11754
  end
11699
11755
  end
11700
11756
  when 316 then
11701
- # line 678 "lib/parser/lexer.rl"
11757
+ # line 687 "lib/parser/lexer.rl"
11702
11758
  begin
11703
11759
  @num_xfrm = @emit_integer_if end
11704
- # line 1780 "lib/parser/lexer.rl"
11760
+ # line 1797 "lib/parser/lexer.rl"
11705
11761
  begin
11706
11762
  @te = p
11707
11763
  p = p - 1; begin
@@ -11722,10 +11778,10 @@ p = p - 1; begin
11722
11778
  end
11723
11779
  end
11724
11780
  when 319 then
11725
- # line 679 "lib/parser/lexer.rl"
11781
+ # line 688 "lib/parser/lexer.rl"
11726
11782
  begin
11727
11783
  @num_xfrm = @emit_integer_rescue end
11728
- # line 1780 "lib/parser/lexer.rl"
11784
+ # line 1797 "lib/parser/lexer.rl"
11729
11785
  begin
11730
11786
  @te = p
11731
11787
  p = p - 1; begin
@@ -11746,10 +11802,10 @@ p = p - 1; begin
11746
11802
  end
11747
11803
  end
11748
11804
  when 308 then
11749
- # line 683 "lib/parser/lexer.rl"
11805
+ # line 692 "lib/parser/lexer.rl"
11750
11806
  begin
11751
11807
  @num_xfrm = @emit_imaginary_float end
11752
- # line 1825 "lib/parser/lexer.rl"
11808
+ # line 1842 "lib/parser/lexer.rl"
11753
11809
  begin
11754
11810
  @te = p
11755
11811
  p = p - 1; begin
@@ -11770,10 +11826,10 @@ p = p - 1; begin
11770
11826
  end
11771
11827
  end
11772
11828
  when 309 then
11773
- # line 684 "lib/parser/lexer.rl"
11829
+ # line 693 "lib/parser/lexer.rl"
11774
11830
  begin
11775
11831
  @num_xfrm = @emit_float_if end
11776
- # line 1825 "lib/parser/lexer.rl"
11832
+ # line 1842 "lib/parser/lexer.rl"
11777
11833
  begin
11778
11834
  @te = p
11779
11835
  p = p - 1; begin
@@ -11794,10 +11850,10 @@ p = p - 1; begin
11794
11850
  end
11795
11851
  end
11796
11852
  when 310 then
11797
- # line 688 "lib/parser/lexer.rl"
11853
+ # line 697 "lib/parser/lexer.rl"
11798
11854
  begin
11799
11855
  @num_xfrm = @emit_rational end
11800
- # line 1825 "lib/parser/lexer.rl"
11856
+ # line 1842 "lib/parser/lexer.rl"
11801
11857
  begin
11802
11858
  @te = p
11803
11859
  p = p - 1; begin
@@ -11818,10 +11874,10 @@ p = p - 1; begin
11818
11874
  end
11819
11875
  end
11820
11876
  when 312 then
11821
- # line 689 "lib/parser/lexer.rl"
11877
+ # line 698 "lib/parser/lexer.rl"
11822
11878
  begin
11823
11879
  @num_xfrm = @emit_imaginary_rational end
11824
- # line 1825 "lib/parser/lexer.rl"
11880
+ # line 1842 "lib/parser/lexer.rl"
11825
11881
  begin
11826
11882
  @te = p
11827
11883
  p = p - 1; begin
@@ -11842,10 +11898,10 @@ p = p - 1; begin
11842
11898
  end
11843
11899
  end
11844
11900
  when 311 then
11845
- # line 690 "lib/parser/lexer.rl"
11901
+ # line 699 "lib/parser/lexer.rl"
11846
11902
  begin
11847
11903
  @num_xfrm = @emit_float_rescue end
11848
- # line 1825 "lib/parser/lexer.rl"
11904
+ # line 1842 "lib/parser/lexer.rl"
11849
11905
  begin
11850
11906
  @te = p
11851
11907
  p = p - 1; begin
@@ -11866,12 +11922,12 @@ p = p - 1; begin
11866
11922
  end
11867
11923
  end
11868
11924
  when 147 then
11869
- # line 696 "lib/parser/lexer.rl"
11925
+ # line 705 "lib/parser/lexer.rl"
11870
11926
  begin
11871
11927
 
11872
11928
  e_lbrace
11873
11929
  end
11874
- # line 1026 "lib/parser/lexer.rl"
11930
+ # line 1037 "lib/parser/lexer.rl"
11875
11931
  begin
11876
11932
  @te = p
11877
11933
  p = p - 1; begin
@@ -11892,12 +11948,12 @@ p = p - 1; begin
11892
11948
  end
11893
11949
  end
11894
11950
  when 169 then
11895
- # line 696 "lib/parser/lexer.rl"
11951
+ # line 705 "lib/parser/lexer.rl"
11896
11952
  begin
11897
11953
 
11898
11954
  e_lbrace
11899
11955
  end
11900
- # line 1185 "lib/parser/lexer.rl"
11956
+ # line 1196 "lib/parser/lexer.rl"
11901
11957
  begin
11902
11958
  @te = p
11903
11959
  p = p - 1; begin
@@ -11918,12 +11974,12 @@ p = p - 1; begin
11918
11974
  end
11919
11975
  end
11920
11976
  when 245 then
11921
- # line 696 "lib/parser/lexer.rl"
11977
+ # line 705 "lib/parser/lexer.rl"
11922
11978
  begin
11923
11979
 
11924
11980
  e_lbrace
11925
11981
  end
11926
- # line 1451 "lib/parser/lexer.rl"
11982
+ # line 1468 "lib/parser/lexer.rl"
11927
11983
  begin
11928
11984
  @te = p
11929
11985
  p = p - 1; begin
@@ -11944,12 +12000,12 @@ p = p - 1; begin
11944
12000
  end
11945
12001
  end
11946
12002
  when 360 then
11947
- # line 696 "lib/parser/lexer.rl"
12003
+ # line 705 "lib/parser/lexer.rl"
11948
12004
  begin
11949
12005
 
11950
12006
  e_lbrace
11951
12007
  end
11952
- # line 1689 "lib/parser/lexer.rl"
12008
+ # line 1706 "lib/parser/lexer.rl"
11953
12009
  begin
11954
12010
  @te = p
11955
12011
  p = p - 1; begin
@@ -11982,7 +12038,7 @@ p = p - 1; begin
11982
12038
  end
11983
12039
  end
11984
12040
  when 361 then
11985
- # line 700 "lib/parser/lexer.rl"
12041
+ # line 709 "lib/parser/lexer.rl"
11986
12042
  begin
11987
12043
 
11988
12044
  if @strings.close_interp_on_current_literal(p)
@@ -11998,7 +12054,7 @@ p = p - 1; begin
11998
12054
 
11999
12055
  @paren_nest -= 1
12000
12056
  end
12001
- # line 1912 "lib/parser/lexer.rl"
12057
+ # line 1929 "lib/parser/lexer.rl"
12002
12058
  begin
12003
12059
  @te = p
12004
12060
  p = p - 1; begin
@@ -12023,12 +12079,12 @@ p = p - 1; begin
12023
12079
  end
12024
12080
  end
12025
12081
  when 43 then
12026
- # line 723 "lib/parser/lexer.rl"
12082
+ # line 732 "lib/parser/lexer.rl"
12027
12083
  begin
12028
12084
 
12029
12085
  p = on_newline(p)
12030
12086
  end
12031
- # line 539 "lib/parser/lexer.rl"
12087
+ # line 548 "lib/parser/lexer.rl"
12032
12088
  begin
12033
12089
 
12034
12090
  # Record position of a newline for precise location reporting on tNL
@@ -12039,69 +12095,69 @@ p = p - 1; begin
12039
12095
  @newline_s = p
12040
12096
  end
12041
12097
  when 16 then
12042
- # line 723 "lib/parser/lexer.rl"
12098
+ # line 732 "lib/parser/lexer.rl"
12043
12099
  begin
12044
12100
 
12045
12101
  p = on_newline(p)
12046
12102
  end
12047
- # line 1059 "lib/parser/lexer.rl"
12103
+ # line 1070 "lib/parser/lexer.rl"
12048
12104
  begin
12049
12105
  tm = p end
12050
12106
  when 18 then
12051
- # line 723 "lib/parser/lexer.rl"
12107
+ # line 732 "lib/parser/lexer.rl"
12052
12108
  begin
12053
12109
 
12054
12110
  p = on_newline(p)
12055
12111
  end
12056
- # line 1072 "lib/parser/lexer.rl"
12112
+ # line 1083 "lib/parser/lexer.rl"
12057
12113
  begin
12058
12114
  tm = p end
12059
12115
  when 20 then
12060
- # line 723 "lib/parser/lexer.rl"
12116
+ # line 732 "lib/parser/lexer.rl"
12061
12117
  begin
12062
12118
 
12063
12119
  p = on_newline(p)
12064
12120
  end
12065
- # line 1100 "lib/parser/lexer.rl"
12121
+ # line 1111 "lib/parser/lexer.rl"
12066
12122
  begin
12067
12123
  tm = p end
12068
12124
  when 98 then
12069
- # line 723 "lib/parser/lexer.rl"
12125
+ # line 732 "lib/parser/lexer.rl"
12070
12126
  begin
12071
12127
 
12072
12128
  p = on_newline(p)
12073
12129
  end
12074
- # line 920 "lib/parser/lexer.rl"
12130
+ # line 931 "lib/parser/lexer.rl"
12075
12131
  begin
12076
12132
  @te = p
12077
12133
  p = p - 1; end
12078
12134
  when 117 then
12079
- # line 723 "lib/parser/lexer.rl"
12135
+ # line 732 "lib/parser/lexer.rl"
12080
12136
  begin
12081
12137
 
12082
12138
  p = on_newline(p)
12083
12139
  end
12084
- # line 950 "lib/parser/lexer.rl"
12140
+ # line 961 "lib/parser/lexer.rl"
12085
12141
  begin
12086
12142
  @te = p
12087
12143
  p = p - 1; end
12088
12144
  when 125 then
12089
- # line 723 "lib/parser/lexer.rl"
12145
+ # line 732 "lib/parser/lexer.rl"
12090
12146
  begin
12091
12147
 
12092
12148
  p = on_newline(p)
12093
12149
  end
12094
- # line 982 "lib/parser/lexer.rl"
12150
+ # line 993 "lib/parser/lexer.rl"
12095
12151
  begin
12096
12152
  @te = p
12097
12153
  p = p - 1; end
12098
12154
  when 19 then
12099
- # line 723 "lib/parser/lexer.rl"
12155
+ # line 732 "lib/parser/lexer.rl"
12100
12156
  begin
12101
12157
 
12102
12158
  p = on_newline(p)
12103
12159
  end
12104
- # line 1112 "lib/parser/lexer.rl"
12160
+ # line 1123 "lib/parser/lexer.rl"
12105
12161
  begin
12106
12162
  @te = p+1
12107
12163
  begin
@@ -12115,22 +12171,22 @@ p = p - 1; end
12115
12171
  end
12116
12172
  end
12117
12173
  when 156 then
12118
- # line 723 "lib/parser/lexer.rl"
12174
+ # line 732 "lib/parser/lexer.rl"
12119
12175
  begin
12120
12176
 
12121
12177
  p = on_newline(p)
12122
12178
  end
12123
- # line 1117 "lib/parser/lexer.rl"
12179
+ # line 1128 "lib/parser/lexer.rl"
12124
12180
  begin
12125
12181
  @te = p
12126
12182
  p = p - 1; end
12127
12183
  when 148 then
12128
- # line 723 "lib/parser/lexer.rl"
12184
+ # line 732 "lib/parser/lexer.rl"
12129
12185
  begin
12130
12186
 
12131
12187
  p = on_newline(p)
12132
12188
  end
12133
- # line 1123 "lib/parser/lexer.rl"
12189
+ # line 1134 "lib/parser/lexer.rl"
12134
12190
  begin
12135
12191
  @te = p
12136
12192
  p = p - 1; begin p = p - 1; begin
@@ -12141,32 +12197,32 @@ p = p - 1; begin p = p - 1; begin
12141
12197
  end
12142
12198
  end
12143
12199
  when 167 then
12144
- # line 723 "lib/parser/lexer.rl"
12200
+ # line 732 "lib/parser/lexer.rl"
12145
12201
  begin
12146
12202
 
12147
12203
  p = on_newline(p)
12148
12204
  end
12149
- # line 1201 "lib/parser/lexer.rl"
12205
+ # line 1212 "lib/parser/lexer.rl"
12150
12206
  begin
12151
12207
  @te = p
12152
12208
  p = p - 1; end
12153
12209
  when 179 then
12154
- # line 723 "lib/parser/lexer.rl"
12210
+ # line 732 "lib/parser/lexer.rl"
12155
12211
  begin
12156
12212
 
12157
12213
  p = on_newline(p)
12158
12214
  end
12159
- # line 1222 "lib/parser/lexer.rl"
12215
+ # line 1233 "lib/parser/lexer.rl"
12160
12216
  begin
12161
12217
  @te = p
12162
12218
  p = p - 1; end
12163
12219
  when 175 then
12164
- # line 723 "lib/parser/lexer.rl"
12220
+ # line 732 "lib/parser/lexer.rl"
12165
12221
  begin
12166
12222
 
12167
12223
  p = on_newline(p)
12168
12224
  end
12169
- # line 1225 "lib/parser/lexer.rl"
12225
+ # line 1236 "lib/parser/lexer.rl"
12170
12226
  begin
12171
12227
  @te = p
12172
12228
  p = p - 1; begin p = p - 1; begin
@@ -12177,12 +12233,12 @@ p = p - 1; begin p = p - 1; begin
12177
12233
  end
12178
12234
  end
12179
12235
  when 44 then
12180
- # line 723 "lib/parser/lexer.rl"
12236
+ # line 732 "lib/parser/lexer.rl"
12181
12237
  begin
12182
12238
 
12183
12239
  p = on_newline(p)
12184
12240
  end
12185
- # line 1243 "lib/parser/lexer.rl"
12241
+ # line 1254 "lib/parser/lexer.rl"
12186
12242
  begin
12187
12243
  @te = p+1
12188
12244
  begin
@@ -12196,12 +12252,12 @@ p = p - 1; begin p = p - 1; begin
12196
12252
  end
12197
12253
  end
12198
12254
  when 35 then
12199
- # line 723 "lib/parser/lexer.rl"
12255
+ # line 732 "lib/parser/lexer.rl"
12200
12256
  begin
12201
12257
 
12202
12258
  p = on_newline(p)
12203
12259
  end
12204
- # line 1589 "lib/parser/lexer.rl"
12260
+ # line 1606 "lib/parser/lexer.rl"
12205
12261
  begin
12206
12262
  @te = p+1
12207
12263
  begin
@@ -12222,32 +12278,32 @@ p = p - 1; begin p = p - 1; begin
12222
12278
  end
12223
12279
  end
12224
12280
  when 198 then
12225
- # line 723 "lib/parser/lexer.rl"
12281
+ # line 732 "lib/parser/lexer.rl"
12226
12282
  begin
12227
12283
 
12228
12284
  p = on_newline(p)
12229
12285
  end
12230
- # line 1605 "lib/parser/lexer.rl"
12286
+ # line 1622 "lib/parser/lexer.rl"
12231
12287
  begin
12232
12288
  @te = p
12233
12289
  p = p - 1; end
12234
12290
  when 254 then
12235
- # line 723 "lib/parser/lexer.rl"
12291
+ # line 732 "lib/parser/lexer.rl"
12236
12292
  begin
12237
12293
 
12238
12294
  p = on_newline(p)
12239
12295
  end
12240
- # line 1632 "lib/parser/lexer.rl"
12296
+ # line 1649 "lib/parser/lexer.rl"
12241
12297
  begin
12242
12298
  @te = p
12243
12299
  p = p - 1; end
12244
12300
  when 250 then
12245
- # line 723 "lib/parser/lexer.rl"
12301
+ # line 732 "lib/parser/lexer.rl"
12246
12302
  begin
12247
12303
 
12248
12304
  p = on_newline(p)
12249
12305
  end
12250
- # line 1635 "lib/parser/lexer.rl"
12306
+ # line 1652 "lib/parser/lexer.rl"
12251
12307
  begin
12252
12308
  @te = p
12253
12309
  p = p - 1; begin
@@ -12269,22 +12325,22 @@ p = p - 1; begin
12269
12325
  end
12270
12326
  end
12271
12327
  when 263 then
12272
- # line 723 "lib/parser/lexer.rl"
12328
+ # line 732 "lib/parser/lexer.rl"
12273
12329
  begin
12274
12330
 
12275
12331
  p = on_newline(p)
12276
12332
  end
12277
- # line 1664 "lib/parser/lexer.rl"
12333
+ # line 1681 "lib/parser/lexer.rl"
12278
12334
  begin
12279
12335
  @te = p
12280
12336
  p = p - 1; end
12281
12337
  when 260 then
12282
- # line 723 "lib/parser/lexer.rl"
12338
+ # line 732 "lib/parser/lexer.rl"
12283
12339
  begin
12284
12340
 
12285
12341
  p = on_newline(p)
12286
12342
  end
12287
- # line 1667 "lib/parser/lexer.rl"
12343
+ # line 1684 "lib/parser/lexer.rl"
12288
12344
  begin
12289
12345
  @te = p
12290
12346
  p = p - 1; begin begin
@@ -12295,22 +12351,22 @@ p = p - 1; begin begin
12295
12351
  end
12296
12352
  end
12297
12353
  when 347 then
12298
- # line 723 "lib/parser/lexer.rl"
12354
+ # line 732 "lib/parser/lexer.rl"
12299
12355
  begin
12300
12356
 
12301
12357
  p = on_newline(p)
12302
12358
  end
12303
- # line 1959 "lib/parser/lexer.rl"
12359
+ # line 1976 "lib/parser/lexer.rl"
12304
12360
  begin
12305
12361
  @te = p
12306
12362
  p = p - 1; end
12307
12363
  when 279 then
12308
- # line 723 "lib/parser/lexer.rl"
12364
+ # line 732 "lib/parser/lexer.rl"
12309
12365
  begin
12310
12366
 
12311
12367
  p = on_newline(p)
12312
12368
  end
12313
- # line 1962 "lib/parser/lexer.rl"
12369
+ # line 1979 "lib/parser/lexer.rl"
12314
12370
  begin
12315
12371
  @te = p
12316
12372
  p = p - 1; begin begin
@@ -12321,27 +12377,27 @@ p = p - 1; begin begin
12321
12377
  end
12322
12378
  end
12323
12379
  when 376 then
12324
- # line 723 "lib/parser/lexer.rl"
12380
+ # line 732 "lib/parser/lexer.rl"
12325
12381
  begin
12326
12382
 
12327
12383
  p = on_newline(p)
12328
12384
  end
12329
- # line 2055 "lib/parser/lexer.rl"
12385
+ # line 2072 "lib/parser/lexer.rl"
12330
12386
  begin
12331
12387
  @te = p
12332
12388
  p = p - 1; end
12333
12389
  when 46 then
12334
- # line 733 "lib/parser/lexer.rl"
12390
+ # line 742 "lib/parser/lexer.rl"
12335
12391
  begin
12336
12392
  @sharp_s = p - 1 end
12337
- # line 736 "lib/parser/lexer.rl"
12393
+ # line 745 "lib/parser/lexer.rl"
12338
12394
  begin
12339
12395
  emit_comment_from_range(p, pe) end
12340
12396
  when 50 then
12341
- # line 736 "lib/parser/lexer.rl"
12397
+ # line 745 "lib/parser/lexer.rl"
12342
12398
  begin
12343
12399
  emit_comment_from_range(p, pe) end
12344
- # line 539 "lib/parser/lexer.rl"
12400
+ # line 548 "lib/parser/lexer.rl"
12345
12401
  begin
12346
12402
 
12347
12403
  # Record position of a newline for precise location reporting on tNL
@@ -12352,34 +12408,34 @@ p = p - 1; end
12352
12408
  @newline_s = p
12353
12409
  end
12354
12410
  when 101 then
12355
- # line 736 "lib/parser/lexer.rl"
12411
+ # line 745 "lib/parser/lexer.rl"
12356
12412
  begin
12357
12413
  emit_comment_from_range(p, pe) end
12358
- # line 920 "lib/parser/lexer.rl"
12414
+ # line 931 "lib/parser/lexer.rl"
12359
12415
  begin
12360
12416
  @te = p
12361
12417
  p = p - 1; end
12362
12418
  when 116 then
12363
- # line 736 "lib/parser/lexer.rl"
12419
+ # line 745 "lib/parser/lexer.rl"
12364
12420
  begin
12365
12421
  emit_comment_from_range(p, pe) end
12366
- # line 950 "lib/parser/lexer.rl"
12422
+ # line 961 "lib/parser/lexer.rl"
12367
12423
  begin
12368
12424
  @te = p
12369
12425
  p = p - 1; end
12370
12426
  when 128 then
12371
- # line 736 "lib/parser/lexer.rl"
12427
+ # line 745 "lib/parser/lexer.rl"
12372
12428
  begin
12373
12429
  emit_comment_from_range(p, pe) end
12374
- # line 982 "lib/parser/lexer.rl"
12430
+ # line 993 "lib/parser/lexer.rl"
12375
12431
  begin
12376
12432
  @te = p
12377
12433
  p = p - 1; end
12378
12434
  when 150 then
12379
- # line 736 "lib/parser/lexer.rl"
12435
+ # line 745 "lib/parser/lexer.rl"
12380
12436
  begin
12381
12437
  emit_comment_from_range(p, pe) end
12382
- # line 1120 "lib/parser/lexer.rl"
12438
+ # line 1131 "lib/parser/lexer.rl"
12383
12439
  begin
12384
12440
  @te = p
12385
12441
  p = p - 1; begin begin
@@ -12390,66 +12446,66 @@ p = p - 1; begin begin
12390
12446
  end
12391
12447
  end
12392
12448
  when 165 then
12393
- # line 736 "lib/parser/lexer.rl"
12449
+ # line 745 "lib/parser/lexer.rl"
12394
12450
  begin
12395
12451
  emit_comment_from_range(p, pe) end
12396
- # line 1201 "lib/parser/lexer.rl"
12452
+ # line 1212 "lib/parser/lexer.rl"
12397
12453
  begin
12398
12454
  @te = p
12399
12455
  p = p - 1; end
12400
12456
  when 177 then
12401
- # line 736 "lib/parser/lexer.rl"
12457
+ # line 745 "lib/parser/lexer.rl"
12402
12458
  begin
12403
12459
  emit_comment_from_range(p, pe) end
12404
- # line 1222 "lib/parser/lexer.rl"
12460
+ # line 1233 "lib/parser/lexer.rl"
12405
12461
  begin
12406
12462
  @te = p
12407
12463
  p = p - 1; end
12408
12464
  when 204 then
12409
- # line 736 "lib/parser/lexer.rl"
12465
+ # line 745 "lib/parser/lexer.rl"
12410
12466
  begin
12411
12467
  emit_comment_from_range(p, pe) end
12412
- # line 1605 "lib/parser/lexer.rl"
12468
+ # line 1622 "lib/parser/lexer.rl"
12413
12469
  begin
12414
12470
  @te = p
12415
12471
  p = p - 1; end
12416
12472
  when 252 then
12417
- # line 736 "lib/parser/lexer.rl"
12473
+ # line 745 "lib/parser/lexer.rl"
12418
12474
  begin
12419
12475
  emit_comment_from_range(p, pe) end
12420
- # line 1632 "lib/parser/lexer.rl"
12476
+ # line 1649 "lib/parser/lexer.rl"
12421
12477
  begin
12422
12478
  @te = p
12423
12479
  p = p - 1; end
12424
12480
  when 262 then
12425
- # line 736 "lib/parser/lexer.rl"
12481
+ # line 745 "lib/parser/lexer.rl"
12426
12482
  begin
12427
12483
  emit_comment_from_range(p, pe) end
12428
- # line 1664 "lib/parser/lexer.rl"
12484
+ # line 1681 "lib/parser/lexer.rl"
12429
12485
  begin
12430
12486
  @te = p
12431
12487
  p = p - 1; end
12432
12488
  when 283 then
12433
- # line 736 "lib/parser/lexer.rl"
12489
+ # line 745 "lib/parser/lexer.rl"
12434
12490
  begin
12435
12491
  emit_comment_from_range(p, pe) end
12436
- # line 1959 "lib/parser/lexer.rl"
12492
+ # line 1976 "lib/parser/lexer.rl"
12437
12493
  begin
12438
12494
  @te = p
12439
12495
  p = p - 1; end
12440
12496
  when 378 then
12441
- # line 736 "lib/parser/lexer.rl"
12497
+ # line 745 "lib/parser/lexer.rl"
12442
12498
  begin
12443
12499
  emit_comment_from_range(p, pe) end
12444
- # line 2055 "lib/parser/lexer.rl"
12500
+ # line 2072 "lib/parser/lexer.rl"
12445
12501
  begin
12446
12502
  @te = p
12447
12503
  p = p - 1; end
12448
12504
  when 122 then
12449
- # line 777 "lib/parser/lexer.rl"
12505
+ # line 786 "lib/parser/lexer.rl"
12450
12506
  begin
12451
12507
  tm = p end
12452
- # line 972 "lib/parser/lexer.rl"
12508
+ # line 983 "lib/parser/lexer.rl"
12453
12509
  begin
12454
12510
  @te = p
12455
12511
  p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
@@ -12461,10 +12517,10 @@ p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
12461
12517
  end
12462
12518
  end
12463
12519
  when 218 then
12464
- # line 777 "lib/parser/lexer.rl"
12520
+ # line 786 "lib/parser/lexer.rl"
12465
12521
  begin
12466
12522
  tm = p end
12467
- # line 1379 "lib/parser/lexer.rl"
12523
+ # line 1390 "lib/parser/lexer.rl"
12468
12524
  begin
12469
12525
  @te = p
12470
12526
  p = p - 1; begin
@@ -12479,10 +12535,10 @@ p = p - 1; begin
12479
12535
  end
12480
12536
  end
12481
12537
  when 189 then
12482
- # line 777 "lib/parser/lexer.rl"
12538
+ # line 786 "lib/parser/lexer.rl"
12483
12539
  begin
12484
12540
  tm = p end
12485
- # line 1578 "lib/parser/lexer.rl"
12541
+ # line 1595 "lib/parser/lexer.rl"
12486
12542
  begin
12487
12543
  @te = p
12488
12544
  p = p - 1; begin p = @ts - 1
@@ -12494,7 +12550,7 @@ p = p - 1; begin p = @ts - 1
12494
12550
  end
12495
12551
  end
12496
12552
  when 276 then
12497
- # line 777 "lib/parser/lexer.rl"
12553
+ # line 786 "lib/parser/lexer.rl"
12498
12554
  begin
12499
12555
  tm = p end
12500
12556
  # line 1 "NONE"
@@ -12716,6 +12772,13 @@ p = p - 1; begin p = @ts - 1
12716
12772
  next
12717
12773
  end
12718
12774
 
12775
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
12776
+ @cs = 247; begin
12777
+ p += 1
12778
+ _goto_level = _out
12779
+ next
12780
+ end
12781
+
12719
12782
  else
12720
12783
  @cs = (arg_or_cmdarg(cmd_state)); begin
12721
12784
  p += 1
@@ -12766,10 +12829,10 @@ p = p - 1; begin p = @ts - 1
12766
12829
  end
12767
12830
  end
12768
12831
  when 123 then
12769
- # line 778 "lib/parser/lexer.rl"
12832
+ # line 787 "lib/parser/lexer.rl"
12770
12833
  begin
12771
12834
  tm = p - 2 end
12772
- # line 972 "lib/parser/lexer.rl"
12835
+ # line 983 "lib/parser/lexer.rl"
12773
12836
  begin
12774
12837
  @te = p
12775
12838
  p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
@@ -12781,10 +12844,10 @@ p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
12781
12844
  end
12782
12845
  end
12783
12846
  when 219 then
12784
- # line 778 "lib/parser/lexer.rl"
12847
+ # line 787 "lib/parser/lexer.rl"
12785
12848
  begin
12786
12849
  tm = p - 2 end
12787
- # line 1379 "lib/parser/lexer.rl"
12850
+ # line 1390 "lib/parser/lexer.rl"
12788
12851
  begin
12789
12852
  @te = p
12790
12853
  p = p - 1; begin
@@ -12799,10 +12862,10 @@ p = p - 1; begin
12799
12862
  end
12800
12863
  end
12801
12864
  when 191 then
12802
- # line 778 "lib/parser/lexer.rl"
12865
+ # line 787 "lib/parser/lexer.rl"
12803
12866
  begin
12804
12867
  tm = p - 2 end
12805
- # line 1578 "lib/parser/lexer.rl"
12868
+ # line 1595 "lib/parser/lexer.rl"
12806
12869
  begin
12807
12870
  @te = p
12808
12871
  p = p - 1; begin p = @ts - 1
@@ -12814,10 +12877,10 @@ p = p - 1; begin p = @ts - 1
12814
12877
  end
12815
12878
  end
12816
12879
  when 277 then
12817
- # line 778 "lib/parser/lexer.rl"
12880
+ # line 787 "lib/parser/lexer.rl"
12818
12881
  begin
12819
12882
  tm = p - 2 end
12820
- # line 1876 "lib/parser/lexer.rl"
12883
+ # line 1893 "lib/parser/lexer.rl"
12821
12884
  begin
12822
12885
  @te = p
12823
12886
  p = p - 1; begin
@@ -12838,10 +12901,10 @@ p = p - 1; begin
12838
12901
  end
12839
12902
  end
12840
12903
  when 220 then
12841
- # line 783 "lib/parser/lexer.rl"
12904
+ # line 792 "lib/parser/lexer.rl"
12842
12905
  begin
12843
12906
  tm = p end
12844
- # line 1379 "lib/parser/lexer.rl"
12907
+ # line 1390 "lib/parser/lexer.rl"
12845
12908
  begin
12846
12909
  @te = p
12847
12910
  p = p - 1; begin
@@ -12856,10 +12919,10 @@ p = p - 1; begin
12856
12919
  end
12857
12920
  end
12858
12921
  when 192 then
12859
- # line 783 "lib/parser/lexer.rl"
12922
+ # line 792 "lib/parser/lexer.rl"
12860
12923
  begin
12861
12924
  tm = p end
12862
- # line 1578 "lib/parser/lexer.rl"
12925
+ # line 1595 "lib/parser/lexer.rl"
12863
12926
  begin
12864
12927
  @te = p
12865
12928
  p = p - 1; begin p = @ts - 1
@@ -12871,10 +12934,10 @@ p = p - 1; begin p = @ts - 1
12871
12934
  end
12872
12935
  end
12873
12936
  when 221 then
12874
- # line 784 "lib/parser/lexer.rl"
12937
+ # line 793 "lib/parser/lexer.rl"
12875
12938
  begin
12876
12939
  tm = p - 2 end
12877
- # line 1379 "lib/parser/lexer.rl"
12940
+ # line 1390 "lib/parser/lexer.rl"
12878
12941
  begin
12879
12942
  @te = p
12880
12943
  p = p - 1; begin
@@ -12889,10 +12952,10 @@ p = p - 1; begin
12889
12952
  end
12890
12953
  end
12891
12954
  when 193 then
12892
- # line 784 "lib/parser/lexer.rl"
12955
+ # line 793 "lib/parser/lexer.rl"
12893
12956
  begin
12894
12957
  tm = p - 2 end
12895
- # line 1578 "lib/parser/lexer.rl"
12958
+ # line 1595 "lib/parser/lexer.rl"
12896
12959
  begin
12897
12960
  @te = p
12898
12961
  p = p - 1; begin p = @ts - 1
@@ -12904,10 +12967,10 @@ p = p - 1; begin p = @ts - 1
12904
12967
  end
12905
12968
  end
12906
12969
  when 225 then
12907
- # line 785 "lib/parser/lexer.rl"
12970
+ # line 794 "lib/parser/lexer.rl"
12908
12971
  begin
12909
12972
  tm = p - 2 end
12910
- # line 1379 "lib/parser/lexer.rl"
12973
+ # line 1390 "lib/parser/lexer.rl"
12911
12974
  begin
12912
12975
  @te = p
12913
12976
  p = p - 1; begin
@@ -12922,10 +12985,10 @@ p = p - 1; begin
12922
12985
  end
12923
12986
  end
12924
12987
  when 196 then
12925
- # line 785 "lib/parser/lexer.rl"
12988
+ # line 794 "lib/parser/lexer.rl"
12926
12989
  begin
12927
12990
  tm = p - 2 end
12928
- # line 1578 "lib/parser/lexer.rl"
12991
+ # line 1595 "lib/parser/lexer.rl"
12929
12992
  begin
12930
12993
  @te = p
12931
12994
  p = p - 1; begin p = @ts - 1
@@ -12937,10 +13000,10 @@ p = p - 1; begin p = @ts - 1
12937
13000
  end
12938
13001
  end
12939
13002
  when 224 then
12940
- # line 786 "lib/parser/lexer.rl"
13003
+ # line 795 "lib/parser/lexer.rl"
12941
13004
  begin
12942
13005
  tm = p - 2 end
12943
- # line 1379 "lib/parser/lexer.rl"
13006
+ # line 1390 "lib/parser/lexer.rl"
12944
13007
  begin
12945
13008
  @te = p
12946
13009
  p = p - 1; begin
@@ -12955,7 +13018,7 @@ p = p - 1; begin
12955
13018
  end
12956
13019
  end
12957
13020
  when 195 then
12958
- # line 786 "lib/parser/lexer.rl"
13021
+ # line 795 "lib/parser/lexer.rl"
12959
13022
  begin
12960
13023
  tm = p - 2 end
12961
13024
  # line 1 "NONE"
@@ -13049,6 +13112,13 @@ p = p - 1; begin
13049
13112
  next
13050
13113
  end
13051
13114
 
13115
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
13116
+ @cs = 247; begin
13117
+ p += 1
13118
+ _goto_level = _out
13119
+ next
13120
+ end
13121
+
13052
13122
  else
13053
13123
  @cs = (arg_or_cmdarg(cmd_state)); begin
13054
13124
  p += 1
@@ -13069,10 +13139,10 @@ p = p - 1; begin
13069
13139
  end
13070
13140
  end
13071
13141
  when 222 then
13072
- # line 787 "lib/parser/lexer.rl"
13142
+ # line 796 "lib/parser/lexer.rl"
13073
13143
  begin
13074
13144
  tm = p - 3 end
13075
- # line 1379 "lib/parser/lexer.rl"
13145
+ # line 1390 "lib/parser/lexer.rl"
13076
13146
  begin
13077
13147
  @te = p
13078
13148
  p = p - 1; begin
@@ -13087,10 +13157,10 @@ p = p - 1; begin
13087
13157
  end
13088
13158
  end
13089
13159
  when 194 then
13090
- # line 787 "lib/parser/lexer.rl"
13160
+ # line 796 "lib/parser/lexer.rl"
13091
13161
  begin
13092
13162
  tm = p - 3 end
13093
- # line 1578 "lib/parser/lexer.rl"
13163
+ # line 1595 "lib/parser/lexer.rl"
13094
13164
  begin
13095
13165
  @te = p
13096
13166
  p = p - 1; begin p = @ts - 1
@@ -13102,10 +13172,10 @@ p = p - 1; begin p = @ts - 1
13102
13172
  end
13103
13173
  end
13104
13174
  when 223 then
13105
- # line 792 "lib/parser/lexer.rl"
13175
+ # line 801 "lib/parser/lexer.rl"
13106
13176
  begin
13107
13177
  tm = p - 2 end
13108
- # line 1379 "lib/parser/lexer.rl"
13178
+ # line 1390 "lib/parser/lexer.rl"
13109
13179
  begin
13110
13180
  @te = p
13111
13181
  p = p - 1; begin
@@ -13120,10 +13190,10 @@ p = p - 1; begin
13120
13190
  end
13121
13191
  end
13122
13192
  when 342 then
13123
- # line 797 "lib/parser/lexer.rl"
13193
+ # line 806 "lib/parser/lexer.rl"
13124
13194
  begin
13125
13195
  tm = p - 2 end
13126
- # line 1858 "lib/parser/lexer.rl"
13196
+ # line 1875 "lib/parser/lexer.rl"
13127
13197
  begin
13128
13198
  @te = p
13129
13199
  p = p - 1; begin emit(:tCONSTANT, tok(@ts, tm), @ts, tm)
@@ -13135,14 +13205,14 @@ p = p - 1; begin emit(:tCONSTANT, tok(@ts, tm), @ts, tm)
13135
13205
  end
13136
13206
  end
13137
13207
  when 146 then
13138
- # line 803 "lib/parser/lexer.rl"
13208
+ # line 812 "lib/parser/lexer.rl"
13139
13209
  begin
13140
13210
 
13141
13211
  @cond.push(false); @cmdarg.push(false)
13142
13212
 
13143
13213
  @paren_nest += 1
13144
13214
  end
13145
- # line 1020 "lib/parser/lexer.rl"
13215
+ # line 1031 "lib/parser/lexer.rl"
13146
13216
  begin
13147
13217
  @te = p
13148
13218
  p = p - 1; begin emit(:tLBRACK, '['.freeze, @te - 1, @te)
@@ -13154,14 +13224,14 @@ p = p - 1; begin emit(:tLBRACK, '['.freeze, @te - 1, @te)
13154
13224
  end
13155
13225
  end
13156
13226
  when 238 then
13157
- # line 803 "lib/parser/lexer.rl"
13227
+ # line 812 "lib/parser/lexer.rl"
13158
13228
  begin
13159
13229
 
13160
13230
  @cond.push(false); @cmdarg.push(false)
13161
13231
 
13162
13232
  @paren_nest += 1
13163
13233
  end
13164
- # line 1465 "lib/parser/lexer.rl"
13234
+ # line 1482 "lib/parser/lexer.rl"
13165
13235
  begin
13166
13236
  @te = p
13167
13237
  p = p - 1; begin emit(:tLBRACK, '['.freeze)
@@ -13173,14 +13243,14 @@ p = p - 1; begin emit(:tLBRACK, '['.freeze)
13173
13243
  end
13174
13244
  end
13175
13245
  when 345 then
13176
- # line 803 "lib/parser/lexer.rl"
13246
+ # line 812 "lib/parser/lexer.rl"
13177
13247
  begin
13178
13248
 
13179
13249
  @cond.push(false); @cmdarg.push(false)
13180
13250
 
13181
13251
  @paren_nest += 1
13182
13252
  end
13183
- # line 1937 "lib/parser/lexer.rl"
13253
+ # line 1954 "lib/parser/lexer.rl"
13184
13254
  begin
13185
13255
  @te = p
13186
13256
  p = p - 1; begin emit(:tLBRACK2, '['.freeze)
@@ -13192,12 +13262,12 @@ p = p - 1; begin emit(:tLBRACK2, '['.freeze)
13192
13262
  end
13193
13263
  end
13194
13264
  when 348 then
13195
- # line 809 "lib/parser/lexer.rl"
13265
+ # line 818 "lib/parser/lexer.rl"
13196
13266
  begin
13197
13267
 
13198
13268
  @paren_nest -= 1
13199
13269
  end
13200
- # line 1912 "lib/parser/lexer.rl"
13270
+ # line 1929 "lib/parser/lexer.rl"
13201
13271
  begin
13202
13272
  @te = p
13203
13273
  p = p - 1; begin
@@ -13222,7 +13292,7 @@ p = p - 1; begin
13222
13292
  end
13223
13293
  end
13224
13294
  when 138 then
13225
- # line 816 "lib/parser/lexer.rl"
13295
+ # line 825 "lib/parser/lexer.rl"
13226
13296
  begin
13227
13297
 
13228
13298
  @cond.push(false); @cmdarg.push(false)
@@ -13233,7 +13303,7 @@ p = p - 1; begin
13233
13303
  @command_start = true
13234
13304
  end
13235
13305
  end
13236
- # line 1001 "lib/parser/lexer.rl"
13306
+ # line 1012 "lib/parser/lexer.rl"
13237
13307
  begin
13238
13308
  @te = p
13239
13309
  p = p - 1; begin
@@ -13257,7 +13327,7 @@ p = p - 1; begin
13257
13327
  end
13258
13328
  end
13259
13329
  when 151 then
13260
- # line 816 "lib/parser/lexer.rl"
13330
+ # line 825 "lib/parser/lexer.rl"
13261
13331
  begin
13262
13332
 
13263
13333
  @cond.push(false); @cmdarg.push(false)
@@ -13268,7 +13338,7 @@ p = p - 1; begin
13268
13338
  @command_start = true
13269
13339
  end
13270
13340
  end
13271
- # line 1014 "lib/parser/lexer.rl"
13341
+ # line 1025 "lib/parser/lexer.rl"
13272
13342
  begin
13273
13343
  @te = p
13274
13344
  p = p - 1; begin emit(:tLPAREN2, '('.freeze)
@@ -13280,7 +13350,7 @@ p = p - 1; begin emit(:tLPAREN2, '('.freeze)
13280
13350
  end
13281
13351
  end
13282
13352
  when 159 then
13283
- # line 816 "lib/parser/lexer.rl"
13353
+ # line 825 "lib/parser/lexer.rl"
13284
13354
  begin
13285
13355
 
13286
13356
  @cond.push(false); @cmdarg.push(false)
@@ -13291,7 +13361,7 @@ p = p - 1; begin emit(:tLPAREN2, '('.freeze)
13291
13361
  @command_start = true
13292
13362
  end
13293
13363
  end
13294
- # line 1139 "lib/parser/lexer.rl"
13364
+ # line 1150 "lib/parser/lexer.rl"
13295
13365
  begin
13296
13366
  @te = p
13297
13367
  p = p - 1; begin
@@ -13314,7 +13384,7 @@ p = p - 1; begin
13314
13384
  end
13315
13385
  end
13316
13386
  when 208 then
13317
- # line 816 "lib/parser/lexer.rl"
13387
+ # line 825 "lib/parser/lexer.rl"
13318
13388
  begin
13319
13389
 
13320
13390
  @cond.push(false); @cmdarg.push(false)
@@ -13325,7 +13395,7 @@ p = p - 1; begin
13325
13395
  @command_start = true
13326
13396
  end
13327
13397
  end
13328
- # line 1470 "lib/parser/lexer.rl"
13398
+ # line 1487 "lib/parser/lexer.rl"
13329
13399
  begin
13330
13400
  @te = p
13331
13401
  p = p - 1; begin emit(:tLPAREN, '('.freeze)
@@ -13337,7 +13407,7 @@ p = p - 1; begin emit(:tLPAREN, '('.freeze)
13337
13407
  end
13338
13408
  end
13339
13409
  when 289 then
13340
- # line 816 "lib/parser/lexer.rl"
13410
+ # line 825 "lib/parser/lexer.rl"
13341
13411
  begin
13342
13412
 
13343
13413
  @cond.push(false); @cmdarg.push(false)
@@ -13348,7 +13418,7 @@ p = p - 1; begin emit(:tLPAREN, '('.freeze)
13348
13418
  @command_start = true
13349
13419
  end
13350
13420
  end
13351
- # line 1908 "lib/parser/lexer.rl"
13421
+ # line 1925 "lib/parser/lexer.rl"
13352
13422
  begin
13353
13423
  @te = p
13354
13424
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -13360,12 +13430,12 @@ p = p - 1; begin emit_table(PUNCTUATION)
13360
13430
  end
13361
13431
  end
13362
13432
  when 290 then
13363
- # line 826 "lib/parser/lexer.rl"
13433
+ # line 835 "lib/parser/lexer.rl"
13364
13434
  begin
13365
13435
 
13366
13436
  @paren_nest -= 1
13367
13437
  end
13368
- # line 1912 "lib/parser/lexer.rl"
13438
+ # line 1929 "lib/parser/lexer.rl"
13369
13439
  begin
13370
13440
  @te = p
13371
13441
  p = p - 1; begin
@@ -13390,10 +13460,10 @@ p = p - 1; begin
13390
13460
  end
13391
13461
  end
13392
13462
  when 57 then
13393
- # line 1297 "lib/parser/lexer.rl"
13463
+ # line 1308 "lib/parser/lexer.rl"
13394
13464
  begin
13395
13465
  heredoc_e = p end
13396
- # line 539 "lib/parser/lexer.rl"
13466
+ # line 548 "lib/parser/lexer.rl"
13397
13467
  begin
13398
13468
 
13399
13469
  # Record position of a newline for precise location reporting on tNL
@@ -13404,10 +13474,10 @@ p = p - 1; begin
13404
13474
  @newline_s = p
13405
13475
  end
13406
13476
  when 233 then
13407
- # line 1298 "lib/parser/lexer.rl"
13477
+ # line 1309 "lib/parser/lexer.rl"
13408
13478
  begin
13409
13479
  new_herebody_s = p end
13410
- # line 1299 "lib/parser/lexer.rl"
13480
+ # line 1310 "lib/parser/lexer.rl"
13411
13481
  begin
13412
13482
  @te = p
13413
13483
  p = p - 1; begin
@@ -13452,10 +13522,10 @@ p = p - 1; begin
13452
13522
  end
13453
13523
  end
13454
13524
  when 228 then
13455
- # line 1392 "lib/parser/lexer.rl"
13525
+ # line 1409 "lib/parser/lexer.rl"
13456
13526
  begin
13457
13527
  tm = p - 1; diag_msg = :ivar_name end
13458
- # line 1395 "lib/parser/lexer.rl"
13528
+ # line 1412 "lib/parser/lexer.rl"
13459
13529
  begin
13460
13530
  @te = p
13461
13531
  p = p - 1; begin
@@ -13470,10 +13540,10 @@ p = p - 1; begin
13470
13540
  end
13471
13541
  end
13472
13542
  when 231 then
13473
- # line 1393 "lib/parser/lexer.rl"
13543
+ # line 1410 "lib/parser/lexer.rl"
13474
13544
  begin
13475
13545
  tm = p - 2; diag_msg = :cvar_name end
13476
- # line 1395 "lib/parser/lexer.rl"
13546
+ # line 1412 "lib/parser/lexer.rl"
13477
13547
  begin
13478
13548
  @te = p
13479
13549
  p = p - 1; begin
@@ -13488,10 +13558,10 @@ p = p - 1; begin
13488
13558
  end
13489
13559
  end
13490
13560
  when 241 then
13491
- # line 1480 "lib/parser/lexer.rl"
13561
+ # line 1497 "lib/parser/lexer.rl"
13492
13562
  begin
13493
13563
  tm = p end
13494
- # line 1481 "lib/parser/lexer.rl"
13564
+ # line 1498 "lib/parser/lexer.rl"
13495
13565
  begin
13496
13566
  @te = p
13497
13567
  p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
@@ -13504,52 +13574,52 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13504
13574
  end
13505
13575
  end
13506
13576
  when 332 then
13507
- # line 1773 "lib/parser/lexer.rl"
13577
+ # line 1790 "lib/parser/lexer.rl"
13508
13578
  begin
13509
13579
  @num_base = 16; @num_digits_s = p end
13510
- # line 1779 "lib/parser/lexer.rl"
13580
+ # line 1796 "lib/parser/lexer.rl"
13511
13581
  begin
13512
13582
  @num_suffix_s = p end
13513
13583
  when 326 then
13514
- # line 1774 "lib/parser/lexer.rl"
13584
+ # line 1791 "lib/parser/lexer.rl"
13515
13585
  begin
13516
13586
  @num_base = 10; @num_digits_s = p end
13517
- # line 1779 "lib/parser/lexer.rl"
13587
+ # line 1796 "lib/parser/lexer.rl"
13518
13588
  begin
13519
13589
  @num_suffix_s = p end
13520
13590
  when 329 then
13521
- # line 1775 "lib/parser/lexer.rl"
13591
+ # line 1792 "lib/parser/lexer.rl"
13522
13592
  begin
13523
13593
  @num_base = 8; @num_digits_s = p end
13524
- # line 1779 "lib/parser/lexer.rl"
13594
+ # line 1796 "lib/parser/lexer.rl"
13525
13595
  begin
13526
13596
  @num_suffix_s = p end
13527
13597
  when 323 then
13528
- # line 1776 "lib/parser/lexer.rl"
13598
+ # line 1793 "lib/parser/lexer.rl"
13529
13599
  begin
13530
13600
  @num_base = 2; @num_digits_s = p end
13531
- # line 1779 "lib/parser/lexer.rl"
13601
+ # line 1796 "lib/parser/lexer.rl"
13532
13602
  begin
13533
13603
  @num_suffix_s = p end
13534
13604
  when 338 then
13535
- # line 1777 "lib/parser/lexer.rl"
13605
+ # line 1794 "lib/parser/lexer.rl"
13536
13606
  begin
13537
13607
  @num_base = 10; @num_digits_s = @ts end
13538
- # line 1779 "lib/parser/lexer.rl"
13608
+ # line 1796 "lib/parser/lexer.rl"
13539
13609
  begin
13540
13610
  @num_suffix_s = p end
13541
13611
  when 301 then
13542
- # line 1778 "lib/parser/lexer.rl"
13612
+ # line 1795 "lib/parser/lexer.rl"
13543
13613
  begin
13544
13614
  @num_base = 8; @num_digits_s = @ts end
13545
- # line 1779 "lib/parser/lexer.rl"
13615
+ # line 1796 "lib/parser/lexer.rl"
13546
13616
  begin
13547
13617
  @num_suffix_s = p end
13548
13618
  when 339 then
13549
- # line 1779 "lib/parser/lexer.rl"
13619
+ # line 1796 "lib/parser/lexer.rl"
13550
13620
  begin
13551
13621
  @num_suffix_s = p end
13552
- # line 673 "lib/parser/lexer.rl"
13622
+ # line 682 "lib/parser/lexer.rl"
13553
13623
  begin
13554
13624
  @num_xfrm = @emit_integer end
13555
13625
  when 184 then
@@ -13557,7 +13627,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13557
13627
  begin
13558
13628
  @te = p+1
13559
13629
  end
13560
- # line 539 "lib/parser/lexer.rl"
13630
+ # line 548 "lib/parser/lexer.rl"
13561
13631
  begin
13562
13632
 
13563
13633
  # Record position of a newline for precise location reporting on tNL
@@ -13572,7 +13642,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13572
13642
  begin
13573
13643
  @te = p+1
13574
13644
  end
13575
- # line 1823 "lib/parser/lexer.rl"
13645
+ # line 1840 "lib/parser/lexer.rl"
13576
13646
  begin
13577
13647
  @num_suffix_s = p end
13578
13648
  when 107 then
@@ -13580,7 +13650,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13580
13650
  begin
13581
13651
  @te = p+1
13582
13652
  end
13583
- # line 878 "lib/parser/lexer.rl"
13653
+ # line 889 "lib/parser/lexer.rl"
13584
13654
  begin
13585
13655
  @act = 4; end
13586
13656
  when 94 then
@@ -13588,7 +13658,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13588
13658
  begin
13589
13659
  @te = p+1
13590
13660
  end
13591
- # line 882 "lib/parser/lexer.rl"
13661
+ # line 893 "lib/parser/lexer.rl"
13592
13662
  begin
13593
13663
  @act = 5; end
13594
13664
  when 90 then
@@ -13596,7 +13666,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13596
13666
  begin
13597
13667
  @te = p+1
13598
13668
  end
13599
- # line 886 "lib/parser/lexer.rl"
13669
+ # line 897 "lib/parser/lexer.rl"
13600
13670
  begin
13601
13671
  @act = 6; end
13602
13672
  when 12 then
@@ -13604,7 +13674,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13604
13674
  begin
13605
13675
  @te = p+1
13606
13676
  end
13607
- # line 1063 "lib/parser/lexer.rl"
13677
+ # line 1074 "lib/parser/lexer.rl"
13608
13678
  begin
13609
13679
  @act = 33; end
13610
13680
  when 140 then
@@ -13612,7 +13682,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13612
13682
  begin
13613
13683
  @te = p+1
13614
13684
  end
13615
- # line 1073 "lib/parser/lexer.rl"
13685
+ # line 1084 "lib/parser/lexer.rl"
13616
13686
  begin
13617
13687
  @act = 34; end
13618
13688
  when 13 then
@@ -13620,7 +13690,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13620
13690
  begin
13621
13691
  @te = p+1
13622
13692
  end
13623
- # line 1112 "lib/parser/lexer.rl"
13693
+ # line 1123 "lib/parser/lexer.rl"
13624
13694
  begin
13625
13695
  @act = 39; end
13626
13696
  when 133 then
@@ -13628,7 +13698,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13628
13698
  begin
13629
13699
  @te = p+1
13630
13700
  end
13631
- # line 1117 "lib/parser/lexer.rl"
13701
+ # line 1128 "lib/parser/lexer.rl"
13632
13702
  begin
13633
13703
  @act = 40; end
13634
13704
  when 160 then
@@ -13636,7 +13706,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13636
13706
  begin
13637
13707
  @te = p+1
13638
13708
  end
13639
- # line 1149 "lib/parser/lexer.rl"
13709
+ # line 1160 "lib/parser/lexer.rl"
13640
13710
  begin
13641
13711
  @act = 46; end
13642
13712
  when 31 then
@@ -13644,7 +13714,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13644
13714
  begin
13645
13715
  @te = p+1
13646
13716
  end
13647
- # line 1162 "lib/parser/lexer.rl"
13717
+ # line 1173 "lib/parser/lexer.rl"
13648
13718
  begin
13649
13719
  @act = 47; end
13650
13720
  when 181 then
@@ -13652,7 +13722,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13652
13722
  begin
13653
13723
  @te = p+1
13654
13724
  end
13655
- # line 1216 "lib/parser/lexer.rl"
13725
+ # line 1227 "lib/parser/lexer.rl"
13656
13726
  begin
13657
13727
  @act = 54; end
13658
13728
  when 170 then
@@ -13660,7 +13730,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13660
13730
  begin
13661
13731
  @te = p+1
13662
13732
  end
13663
- # line 1220 "lib/parser/lexer.rl"
13733
+ # line 1231 "lib/parser/lexer.rl"
13664
13734
  begin
13665
13735
  @act = 55; end
13666
13736
  when 55 then
@@ -13668,7 +13738,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13668
13738
  begin
13669
13739
  @te = p+1
13670
13740
  end
13671
- # line 1346 "lib/parser/lexer.rl"
13741
+ # line 1357 "lib/parser/lexer.rl"
13672
13742
  begin
13673
13743
  @act = 67; end
13674
13744
  when 246 then
@@ -13676,7 +13746,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13676
13746
  begin
13677
13747
  @te = p+1
13678
13748
  end
13679
- # line 1434 "lib/parser/lexer.rl"
13749
+ # line 1451 "lib/parser/lexer.rl"
13680
13750
  begin
13681
13751
  @act = 76; end
13682
13752
  when 185 then
@@ -13684,7 +13754,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13684
13754
  begin
13685
13755
  @te = p+1
13686
13756
  end
13687
- # line 1475 "lib/parser/lexer.rl"
13757
+ # line 1492 "lib/parser/lexer.rl"
13688
13758
  begin
13689
13759
  @act = 80; end
13690
13760
  when 240 then
@@ -13692,7 +13762,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13692
13762
  begin
13693
13763
  @te = p+1
13694
13764
  end
13695
- # line 1481 "lib/parser/lexer.rl"
13765
+ # line 1498 "lib/parser/lexer.rl"
13696
13766
  begin
13697
13767
  @act = 81; end
13698
13768
  when 239 then
@@ -13700,7 +13770,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13700
13770
  begin
13701
13771
  @te = p+1
13702
13772
  end
13703
- # line 1487 "lib/parser/lexer.rl"
13773
+ # line 1504 "lib/parser/lexer.rl"
13704
13774
  begin
13705
13775
  @act = 82; end
13706
13776
  when 59 then
@@ -13708,7 +13778,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13708
13778
  begin
13709
13779
  @te = p+1
13710
13780
  end
13711
- # line 1578 "lib/parser/lexer.rl"
13781
+ # line 1595 "lib/parser/lexer.rl"
13712
13782
  begin
13713
13783
  @act = 86; end
13714
13784
  when 182 then
@@ -13716,7 +13786,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13716
13786
  begin
13717
13787
  @te = p+1
13718
13788
  end
13719
- # line 831 "lib/parser/lexer.rl"
13789
+ # line 840 "lib/parser/lexer.rl"
13720
13790
  begin
13721
13791
  @act = 87; end
13722
13792
  when 186 then
@@ -13724,7 +13794,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13724
13794
  begin
13725
13795
  @te = p+1
13726
13796
  end
13727
- # line 1624 "lib/parser/lexer.rl"
13797
+ # line 1641 "lib/parser/lexer.rl"
13728
13798
  begin
13729
13799
  @act = 91; end
13730
13800
  when 356 then
@@ -13732,7 +13802,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13732
13802
  begin
13733
13803
  @te = p+1
13734
13804
  end
13735
- # line 1689 "lib/parser/lexer.rl"
13805
+ # line 1706 "lib/parser/lexer.rl"
13736
13806
  begin
13737
13807
  @act = 104; end
13738
13808
  when 351 then
@@ -13740,7 +13810,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13740
13810
  begin
13741
13811
  @te = p+1
13742
13812
  end
13743
- # line 1718 "lib/parser/lexer.rl"
13813
+ # line 1735 "lib/parser/lexer.rl"
13744
13814
  begin
13745
13815
  @act = 105; end
13746
13816
  when 359 then
@@ -13748,7 +13818,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13748
13818
  begin
13749
13819
  @te = p+1
13750
13820
  end
13751
- # line 1727 "lib/parser/lexer.rl"
13821
+ # line 1744 "lib/parser/lexer.rl"
13752
13822
  begin
13753
13823
  @act = 107; end
13754
13824
  when 352 then
@@ -13756,7 +13826,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13756
13826
  begin
13757
13827
  @te = p+1
13758
13828
  end
13759
- # line 1732 "lib/parser/lexer.rl"
13829
+ # line 1749 "lib/parser/lexer.rl"
13760
13830
  begin
13761
13831
  @act = 108; end
13762
13832
  when 353 then
@@ -13764,7 +13834,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13764
13834
  begin
13765
13835
  @te = p+1
13766
13836
  end
13767
- # line 1737 "lib/parser/lexer.rl"
13837
+ # line 1754 "lib/parser/lexer.rl"
13768
13838
  begin
13769
13839
  @act = 109; end
13770
13840
  when 358 then
@@ -13772,7 +13842,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13772
13842
  begin
13773
13843
  @te = p+1
13774
13844
  end
13775
- # line 1741 "lib/parser/lexer.rl"
13845
+ # line 1758 "lib/parser/lexer.rl"
13776
13846
  begin
13777
13847
  @act = 110; end
13778
13848
  when 350 then
@@ -13780,7 +13850,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13780
13850
  begin
13781
13851
  @te = p+1
13782
13852
  end
13783
- # line 1752 "lib/parser/lexer.rl"
13853
+ # line 1769 "lib/parser/lexer.rl"
13784
13854
  begin
13785
13855
  @act = 111; end
13786
13856
  when 344 then
@@ -13788,7 +13858,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13788
13858
  begin
13789
13859
  @te = p+1
13790
13860
  end
13791
- # line 1766 "lib/parser/lexer.rl"
13861
+ # line 1783 "lib/parser/lexer.rl"
13792
13862
  begin
13793
13863
  @act = 112; end
13794
13864
  when 270 then
@@ -13796,7 +13866,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13796
13866
  begin
13797
13867
  @te = p+1
13798
13868
  end
13799
- # line 1780 "lib/parser/lexer.rl"
13869
+ # line 1797 "lib/parser/lexer.rl"
13800
13870
  begin
13801
13871
  @act = 113; end
13802
13872
  when 303 then
@@ -13804,7 +13874,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13804
13874
  begin
13805
13875
  @te = p+1
13806
13876
  end
13807
- # line 1810 "lib/parser/lexer.rl"
13877
+ # line 1827 "lib/parser/lexer.rl"
13808
13878
  begin
13809
13879
  @act = 116; end
13810
13880
  when 67 then
@@ -13812,7 +13882,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13812
13882
  begin
13813
13883
  @te = p+1
13814
13884
  end
13815
- # line 1825 "lib/parser/lexer.rl"
13885
+ # line 1842 "lib/parser/lexer.rl"
13816
13886
  begin
13817
13887
  @act = 117; end
13818
13888
  when 273 then
@@ -13820,7 +13890,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13820
13890
  begin
13821
13891
  @te = p+1
13822
13892
  end
13823
- # line 1854 "lib/parser/lexer.rl"
13893
+ # line 1871 "lib/parser/lexer.rl"
13824
13894
  begin
13825
13895
  @act = 119; end
13826
13896
  when 264 then
@@ -13828,7 +13898,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13828
13898
  begin
13829
13899
  @te = p+1
13830
13900
  end
13831
- # line 831 "lib/parser/lexer.rl"
13901
+ # line 840 "lib/parser/lexer.rl"
13832
13902
  begin
13833
13903
  @act = 123; end
13834
13904
  when 275 then
@@ -13836,7 +13906,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13836
13906
  begin
13837
13907
  @te = p+1
13838
13908
  end
13839
- # line 1876 "lib/parser/lexer.rl"
13909
+ # line 1893 "lib/parser/lexer.rl"
13840
13910
  begin
13841
13911
  @act = 124; end
13842
13912
  when 268 then
@@ -13844,7 +13914,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13844
13914
  begin
13845
13915
  @te = p+1
13846
13916
  end
13847
- # line 1902 "lib/parser/lexer.rl"
13917
+ # line 1919 "lib/parser/lexer.rl"
13848
13918
  begin
13849
13919
  @act = 126; end
13850
13920
  when 274 then
@@ -13852,7 +13922,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13852
13922
  begin
13853
13923
  @te = p+1
13854
13924
  end
13855
- # line 1908 "lib/parser/lexer.rl"
13925
+ # line 1925 "lib/parser/lexer.rl"
13856
13926
  begin
13857
13927
  @act = 127; end
13858
13928
  when 73 then
@@ -13860,7 +13930,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13860
13930
  begin
13861
13931
  @te = p+1
13862
13932
  end
13863
- # line 1991 "lib/parser/lexer.rl"
13933
+ # line 2008 "lib/parser/lexer.rl"
13864
13934
  begin
13865
13935
  @act = 140; end
13866
13936
  when 363 then
@@ -13868,17 +13938,17 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13868
13938
  begin
13869
13939
  @te = p+1
13870
13940
  end
13871
- # line 2030 "lib/parser/lexer.rl"
13941
+ # line 2047 "lib/parser/lexer.rl"
13872
13942
  begin
13873
13943
  @act = 144; end
13874
13944
  when 47 then
13875
- # line 733 "lib/parser/lexer.rl"
13945
+ # line 742 "lib/parser/lexer.rl"
13876
13946
  begin
13877
13947
  @sharp_s = p - 1 end
13878
- # line 736 "lib/parser/lexer.rl"
13948
+ # line 745 "lib/parser/lexer.rl"
13879
13949
  begin
13880
13950
  emit_comment_from_range(p, pe) end
13881
- # line 539 "lib/parser/lexer.rl"
13951
+ # line 548 "lib/parser/lexer.rl"
13882
13952
  begin
13883
13953
 
13884
13954
  # Record position of a newline for precise location reporting on tNL
@@ -13889,46 +13959,46 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
13889
13959
  @newline_s = p
13890
13960
  end
13891
13961
  when 100 then
13892
- # line 733 "lib/parser/lexer.rl"
13962
+ # line 742 "lib/parser/lexer.rl"
13893
13963
  begin
13894
13964
  @sharp_s = p - 1 end
13895
- # line 736 "lib/parser/lexer.rl"
13965
+ # line 745 "lib/parser/lexer.rl"
13896
13966
  begin
13897
13967
  emit_comment_from_range(p, pe) end
13898
- # line 920 "lib/parser/lexer.rl"
13968
+ # line 931 "lib/parser/lexer.rl"
13899
13969
  begin
13900
13970
  @te = p
13901
13971
  p = p - 1; end
13902
13972
  when 115 then
13903
- # line 733 "lib/parser/lexer.rl"
13973
+ # line 742 "lib/parser/lexer.rl"
13904
13974
  begin
13905
13975
  @sharp_s = p - 1 end
13906
- # line 736 "lib/parser/lexer.rl"
13976
+ # line 745 "lib/parser/lexer.rl"
13907
13977
  begin
13908
13978
  emit_comment_from_range(p, pe) end
13909
- # line 950 "lib/parser/lexer.rl"
13979
+ # line 961 "lib/parser/lexer.rl"
13910
13980
  begin
13911
13981
  @te = p
13912
13982
  p = p - 1; end
13913
13983
  when 127 then
13914
- # line 733 "lib/parser/lexer.rl"
13984
+ # line 742 "lib/parser/lexer.rl"
13915
13985
  begin
13916
13986
  @sharp_s = p - 1 end
13917
- # line 736 "lib/parser/lexer.rl"
13987
+ # line 745 "lib/parser/lexer.rl"
13918
13988
  begin
13919
13989
  emit_comment_from_range(p, pe) end
13920
- # line 982 "lib/parser/lexer.rl"
13990
+ # line 993 "lib/parser/lexer.rl"
13921
13991
  begin
13922
13992
  @te = p
13923
13993
  p = p - 1; end
13924
13994
  when 149 then
13925
- # line 733 "lib/parser/lexer.rl"
13995
+ # line 742 "lib/parser/lexer.rl"
13926
13996
  begin
13927
13997
  @sharp_s = p - 1 end
13928
- # line 736 "lib/parser/lexer.rl"
13998
+ # line 745 "lib/parser/lexer.rl"
13929
13999
  begin
13930
14000
  emit_comment_from_range(p, pe) end
13931
- # line 1120 "lib/parser/lexer.rl"
14001
+ # line 1131 "lib/parser/lexer.rl"
13932
14002
  begin
13933
14003
  @te = p
13934
14004
  p = p - 1; begin begin
@@ -13939,110 +14009,110 @@ p = p - 1; begin begin
13939
14009
  end
13940
14010
  end
13941
14011
  when 164 then
13942
- # line 733 "lib/parser/lexer.rl"
14012
+ # line 742 "lib/parser/lexer.rl"
13943
14013
  begin
13944
14014
  @sharp_s = p - 1 end
13945
- # line 736 "lib/parser/lexer.rl"
14015
+ # line 745 "lib/parser/lexer.rl"
13946
14016
  begin
13947
14017
  emit_comment_from_range(p, pe) end
13948
- # line 1201 "lib/parser/lexer.rl"
14018
+ # line 1212 "lib/parser/lexer.rl"
13949
14019
  begin
13950
14020
  @te = p
13951
14021
  p = p - 1; end
13952
14022
  when 176 then
13953
- # line 733 "lib/parser/lexer.rl"
14023
+ # line 742 "lib/parser/lexer.rl"
13954
14024
  begin
13955
14025
  @sharp_s = p - 1 end
13956
- # line 736 "lib/parser/lexer.rl"
14026
+ # line 745 "lib/parser/lexer.rl"
13957
14027
  begin
13958
14028
  emit_comment_from_range(p, pe) end
13959
- # line 1222 "lib/parser/lexer.rl"
14029
+ # line 1233 "lib/parser/lexer.rl"
13960
14030
  begin
13961
14031
  @te = p
13962
14032
  p = p - 1; end
13963
14033
  when 203 then
13964
- # line 733 "lib/parser/lexer.rl"
14034
+ # line 742 "lib/parser/lexer.rl"
13965
14035
  begin
13966
14036
  @sharp_s = p - 1 end
13967
- # line 736 "lib/parser/lexer.rl"
14037
+ # line 745 "lib/parser/lexer.rl"
13968
14038
  begin
13969
14039
  emit_comment_from_range(p, pe) end
13970
- # line 1605 "lib/parser/lexer.rl"
14040
+ # line 1622 "lib/parser/lexer.rl"
13971
14041
  begin
13972
14042
  @te = p
13973
14043
  p = p - 1; end
13974
14044
  when 251 then
13975
- # line 733 "lib/parser/lexer.rl"
14045
+ # line 742 "lib/parser/lexer.rl"
13976
14046
  begin
13977
14047
  @sharp_s = p - 1 end
13978
- # line 736 "lib/parser/lexer.rl"
14048
+ # line 745 "lib/parser/lexer.rl"
13979
14049
  begin
13980
14050
  emit_comment_from_range(p, pe) end
13981
- # line 1632 "lib/parser/lexer.rl"
14051
+ # line 1649 "lib/parser/lexer.rl"
13982
14052
  begin
13983
14053
  @te = p
13984
14054
  p = p - 1; end
13985
14055
  when 261 then
13986
- # line 733 "lib/parser/lexer.rl"
14056
+ # line 742 "lib/parser/lexer.rl"
13987
14057
  begin
13988
14058
  @sharp_s = p - 1 end
13989
- # line 736 "lib/parser/lexer.rl"
14059
+ # line 745 "lib/parser/lexer.rl"
13990
14060
  begin
13991
14061
  emit_comment_from_range(p, pe) end
13992
- # line 1664 "lib/parser/lexer.rl"
14062
+ # line 1681 "lib/parser/lexer.rl"
13993
14063
  begin
13994
14064
  @te = p
13995
14065
  p = p - 1; end
13996
14066
  when 282 then
13997
- # line 733 "lib/parser/lexer.rl"
14067
+ # line 742 "lib/parser/lexer.rl"
13998
14068
  begin
13999
14069
  @sharp_s = p - 1 end
14000
- # line 736 "lib/parser/lexer.rl"
14070
+ # line 745 "lib/parser/lexer.rl"
14001
14071
  begin
14002
14072
  emit_comment_from_range(p, pe) end
14003
- # line 1959 "lib/parser/lexer.rl"
14073
+ # line 1976 "lib/parser/lexer.rl"
14004
14074
  begin
14005
14075
  @te = p
14006
14076
  p = p - 1; end
14007
14077
  when 377 then
14008
- # line 733 "lib/parser/lexer.rl"
14078
+ # line 742 "lib/parser/lexer.rl"
14009
14079
  begin
14010
14080
  @sharp_s = p - 1 end
14011
- # line 736 "lib/parser/lexer.rl"
14081
+ # line 745 "lib/parser/lexer.rl"
14012
14082
  begin
14013
14083
  emit_comment_from_range(p, pe) end
14014
- # line 2055 "lib/parser/lexer.rl"
14084
+ # line 2072 "lib/parser/lexer.rl"
14015
14085
  begin
14016
14086
  @te = p
14017
14087
  p = p - 1; end
14018
14088
  when 334 then
14019
- # line 1777 "lib/parser/lexer.rl"
14089
+ # line 1794 "lib/parser/lexer.rl"
14020
14090
  begin
14021
14091
  @num_base = 10; @num_digits_s = @ts end
14022
- # line 1779 "lib/parser/lexer.rl"
14092
+ # line 1796 "lib/parser/lexer.rl"
14023
14093
  begin
14024
14094
  @num_suffix_s = p end
14025
- # line 673 "lib/parser/lexer.rl"
14095
+ # line 682 "lib/parser/lexer.rl"
14026
14096
  begin
14027
14097
  @num_xfrm = @emit_integer end
14028
14098
  when 298 then
14029
- # line 1778 "lib/parser/lexer.rl"
14099
+ # line 1795 "lib/parser/lexer.rl"
14030
14100
  begin
14031
14101
  @num_base = 8; @num_digits_s = @ts end
14032
- # line 1779 "lib/parser/lexer.rl"
14102
+ # line 1796 "lib/parser/lexer.rl"
14033
14103
  begin
14034
14104
  @num_suffix_s = p end
14035
- # line 673 "lib/parser/lexer.rl"
14105
+ # line 682 "lib/parser/lexer.rl"
14036
14106
  begin
14037
14107
  @num_xfrm = @emit_integer end
14038
14108
  when 313 then
14039
- # line 1779 "lib/parser/lexer.rl"
14109
+ # line 1796 "lib/parser/lexer.rl"
14040
14110
  begin
14041
14111
  @num_suffix_s = p end
14042
- # line 673 "lib/parser/lexer.rl"
14112
+ # line 682 "lib/parser/lexer.rl"
14043
14113
  begin
14044
14114
  @num_xfrm = @emit_integer end
14045
- # line 1780 "lib/parser/lexer.rl"
14115
+ # line 1797 "lib/parser/lexer.rl"
14046
14116
  begin
14047
14117
  @te = p
14048
14118
  p = p - 1; begin
@@ -14063,13 +14133,13 @@ p = p - 1; begin
14063
14133
  end
14064
14134
  end
14065
14135
  when 306 then
14066
- # line 1822 "lib/parser/lexer.rl"
14136
+ # line 1839 "lib/parser/lexer.rl"
14067
14137
  begin
14068
14138
  @num_suffix_s = p end
14069
- # line 682 "lib/parser/lexer.rl"
14139
+ # line 691 "lib/parser/lexer.rl"
14070
14140
  begin
14071
14141
  @num_xfrm = @emit_float end
14072
- # line 1825 "lib/parser/lexer.rl"
14142
+ # line 1842 "lib/parser/lexer.rl"
14073
14143
  begin
14074
14144
  @te = p
14075
14145
  p = p - 1; begin
@@ -14090,13 +14160,13 @@ p = p - 1; begin
14090
14160
  end
14091
14161
  end
14092
14162
  when 302 then
14093
- # line 1823 "lib/parser/lexer.rl"
14163
+ # line 1840 "lib/parser/lexer.rl"
14094
14164
  begin
14095
14165
  @num_suffix_s = p end
14096
- # line 682 "lib/parser/lexer.rl"
14166
+ # line 691 "lib/parser/lexer.rl"
14097
14167
  begin
14098
14168
  @num_xfrm = @emit_float end
14099
- # line 1825 "lib/parser/lexer.rl"
14169
+ # line 1842 "lib/parser/lexer.rl"
14100
14170
  begin
14101
14171
  @te = p
14102
14172
  p = p - 1; begin
@@ -14121,7 +14191,7 @@ p = p - 1; begin
14121
14191
  begin
14122
14192
  @te = p+1
14123
14193
  end
14124
- # line 539 "lib/parser/lexer.rl"
14194
+ # line 548 "lib/parser/lexer.rl"
14125
14195
  begin
14126
14196
 
14127
14197
  # Record position of a newline for precise location reporting on tNL
@@ -14131,7 +14201,7 @@ p = p - 1; begin
14131
14201
  # there are no cases when we need to skip it.
14132
14202
  @newline_s = p
14133
14203
  end
14134
- # line 1117 "lib/parser/lexer.rl"
14204
+ # line 1128 "lib/parser/lexer.rl"
14135
14205
  begin
14136
14206
  @act = 40; end
14137
14207
  when 21 then
@@ -14139,12 +14209,12 @@ p = p - 1; begin
14139
14209
  begin
14140
14210
  @te = p+1
14141
14211
  end
14142
- # line 723 "lib/parser/lexer.rl"
14212
+ # line 732 "lib/parser/lexer.rl"
14143
14213
  begin
14144
14214
 
14145
14215
  p = on_newline(p)
14146
14216
  end
14147
- # line 1112 "lib/parser/lexer.rl"
14217
+ # line 1123 "lib/parser/lexer.rl"
14148
14218
  begin
14149
14219
  @act = 39; end
14150
14220
  when 32 then
@@ -14152,12 +14222,12 @@ p = p - 1; begin
14152
14222
  begin
14153
14223
  @te = p+1
14154
14224
  end
14155
- # line 723 "lib/parser/lexer.rl"
14225
+ # line 732 "lib/parser/lexer.rl"
14156
14226
  begin
14157
14227
 
14158
14228
  p = on_newline(p)
14159
14229
  end
14160
- # line 1162 "lib/parser/lexer.rl"
14230
+ # line 1173 "lib/parser/lexer.rl"
14161
14231
  begin
14162
14232
  @act = 47; end
14163
14233
  when 79 then
@@ -14165,12 +14235,12 @@ p = p - 1; begin
14165
14235
  begin
14166
14236
  @te = p+1
14167
14237
  end
14168
- # line 723 "lib/parser/lexer.rl"
14238
+ # line 732 "lib/parser/lexer.rl"
14169
14239
  begin
14170
14240
 
14171
14241
  p = on_newline(p)
14172
14242
  end
14173
- # line 1991 "lib/parser/lexer.rl"
14243
+ # line 2008 "lib/parser/lexer.rl"
14174
14244
  begin
14175
14245
  @act = 140; end
14176
14246
  when 51 then
@@ -14178,10 +14248,10 @@ p = p - 1; begin
14178
14248
  begin
14179
14249
  @te = p+1
14180
14250
  end
14181
- # line 736 "lib/parser/lexer.rl"
14251
+ # line 745 "lib/parser/lexer.rl"
14182
14252
  begin
14183
14253
  emit_comment_from_range(p, pe) end
14184
- # line 1243 "lib/parser/lexer.rl"
14254
+ # line 1254 "lib/parser/lexer.rl"
14185
14255
  begin
14186
14256
  @act = 60; end
14187
14257
  when 70 then
@@ -14189,10 +14259,10 @@ p = p - 1; begin
14189
14259
  begin
14190
14260
  @te = p+1
14191
14261
  end
14192
- # line 736 "lib/parser/lexer.rl"
14262
+ # line 745 "lib/parser/lexer.rl"
14193
14263
  begin
14194
14264
  emit_comment_from_range(p, pe) end
14195
- # line 1722 "lib/parser/lexer.rl"
14265
+ # line 1739 "lib/parser/lexer.rl"
14196
14266
  begin
14197
14267
  @act = 106; end
14198
14268
  when 78 then
@@ -14200,10 +14270,10 @@ p = p - 1; begin
14200
14270
  begin
14201
14271
  @te = p+1
14202
14272
  end
14203
- # line 736 "lib/parser/lexer.rl"
14273
+ # line 745 "lib/parser/lexer.rl"
14204
14274
  begin
14205
14275
  emit_comment_from_range(p, pe) end
14206
- # line 1991 "lib/parser/lexer.rl"
14276
+ # line 2008 "lib/parser/lexer.rl"
14207
14277
  begin
14208
14278
  @act = 140; end
14209
14279
  when 23 then
@@ -14211,10 +14281,10 @@ p = p - 1; begin
14211
14281
  begin
14212
14282
  @te = p+1
14213
14283
  end
14214
- # line 1072 "lib/parser/lexer.rl"
14284
+ # line 1083 "lib/parser/lexer.rl"
14215
14285
  begin
14216
14286
  tm = p end
14217
- # line 1073 "lib/parser/lexer.rl"
14287
+ # line 1084 "lib/parser/lexer.rl"
14218
14288
  begin
14219
14289
  @act = 34; end
14220
14290
  when 243 then
@@ -14222,10 +14292,10 @@ p = p - 1; begin
14222
14292
  begin
14223
14293
  @te = p+1
14224
14294
  end
14225
- # line 1480 "lib/parser/lexer.rl"
14295
+ # line 1497 "lib/parser/lexer.rl"
14226
14296
  begin
14227
14297
  tm = p end
14228
- # line 1578 "lib/parser/lexer.rl"
14298
+ # line 1595 "lib/parser/lexer.rl"
14229
14299
  begin
14230
14300
  @act = 86; end
14231
14301
  when 242 then
@@ -14233,10 +14303,10 @@ p = p - 1; begin
14233
14303
  begin
14234
14304
  @te = p+1
14235
14305
  end
14236
- # line 1480 "lib/parser/lexer.rl"
14306
+ # line 1497 "lib/parser/lexer.rl"
14237
14307
  begin
14238
14308
  tm = p end
14239
- # line 831 "lib/parser/lexer.rl"
14309
+ # line 840 "lib/parser/lexer.rl"
14240
14310
  begin
14241
14311
  @act = 87; end
14242
14312
  when 335 then
@@ -14244,23 +14314,23 @@ p = p - 1; begin
14244
14314
  begin
14245
14315
  @te = p+1
14246
14316
  end
14247
- # line 1777 "lib/parser/lexer.rl"
14317
+ # line 1794 "lib/parser/lexer.rl"
14248
14318
  begin
14249
14319
  @num_base = 10; @num_digits_s = @ts end
14250
- # line 1780 "lib/parser/lexer.rl"
14320
+ # line 1797 "lib/parser/lexer.rl"
14251
14321
  begin
14252
14322
  @act = 113; end
14253
14323
  when 330 then
14254
- # line 1773 "lib/parser/lexer.rl"
14324
+ # line 1790 "lib/parser/lexer.rl"
14255
14325
  begin
14256
14326
  @num_base = 16; @num_digits_s = p end
14257
- # line 1779 "lib/parser/lexer.rl"
14327
+ # line 1796 "lib/parser/lexer.rl"
14258
14328
  begin
14259
14329
  @num_suffix_s = p end
14260
- # line 673 "lib/parser/lexer.rl"
14330
+ # line 682 "lib/parser/lexer.rl"
14261
14331
  begin
14262
14332
  @num_xfrm = @emit_integer end
14263
- # line 1780 "lib/parser/lexer.rl"
14333
+ # line 1797 "lib/parser/lexer.rl"
14264
14334
  begin
14265
14335
  @te = p
14266
14336
  p = p - 1; begin
@@ -14281,16 +14351,16 @@ p = p - 1; begin
14281
14351
  end
14282
14352
  end
14283
14353
  when 324 then
14284
- # line 1774 "lib/parser/lexer.rl"
14354
+ # line 1791 "lib/parser/lexer.rl"
14285
14355
  begin
14286
14356
  @num_base = 10; @num_digits_s = p end
14287
- # line 1779 "lib/parser/lexer.rl"
14357
+ # line 1796 "lib/parser/lexer.rl"
14288
14358
  begin
14289
14359
  @num_suffix_s = p end
14290
- # line 673 "lib/parser/lexer.rl"
14360
+ # line 682 "lib/parser/lexer.rl"
14291
14361
  begin
14292
14362
  @num_xfrm = @emit_integer end
14293
- # line 1780 "lib/parser/lexer.rl"
14363
+ # line 1797 "lib/parser/lexer.rl"
14294
14364
  begin
14295
14365
  @te = p
14296
14366
  p = p - 1; begin
@@ -14311,16 +14381,16 @@ p = p - 1; begin
14311
14381
  end
14312
14382
  end
14313
14383
  when 327 then
14314
- # line 1775 "lib/parser/lexer.rl"
14384
+ # line 1792 "lib/parser/lexer.rl"
14315
14385
  begin
14316
14386
  @num_base = 8; @num_digits_s = p end
14317
- # line 1779 "lib/parser/lexer.rl"
14387
+ # line 1796 "lib/parser/lexer.rl"
14318
14388
  begin
14319
14389
  @num_suffix_s = p end
14320
- # line 673 "lib/parser/lexer.rl"
14390
+ # line 682 "lib/parser/lexer.rl"
14321
14391
  begin
14322
14392
  @num_xfrm = @emit_integer end
14323
- # line 1780 "lib/parser/lexer.rl"
14393
+ # line 1797 "lib/parser/lexer.rl"
14324
14394
  begin
14325
14395
  @te = p
14326
14396
  p = p - 1; begin
@@ -14341,16 +14411,16 @@ p = p - 1; begin
14341
14411
  end
14342
14412
  end
14343
14413
  when 321 then
14344
- # line 1776 "lib/parser/lexer.rl"
14414
+ # line 1793 "lib/parser/lexer.rl"
14345
14415
  begin
14346
14416
  @num_base = 2; @num_digits_s = p end
14347
- # line 1779 "lib/parser/lexer.rl"
14417
+ # line 1796 "lib/parser/lexer.rl"
14348
14418
  begin
14349
14419
  @num_suffix_s = p end
14350
- # line 673 "lib/parser/lexer.rl"
14420
+ # line 682 "lib/parser/lexer.rl"
14351
14421
  begin
14352
14422
  @num_xfrm = @emit_integer end
14353
- # line 1780 "lib/parser/lexer.rl"
14423
+ # line 1797 "lib/parser/lexer.rl"
14354
14424
  begin
14355
14425
  @te = p
14356
14426
  p = p - 1; begin
@@ -14371,16 +14441,16 @@ p = p - 1; begin
14371
14441
  end
14372
14442
  end
14373
14443
  when 333 then
14374
- # line 1777 "lib/parser/lexer.rl"
14444
+ # line 1794 "lib/parser/lexer.rl"
14375
14445
  begin
14376
14446
  @num_base = 10; @num_digits_s = @ts end
14377
- # line 1779 "lib/parser/lexer.rl"
14447
+ # line 1796 "lib/parser/lexer.rl"
14378
14448
  begin
14379
14449
  @num_suffix_s = p end
14380
- # line 673 "lib/parser/lexer.rl"
14450
+ # line 682 "lib/parser/lexer.rl"
14381
14451
  begin
14382
14452
  @num_xfrm = @emit_integer end
14383
- # line 1780 "lib/parser/lexer.rl"
14453
+ # line 1797 "lib/parser/lexer.rl"
14384
14454
  begin
14385
14455
  @te = p
14386
14456
  p = p - 1; begin
@@ -14401,16 +14471,16 @@ p = p - 1; begin
14401
14471
  end
14402
14472
  end
14403
14473
  when 297 then
14404
- # line 1778 "lib/parser/lexer.rl"
14474
+ # line 1795 "lib/parser/lexer.rl"
14405
14475
  begin
14406
14476
  @num_base = 8; @num_digits_s = @ts end
14407
- # line 1779 "lib/parser/lexer.rl"
14477
+ # line 1796 "lib/parser/lexer.rl"
14408
14478
  begin
14409
14479
  @num_suffix_s = p end
14410
- # line 673 "lib/parser/lexer.rl"
14480
+ # line 682 "lib/parser/lexer.rl"
14411
14481
  begin
14412
14482
  @num_xfrm = @emit_integer end
14413
- # line 1780 "lib/parser/lexer.rl"
14483
+ # line 1797 "lib/parser/lexer.rl"
14414
14484
  begin
14415
14485
  @te = p
14416
14486
  p = p - 1; begin
@@ -14435,15 +14505,15 @@ p = p - 1; begin
14435
14505
  begin
14436
14506
  @te = p+1
14437
14507
  end
14438
- # line 723 "lib/parser/lexer.rl"
14508
+ # line 732 "lib/parser/lexer.rl"
14439
14509
  begin
14440
14510
 
14441
14511
  p = on_newline(p)
14442
14512
  end
14443
- # line 1072 "lib/parser/lexer.rl"
14513
+ # line 1083 "lib/parser/lexer.rl"
14444
14514
  begin
14445
14515
  tm = p end
14446
- # line 1073 "lib/parser/lexer.rl"
14516
+ # line 1084 "lib/parser/lexer.rl"
14447
14517
  begin
14448
14518
  @act = 34; end
14449
14519
  when 48 then
@@ -14451,13 +14521,13 @@ p = p - 1; begin
14451
14521
  begin
14452
14522
  @te = p+1
14453
14523
  end
14454
- # line 733 "lib/parser/lexer.rl"
14524
+ # line 742 "lib/parser/lexer.rl"
14455
14525
  begin
14456
14526
  @sharp_s = p - 1 end
14457
- # line 736 "lib/parser/lexer.rl"
14527
+ # line 745 "lib/parser/lexer.rl"
14458
14528
  begin
14459
14529
  emit_comment_from_range(p, pe) end
14460
- # line 1243 "lib/parser/lexer.rl"
14530
+ # line 1254 "lib/parser/lexer.rl"
14461
14531
  begin
14462
14532
  @act = 60; end
14463
14533
  when 77 then
@@ -14465,13 +14535,13 @@ p = p - 1; begin
14465
14535
  begin
14466
14536
  @te = p+1
14467
14537
  end
14468
- # line 733 "lib/parser/lexer.rl"
14538
+ # line 742 "lib/parser/lexer.rl"
14469
14539
  begin
14470
14540
  @sharp_s = p - 1 end
14471
- # line 736 "lib/parser/lexer.rl"
14541
+ # line 745 "lib/parser/lexer.rl"
14472
14542
  begin
14473
14543
  emit_comment_from_range(p, pe) end
14474
- # line 1991 "lib/parser/lexer.rl"
14544
+ # line 2008 "lib/parser/lexer.rl"
14475
14545
  begin
14476
14546
  @act = 140; end
14477
14547
  when 340 then
@@ -14479,13 +14549,13 @@ p = p - 1; begin
14479
14549
  begin
14480
14550
  @te = p+1
14481
14551
  end
14482
- # line 1779 "lib/parser/lexer.rl"
14552
+ # line 1796 "lib/parser/lexer.rl"
14483
14553
  begin
14484
14554
  @num_suffix_s = p end
14485
- # line 673 "lib/parser/lexer.rl"
14555
+ # line 682 "lib/parser/lexer.rl"
14486
14556
  begin
14487
14557
  @num_xfrm = @emit_integer end
14488
- # line 1798 "lib/parser/lexer.rl"
14558
+ # line 1815 "lib/parser/lexer.rl"
14489
14559
  begin
14490
14560
  @act = 115; end
14491
14561
  when 336 then
@@ -14493,16 +14563,16 @@ p = p - 1; begin
14493
14563
  begin
14494
14564
  @te = p+1
14495
14565
  end
14496
- # line 1777 "lib/parser/lexer.rl"
14566
+ # line 1794 "lib/parser/lexer.rl"
14497
14567
  begin
14498
14568
  @num_base = 10; @num_digits_s = @ts end
14499
- # line 1779 "lib/parser/lexer.rl"
14569
+ # line 1796 "lib/parser/lexer.rl"
14500
14570
  begin
14501
14571
  @num_suffix_s = p end
14502
- # line 673 "lib/parser/lexer.rl"
14572
+ # line 682 "lib/parser/lexer.rl"
14503
14573
  begin
14504
14574
  @num_xfrm = @emit_integer end
14505
- # line 1798 "lib/parser/lexer.rl"
14575
+ # line 1815 "lib/parser/lexer.rl"
14506
14576
  begin
14507
14577
  @act = 115; end
14508
14578
  when 300 then
@@ -14510,19 +14580,19 @@ p = p - 1; begin
14510
14580
  begin
14511
14581
  @te = p+1
14512
14582
  end
14513
- # line 1778 "lib/parser/lexer.rl"
14583
+ # line 1795 "lib/parser/lexer.rl"
14514
14584
  begin
14515
14585
  @num_base = 8; @num_digits_s = @ts end
14516
- # line 1779 "lib/parser/lexer.rl"
14586
+ # line 1796 "lib/parser/lexer.rl"
14517
14587
  begin
14518
14588
  @num_suffix_s = p end
14519
- # line 673 "lib/parser/lexer.rl"
14589
+ # line 682 "lib/parser/lexer.rl"
14520
14590
  begin
14521
14591
  @num_xfrm = @emit_integer end
14522
- # line 1798 "lib/parser/lexer.rl"
14592
+ # line 1815 "lib/parser/lexer.rl"
14523
14593
  begin
14524
14594
  @act = 115; end
14525
- # line 14525 "lib/parser/lexer-F1.rb"
14595
+ # line 14595 "lib/parser/lexer-F1.rb"
14526
14596
  end
14527
14597
  end
14528
14598
  end
@@ -14532,7 +14602,7 @@ p = p - 1; begin
14532
14602
  # line 1 "NONE"
14533
14603
  begin
14534
14604
  @ts = nil; end
14535
- # line 14535 "lib/parser/lexer-F1.rb"
14605
+ # line 14605 "lib/parser/lexer-F1.rb"
14536
14606
  end
14537
14607
 
14538
14608
  if @cs == 0
@@ -14561,7 +14631,7 @@ p = p - 1; begin
14561
14631
  end
14562
14632
  end
14563
14633
 
14564
- # line 281 "lib/parser/lexer.rl"
14634
+ # line 290 "lib/parser/lexer.rl"
14565
14635
  # %
14566
14636
 
14567
14637
  # Ragel creates a local variable called `testEof` but it doesn't use
@@ -14808,7 +14878,7 @@ end
14808
14878
  end
14809
14879
 
14810
14880
 
14811
- # line 2081 "lib/parser/lexer.rl"
14881
+ # line 2098 "lib/parser/lexer.rl"
14812
14882
 
14813
14883
  # %
14814
14884
  end