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
@@ -8403,14 +8403,23 @@ self.lex_en_inside_string = 128;
8403
8403
  @emit_integer_if = lambda { |chars, p| emit(:tINTEGER, chars, @ts, @te - 2); p - 2 }
8404
8404
  @emit_integer_rescue = lambda { |chars, p| emit(:tINTEGER, chars, @ts, @te - 6); p - 6 }
8405
8405
 
8406
- @emit_float = lambda { |chars, p| emit(:tFLOAT, Float(chars)); p }
8407
- @emit_imaginary_float = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, Float(chars))); p }
8408
- @emit_float_if = lambda { |chars, p| emit(:tFLOAT, Float(chars), @ts, @te - 2); p - 2 }
8409
- @emit_float_rescue = lambda { |chars, p| emit(:tFLOAT, Float(chars), @ts, @te - 6); p - 6 }
8406
+ @emit_float = lambda { |chars, p| emit(:tFLOAT, construct_float(chars)); p }
8407
+ @emit_imaginary_float = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, construct_float(chars))); p }
8408
+ @emit_float_if = lambda { |chars, p| emit(:tFLOAT, construct_float(chars), @ts, @te - 2); p - 2 }
8409
+ @emit_float_rescue = lambda { |chars, p| emit(:tFLOAT, construct_float(chars), @ts, @te - 6); p - 6 }
8410
8410
 
8411
8411
  reset
8412
8412
  end
8413
8413
 
8414
+ def construct_float(chars)
8415
+ begin
8416
+ old_verbose, $VERBOSE = $VERBOSE, nil
8417
+ Float(chars)
8418
+ ensure
8419
+ $VERBOSE = old_verbose
8420
+ end
8421
+ end
8422
+
8414
8423
  def reset(reset_state=true)
8415
8424
  # Ragel state:
8416
8425
  if reset_state
@@ -8565,7 +8574,7 @@ self.lex_en_inside_string = 128;
8565
8574
  @command_start = false
8566
8575
 
8567
8576
 
8568
- # line 8568 "lib/parser/lexer-F0.rb"
8577
+ # line 8577 "lib/parser/lexer-F0.rb"
8569
8578
  begin # ragel flat
8570
8579
  testEof = false
8571
8580
  _slen, _trans, _keys, _inds, _acts, _nacts = nil
@@ -8600,7 +8609,7 @@ begin # ragel flat
8600
8609
  begin
8601
8610
  @ts = p
8602
8611
  end
8603
- # line 8603 "lib/parser/lexer-F0.rb"
8612
+ # line 8612 "lib/parser/lexer-F0.rb"
8604
8613
  end # from state action switch
8605
8614
  end
8606
8615
  if _trigger_goto
@@ -8630,7 +8639,7 @@ begin # ragel flat
8630
8639
  _acts += 1
8631
8640
  case _lex_actions[_acts - 1]
8632
8641
  when 0 then
8633
- # line 539 "lib/parser/lexer.rl"
8642
+ # line 548 "lib/parser/lexer.rl"
8634
8643
  begin
8635
8644
 
8636
8645
  # Record position of a newline for precise location reporting on tNL
@@ -8641,65 +8650,65 @@ begin # ragel flat
8641
8650
  @newline_s = p
8642
8651
  end
8643
8652
  when 1 then
8644
- # line 673 "lib/parser/lexer.rl"
8653
+ # line 682 "lib/parser/lexer.rl"
8645
8654
  begin
8646
8655
  @num_xfrm = @emit_integer end
8647
8656
  when 2 then
8648
- # line 674 "lib/parser/lexer.rl"
8657
+ # line 683 "lib/parser/lexer.rl"
8649
8658
  begin
8650
8659
  @num_xfrm = @emit_rational end
8651
8660
  when 3 then
8652
- # line 675 "lib/parser/lexer.rl"
8661
+ # line 684 "lib/parser/lexer.rl"
8653
8662
  begin
8654
8663
  @num_xfrm = @emit_imaginary end
8655
8664
  when 4 then
8656
- # line 676 "lib/parser/lexer.rl"
8665
+ # line 685 "lib/parser/lexer.rl"
8657
8666
  begin
8658
8667
  @num_xfrm = @emit_imaginary_rational end
8659
8668
  when 5 then
8660
- # line 677 "lib/parser/lexer.rl"
8669
+ # line 686 "lib/parser/lexer.rl"
8661
8670
  begin
8662
8671
  @num_xfrm = @emit_integer_re end
8663
8672
  when 6 then
8664
- # line 678 "lib/parser/lexer.rl"
8673
+ # line 687 "lib/parser/lexer.rl"
8665
8674
  begin
8666
8675
  @num_xfrm = @emit_integer_if end
8667
8676
  when 7 then
8668
- # line 679 "lib/parser/lexer.rl"
8677
+ # line 688 "lib/parser/lexer.rl"
8669
8678
  begin
8670
8679
  @num_xfrm = @emit_integer_rescue end
8671
8680
  when 8 then
8672
- # line 682 "lib/parser/lexer.rl"
8681
+ # line 691 "lib/parser/lexer.rl"
8673
8682
  begin
8674
8683
  @num_xfrm = @emit_float end
8675
8684
  when 9 then
8676
- # line 683 "lib/parser/lexer.rl"
8685
+ # line 692 "lib/parser/lexer.rl"
8677
8686
  begin
8678
8687
  @num_xfrm = @emit_imaginary_float end
8679
8688
  when 10 then
8680
- # line 684 "lib/parser/lexer.rl"
8689
+ # line 693 "lib/parser/lexer.rl"
8681
8690
  begin
8682
8691
  @num_xfrm = @emit_float_if end
8683
8692
  when 11 then
8684
- # line 688 "lib/parser/lexer.rl"
8693
+ # line 697 "lib/parser/lexer.rl"
8685
8694
  begin
8686
8695
  @num_xfrm = @emit_rational end
8687
8696
  when 12 then
8688
- # line 689 "lib/parser/lexer.rl"
8697
+ # line 698 "lib/parser/lexer.rl"
8689
8698
  begin
8690
8699
  @num_xfrm = @emit_imaginary_rational end
8691
8700
  when 13 then
8692
- # line 690 "lib/parser/lexer.rl"
8701
+ # line 699 "lib/parser/lexer.rl"
8693
8702
  begin
8694
8703
  @num_xfrm = @emit_float_rescue end
8695
8704
  when 14 then
8696
- # line 696 "lib/parser/lexer.rl"
8705
+ # line 705 "lib/parser/lexer.rl"
8697
8706
  begin
8698
8707
 
8699
8708
  e_lbrace
8700
8709
  end
8701
8710
  when 15 then
8702
- # line 700 "lib/parser/lexer.rl"
8711
+ # line 709 "lib/parser/lexer.rl"
8703
8712
  begin
8704
8713
 
8705
8714
  if @strings.close_interp_on_current_literal(p)
@@ -8717,57 +8726,57 @@ begin # ragel flat
8717
8726
  @paren_nest -= 1
8718
8727
  end
8719
8728
  when 16 then
8720
- # line 723 "lib/parser/lexer.rl"
8729
+ # line 732 "lib/parser/lexer.rl"
8721
8730
  begin
8722
8731
 
8723
8732
  p = on_newline(p)
8724
8733
  end
8725
8734
  when 17 then
8726
- # line 733 "lib/parser/lexer.rl"
8735
+ # line 742 "lib/parser/lexer.rl"
8727
8736
  begin
8728
8737
  @sharp_s = p - 1 end
8729
8738
  when 18 then
8730
- # line 736 "lib/parser/lexer.rl"
8739
+ # line 745 "lib/parser/lexer.rl"
8731
8740
  begin
8732
8741
  emit_comment_from_range(p, pe) end
8733
8742
  when 19 then
8734
- # line 777 "lib/parser/lexer.rl"
8743
+ # line 786 "lib/parser/lexer.rl"
8735
8744
  begin
8736
8745
  tm = p end
8737
8746
  when 20 then
8738
- # line 778 "lib/parser/lexer.rl"
8747
+ # line 787 "lib/parser/lexer.rl"
8739
8748
  begin
8740
8749
  tm = p - 2 end
8741
8750
  when 21 then
8742
- # line 783 "lib/parser/lexer.rl"
8751
+ # line 792 "lib/parser/lexer.rl"
8743
8752
  begin
8744
8753
  tm = p end
8745
8754
  when 22 then
8746
- # line 784 "lib/parser/lexer.rl"
8755
+ # line 793 "lib/parser/lexer.rl"
8747
8756
  begin
8748
8757
  tm = p - 2 end
8749
8758
  when 23 then
8750
- # line 785 "lib/parser/lexer.rl"
8759
+ # line 794 "lib/parser/lexer.rl"
8751
8760
  begin
8752
8761
  tm = p - 2 end
8753
8762
  when 24 then
8754
- # line 786 "lib/parser/lexer.rl"
8763
+ # line 795 "lib/parser/lexer.rl"
8755
8764
  begin
8756
8765
  tm = p - 2 end
8757
8766
  when 25 then
8758
- # line 787 "lib/parser/lexer.rl"
8767
+ # line 796 "lib/parser/lexer.rl"
8759
8768
  begin
8760
8769
  tm = p - 3 end
8761
8770
  when 26 then
8762
- # line 792 "lib/parser/lexer.rl"
8771
+ # line 801 "lib/parser/lexer.rl"
8763
8772
  begin
8764
8773
  tm = p - 2 end
8765
8774
  when 27 then
8766
- # line 797 "lib/parser/lexer.rl"
8775
+ # line 806 "lib/parser/lexer.rl"
8767
8776
  begin
8768
8777
  tm = p - 2 end
8769
8778
  when 28 then
8770
- # line 803 "lib/parser/lexer.rl"
8779
+ # line 812 "lib/parser/lexer.rl"
8771
8780
  begin
8772
8781
 
8773
8782
  @cond.push(false); @cmdarg.push(false)
@@ -8775,13 +8784,13 @@ begin # ragel flat
8775
8784
  @paren_nest += 1
8776
8785
  end
8777
8786
  when 29 then
8778
- # line 809 "lib/parser/lexer.rl"
8787
+ # line 818 "lib/parser/lexer.rl"
8779
8788
  begin
8780
8789
 
8781
8790
  @paren_nest -= 1
8782
8791
  end
8783
8792
  when 30 then
8784
- # line 816 "lib/parser/lexer.rl"
8793
+ # line 825 "lib/parser/lexer.rl"
8785
8794
  begin
8786
8795
 
8787
8796
  @cond.push(false); @cmdarg.push(false)
@@ -8793,85 +8802,85 @@ begin # ragel flat
8793
8802
  end
8794
8803
  end
8795
8804
  when 31 then
8796
- # line 826 "lib/parser/lexer.rl"
8805
+ # line 835 "lib/parser/lexer.rl"
8797
8806
  begin
8798
8807
 
8799
8808
  @paren_nest -= 1
8800
8809
  end
8801
8810
  when 32 then
8802
- # line 1059 "lib/parser/lexer.rl"
8811
+ # line 1070 "lib/parser/lexer.rl"
8803
8812
  begin
8804
8813
  tm = p end
8805
8814
  when 33 then
8806
- # line 1072 "lib/parser/lexer.rl"
8815
+ # line 1083 "lib/parser/lexer.rl"
8807
8816
  begin
8808
8817
  tm = p end
8809
8818
  when 34 then
8810
- # line 1100 "lib/parser/lexer.rl"
8819
+ # line 1111 "lib/parser/lexer.rl"
8811
8820
  begin
8812
8821
  tm = p end
8813
8822
  when 35 then
8814
- # line 1297 "lib/parser/lexer.rl"
8823
+ # line 1308 "lib/parser/lexer.rl"
8815
8824
  begin
8816
8825
  heredoc_e = p end
8817
8826
  when 36 then
8818
- # line 1298 "lib/parser/lexer.rl"
8827
+ # line 1309 "lib/parser/lexer.rl"
8819
8828
  begin
8820
8829
  new_herebody_s = p end
8821
8830
  when 37 then
8822
- # line 1392 "lib/parser/lexer.rl"
8831
+ # line 1409 "lib/parser/lexer.rl"
8823
8832
  begin
8824
8833
  tm = p - 1; diag_msg = :ivar_name end
8825
8834
  when 38 then
8826
- # line 1393 "lib/parser/lexer.rl"
8835
+ # line 1410 "lib/parser/lexer.rl"
8827
8836
  begin
8828
8837
  tm = p - 2; diag_msg = :cvar_name end
8829
8838
  when 39 then
8830
- # line 1480 "lib/parser/lexer.rl"
8839
+ # line 1497 "lib/parser/lexer.rl"
8831
8840
  begin
8832
8841
  tm = p end
8833
8842
  when 40 then
8834
- # line 1587 "lib/parser/lexer.rl"
8843
+ # line 1604 "lib/parser/lexer.rl"
8835
8844
  begin
8836
8845
  ident_tok = tok; ident_ts = @ts; ident_te = @te; end
8837
8846
  when 41 then
8838
- # line 1773 "lib/parser/lexer.rl"
8847
+ # line 1790 "lib/parser/lexer.rl"
8839
8848
  begin
8840
8849
  @num_base = 16; @num_digits_s = p end
8841
8850
  when 42 then
8842
- # line 1774 "lib/parser/lexer.rl"
8851
+ # line 1791 "lib/parser/lexer.rl"
8843
8852
  begin
8844
8853
  @num_base = 10; @num_digits_s = p end
8845
8854
  when 43 then
8846
- # line 1775 "lib/parser/lexer.rl"
8855
+ # line 1792 "lib/parser/lexer.rl"
8847
8856
  begin
8848
8857
  @num_base = 8; @num_digits_s = p end
8849
8858
  when 44 then
8850
- # line 1776 "lib/parser/lexer.rl"
8859
+ # line 1793 "lib/parser/lexer.rl"
8851
8860
  begin
8852
8861
  @num_base = 2; @num_digits_s = p end
8853
8862
  when 45 then
8854
- # line 1777 "lib/parser/lexer.rl"
8863
+ # line 1794 "lib/parser/lexer.rl"
8855
8864
  begin
8856
8865
  @num_base = 10; @num_digits_s = @ts end
8857
8866
  when 46 then
8858
- # line 1778 "lib/parser/lexer.rl"
8867
+ # line 1795 "lib/parser/lexer.rl"
8859
8868
  begin
8860
8869
  @num_base = 8; @num_digits_s = @ts end
8861
8870
  when 47 then
8862
- # line 1779 "lib/parser/lexer.rl"
8871
+ # line 1796 "lib/parser/lexer.rl"
8863
8872
  begin
8864
8873
  @num_suffix_s = p end
8865
8874
  when 48 then
8866
- # line 1822 "lib/parser/lexer.rl"
8875
+ # line 1839 "lib/parser/lexer.rl"
8867
8876
  begin
8868
8877
  @num_suffix_s = p end
8869
8878
  when 49 then
8870
- # line 1823 "lib/parser/lexer.rl"
8879
+ # line 1840 "lib/parser/lexer.rl"
8871
8880
  begin
8872
8881
  @num_suffix_s = p end
8873
8882
  when 50 then
8874
- # line 2026 "lib/parser/lexer.rl"
8883
+ # line 2043 "lib/parser/lexer.rl"
8875
8884
  begin
8876
8885
  tm = p end
8877
8886
  when 53 then
@@ -8880,7 +8889,7 @@ begin # ragel flat
8880
8889
  @te = p+1
8881
8890
  end
8882
8891
  when 54 then
8883
- # line 846 "lib/parser/lexer.rl"
8892
+ # line 857 "lib/parser/lexer.rl"
8884
8893
  begin
8885
8894
  @te = p+1
8886
8895
  begin
@@ -8896,7 +8905,7 @@ begin # ragel flat
8896
8905
  end
8897
8906
  end
8898
8907
  when 55 then
8899
- # line 846 "lib/parser/lexer.rl"
8908
+ # line 857 "lib/parser/lexer.rl"
8900
8909
  begin
8901
8910
  @te = p
8902
8911
  p = p - 1; begin
@@ -8912,7 +8921,7 @@ p = p - 1; begin
8912
8921
  end
8913
8922
  end
8914
8923
  when 56 then
8915
- # line 853 "lib/parser/lexer.rl"
8924
+ # line 864 "lib/parser/lexer.rl"
8916
8925
  begin
8917
8926
  @te = p
8918
8927
  p = p - 1; begin
@@ -8928,7 +8937,7 @@ p = p - 1; begin
8928
8937
  end
8929
8938
  end
8930
8939
  when 57 then
8931
- # line 860 "lib/parser/lexer.rl"
8940
+ # line 871 "lib/parser/lexer.rl"
8932
8941
  begin
8933
8942
  @te = p
8934
8943
  p = p - 1; begin
@@ -8944,19 +8953,19 @@ p = p - 1; begin
8944
8953
  end
8945
8954
  end
8946
8955
  when 58 then
8947
- # line 878 "lib/parser/lexer.rl"
8956
+ # line 889 "lib/parser/lexer.rl"
8948
8957
  begin
8949
8958
  @act = 4; end
8950
8959
  when 59 then
8951
- # line 882 "lib/parser/lexer.rl"
8960
+ # line 893 "lib/parser/lexer.rl"
8952
8961
  begin
8953
8962
  @act = 5; end
8954
8963
  when 60 then
8955
- # line 886 "lib/parser/lexer.rl"
8964
+ # line 897 "lib/parser/lexer.rl"
8956
8965
  begin
8957
8966
  @act = 6; end
8958
8967
  when 61 then
8959
- # line 878 "lib/parser/lexer.rl"
8968
+ # line 889 "lib/parser/lexer.rl"
8960
8969
  begin
8961
8970
  @te = p+1
8962
8971
  begin emit_table(KEYWORDS_BEGIN);
@@ -8969,7 +8978,7 @@ p = p - 1; begin
8969
8978
  end
8970
8979
  end
8971
8980
  when 62 then
8972
- # line 886 "lib/parser/lexer.rl"
8981
+ # line 897 "lib/parser/lexer.rl"
8973
8982
  begin
8974
8983
  @te = p+1
8975
8984
  begin emit(:tIDENTIFIER)
@@ -8982,7 +8991,7 @@ p = p - 1; begin
8982
8991
  end
8983
8992
  end
8984
8993
  when 63 then
8985
- # line 890 "lib/parser/lexer.rl"
8994
+ # line 901 "lib/parser/lexer.rl"
8986
8995
  begin
8987
8996
  @te = p+1
8988
8997
  begin p = @ts - 1
@@ -8997,7 +9006,7 @@ p = p - 1; begin
8997
9006
  end
8998
9007
  end
8999
9008
  when 64 then
9000
- # line 899 "lib/parser/lexer.rl"
9009
+ # line 910 "lib/parser/lexer.rl"
9001
9010
  begin
9002
9011
  @te = p+1
9003
9012
  begin emit_table(PUNCTUATION)
@@ -9010,7 +9019,7 @@ p = p - 1; begin
9010
9019
  end
9011
9020
  end
9012
9021
  when 65 then
9013
- # line 903 "lib/parser/lexer.rl"
9022
+ # line 914 "lib/parser/lexer.rl"
9014
9023
  begin
9015
9024
  @te = p+1
9016
9025
  begin p = p - 1; p = p - 1; begin
@@ -9022,7 +9031,7 @@ p = p - 1; begin
9022
9031
  end
9023
9032
  end
9024
9033
  when 66 then
9025
- # line 909 "lib/parser/lexer.rl"
9034
+ # line 920 "lib/parser/lexer.rl"
9026
9035
  begin
9027
9036
  @te = p+1
9028
9037
  begin
@@ -9049,7 +9058,7 @@ p = p - 1; begin
9049
9058
  end
9050
9059
  end
9051
9060
  when 67 then
9052
- # line 923 "lib/parser/lexer.rl"
9061
+ # line 934 "lib/parser/lexer.rl"
9053
9062
  begin
9054
9063
  @te = p+1
9055
9064
  begin p = p - 1; begin
@@ -9061,7 +9070,7 @@ p = p - 1; begin
9061
9070
  end
9062
9071
  end
9063
9072
  when 68 then
9064
- # line 566 "lib/parser/lexer.rl"
9073
+ # line 575 "lib/parser/lexer.rl"
9065
9074
  begin
9066
9075
  @te = p+1
9067
9076
  begin
@@ -9082,7 +9091,7 @@ p = p - 1; begin
9082
9091
  end
9083
9092
  end
9084
9093
  when 69 then
9085
- # line 878 "lib/parser/lexer.rl"
9094
+ # line 889 "lib/parser/lexer.rl"
9086
9095
  begin
9087
9096
  @te = p
9088
9097
  p = p - 1; begin emit_table(KEYWORDS_BEGIN);
@@ -9095,7 +9104,7 @@ p = p - 1; begin emit_table(KEYWORDS_BEGIN);
9095
9104
  end
9096
9105
  end
9097
9106
  when 70 then
9098
- # line 882 "lib/parser/lexer.rl"
9107
+ # line 893 "lib/parser/lexer.rl"
9099
9108
  begin
9100
9109
  @te = p
9101
9110
  p = p - 1; begin emit(:tCONSTANT)
@@ -9108,7 +9117,7 @@ p = p - 1; begin emit(:tCONSTANT)
9108
9117
  end
9109
9118
  end
9110
9119
  when 71 then
9111
- # line 886 "lib/parser/lexer.rl"
9120
+ # line 897 "lib/parser/lexer.rl"
9112
9121
  begin
9113
9122
  @te = p
9114
9123
  p = p - 1; begin emit(:tIDENTIFIER)
@@ -9121,7 +9130,7 @@ p = p - 1; begin emit(:tIDENTIFIER)
9121
9130
  end
9122
9131
  end
9123
9132
  when 72 then
9124
- # line 890 "lib/parser/lexer.rl"
9133
+ # line 901 "lib/parser/lexer.rl"
9125
9134
  begin
9126
9135
  @te = p
9127
9136
  p = p - 1; begin p = @ts - 1
@@ -9136,7 +9145,7 @@ p = p - 1; begin p = @ts - 1
9136
9145
  end
9137
9146
  end
9138
9147
  when 73 then
9139
- # line 899 "lib/parser/lexer.rl"
9148
+ # line 910 "lib/parser/lexer.rl"
9140
9149
  begin
9141
9150
  @te = p
9142
9151
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -9149,7 +9158,7 @@ p = p - 1; begin emit_table(PUNCTUATION)
9149
9158
  end
9150
9159
  end
9151
9160
  when 74 then
9152
- # line 906 "lib/parser/lexer.rl"
9161
+ # line 917 "lib/parser/lexer.rl"
9153
9162
  begin
9154
9163
  @te = p
9155
9164
  p = p - 1; begin p = p - 1; begin
@@ -9161,12 +9170,12 @@ p = p - 1; begin p = p - 1; begin
9161
9170
  end
9162
9171
  end
9163
9172
  when 75 then
9164
- # line 920 "lib/parser/lexer.rl"
9173
+ # line 931 "lib/parser/lexer.rl"
9165
9174
  begin
9166
9175
  @te = p
9167
9176
  p = p - 1; end
9168
9177
  when 76 then
9169
- # line 923 "lib/parser/lexer.rl"
9178
+ # line 934 "lib/parser/lexer.rl"
9170
9179
  begin
9171
9180
  @te = p
9172
9181
  p = p - 1; begin p = p - 1; begin
@@ -9178,7 +9187,7 @@ p = p - 1; begin p = p - 1; begin
9178
9187
  end
9179
9188
  end
9180
9189
  when 77 then
9181
- # line 899 "lib/parser/lexer.rl"
9190
+ # line 910 "lib/parser/lexer.rl"
9182
9191
  begin
9183
9192
  begin p = (( @te))-1; end
9184
9193
  begin emit_table(PUNCTUATION)
@@ -9191,7 +9200,7 @@ p = p - 1; begin p = p - 1; begin
9191
9200
  end
9192
9201
  end
9193
9202
  when 78 then
9194
- # line 923 "lib/parser/lexer.rl"
9203
+ # line 934 "lib/parser/lexer.rl"
9195
9204
  begin
9196
9205
  begin p = (( @te))-1; end
9197
9206
  begin p = p - 1; begin
@@ -9239,7 +9248,7 @@ p = p - 1; begin p = p - 1; begin
9239
9248
  end
9240
9249
  end
9241
9250
  when 80 then
9242
- # line 935 "lib/parser/lexer.rl"
9251
+ # line 946 "lib/parser/lexer.rl"
9243
9252
  begin
9244
9253
  @te = p+1
9245
9254
  begin emit(:tLABEL, tok(@ts, @te - 2), @ts, @te - 1)
@@ -9252,7 +9261,7 @@ end
9252
9261
  end
9253
9262
  end
9254
9263
  when 81 then
9255
- # line 939 "lib/parser/lexer.rl"
9264
+ # line 950 "lib/parser/lexer.rl"
9256
9265
  begin
9257
9266
  @te = p+1
9258
9267
  begin
@@ -9279,7 +9288,7 @@ end
9279
9288
  end
9280
9289
  end
9281
9290
  when 82 then
9282
- # line 953 "lib/parser/lexer.rl"
9291
+ # line 964 "lib/parser/lexer.rl"
9283
9292
  begin
9284
9293
  @te = p+1
9285
9294
  begin p = p - 1; begin
@@ -9291,7 +9300,7 @@ end
9291
9300
  end
9292
9301
  end
9293
9302
  when 83 then
9294
- # line 566 "lib/parser/lexer.rl"
9303
+ # line 575 "lib/parser/lexer.rl"
9295
9304
  begin
9296
9305
  @te = p+1
9297
9306
  begin
@@ -9312,12 +9321,12 @@ end
9312
9321
  end
9313
9322
  end
9314
9323
  when 84 then
9315
- # line 950 "lib/parser/lexer.rl"
9324
+ # line 961 "lib/parser/lexer.rl"
9316
9325
  begin
9317
9326
  @te = p
9318
9327
  p = p - 1; end
9319
9328
  when 85 then
9320
- # line 953 "lib/parser/lexer.rl"
9329
+ # line 964 "lib/parser/lexer.rl"
9321
9330
  begin
9322
9331
  @te = p
9323
9332
  p = p - 1; begin p = p - 1; begin
@@ -9329,7 +9338,7 @@ p = p - 1; begin p = p - 1; begin
9329
9338
  end
9330
9339
  end
9331
9340
  when 86 then
9332
- # line 953 "lib/parser/lexer.rl"
9341
+ # line 964 "lib/parser/lexer.rl"
9333
9342
  begin
9334
9343
  begin p = (( @te))-1; end
9335
9344
  begin p = p - 1; begin
@@ -9341,7 +9350,7 @@ p = p - 1; begin p = p - 1; begin
9341
9350
  end
9342
9351
  end
9343
9352
  when 87 then
9344
- # line 979 "lib/parser/lexer.rl"
9353
+ # line 990 "lib/parser/lexer.rl"
9345
9354
  begin
9346
9355
  @te = p+1
9347
9356
  begin emit_table(PUNCTUATION)
@@ -9354,7 +9363,7 @@ p = p - 1; begin p = p - 1; begin
9354
9363
  end
9355
9364
  end
9356
9365
  when 88 then
9357
- # line 985 "lib/parser/lexer.rl"
9366
+ # line 996 "lib/parser/lexer.rl"
9358
9367
  begin
9359
9368
  @te = p+1
9360
9369
  begin p = p - 1; begin
@@ -9366,7 +9375,7 @@ p = p - 1; begin p = p - 1; begin
9366
9375
  end
9367
9376
  end
9368
9377
  when 89 then
9369
- # line 566 "lib/parser/lexer.rl"
9378
+ # line 575 "lib/parser/lexer.rl"
9370
9379
  begin
9371
9380
  @te = p+1
9372
9381
  begin
@@ -9387,7 +9396,7 @@ p = p - 1; begin p = p - 1; begin
9387
9396
  end
9388
9397
  end
9389
9398
  when 90 then
9390
- # line 964 "lib/parser/lexer.rl"
9399
+ # line 975 "lib/parser/lexer.rl"
9391
9400
  begin
9392
9401
  @te = p
9393
9402
  p = p - 1; begin emit(:tCONSTANT)
@@ -9400,7 +9409,7 @@ p = p - 1; begin emit(:tCONSTANT)
9400
9409
  end
9401
9410
  end
9402
9411
  when 91 then
9403
- # line 968 "lib/parser/lexer.rl"
9412
+ # line 979 "lib/parser/lexer.rl"
9404
9413
  begin
9405
9414
  @te = p
9406
9415
  p = p - 1; begin emit(:tIDENTIFIER)
@@ -9413,7 +9422,7 @@ p = p - 1; begin emit(:tIDENTIFIER)
9413
9422
  end
9414
9423
  end
9415
9424
  when 92 then
9416
- # line 972 "lib/parser/lexer.rl"
9425
+ # line 983 "lib/parser/lexer.rl"
9417
9426
  begin
9418
9427
  @te = p
9419
9428
  p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
@@ -9426,7 +9435,7 @@ p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
9426
9435
  end
9427
9436
  end
9428
9437
  when 93 then
9429
- # line 979 "lib/parser/lexer.rl"
9438
+ # line 990 "lib/parser/lexer.rl"
9430
9439
  begin
9431
9440
  @te = p
9432
9441
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -9439,12 +9448,12 @@ p = p - 1; begin emit_table(PUNCTUATION)
9439
9448
  end
9440
9449
  end
9441
9450
  when 94 then
9442
- # line 982 "lib/parser/lexer.rl"
9451
+ # line 993 "lib/parser/lexer.rl"
9443
9452
  begin
9444
9453
  @te = p
9445
9454
  p = p - 1; end
9446
9455
  when 95 then
9447
- # line 985 "lib/parser/lexer.rl"
9456
+ # line 996 "lib/parser/lexer.rl"
9448
9457
  begin
9449
9458
  @te = p
9450
9459
  p = p - 1; begin p = p - 1; begin
@@ -9456,23 +9465,23 @@ p = p - 1; begin p = p - 1; begin
9456
9465
  end
9457
9466
  end
9458
9467
  when 96 then
9459
- # line 1063 "lib/parser/lexer.rl"
9468
+ # line 1074 "lib/parser/lexer.rl"
9460
9469
  begin
9461
9470
  @act = 33; end
9462
9471
  when 97 then
9463
- # line 1073 "lib/parser/lexer.rl"
9472
+ # line 1084 "lib/parser/lexer.rl"
9464
9473
  begin
9465
9474
  @act = 34; end
9466
9475
  when 98 then
9467
- # line 1112 "lib/parser/lexer.rl"
9476
+ # line 1123 "lib/parser/lexer.rl"
9468
9477
  begin
9469
9478
  @act = 39; end
9470
9479
  when 99 then
9471
- # line 1117 "lib/parser/lexer.rl"
9480
+ # line 1128 "lib/parser/lexer.rl"
9472
9481
  begin
9473
9482
  @act = 40; end
9474
9483
  when 100 then
9475
- # line 1045 "lib/parser/lexer.rl"
9484
+ # line 1056 "lib/parser/lexer.rl"
9476
9485
  begin
9477
9486
  @te = p+1
9478
9487
  begin
@@ -9488,7 +9497,7 @@ p = p - 1; begin p = p - 1; begin
9488
9497
  end
9489
9498
  end
9490
9499
  when 101 then
9491
- # line 1063 "lib/parser/lexer.rl"
9500
+ # line 1074 "lib/parser/lexer.rl"
9492
9501
  begin
9493
9502
  @te = p+1
9494
9503
  begin
@@ -9505,7 +9514,7 @@ p = p - 1; begin p = p - 1; begin
9505
9514
  end
9506
9515
  end
9507
9516
  when 102 then
9508
- # line 1084 "lib/parser/lexer.rl"
9517
+ # line 1095 "lib/parser/lexer.rl"
9509
9518
  begin
9510
9519
  @te = p+1
9511
9520
  begin p = p - 1; p = p - 1; begin
@@ -9517,7 +9526,7 @@ p = p - 1; begin p = p - 1; begin
9517
9526
  end
9518
9527
  end
9519
9528
  when 103 then
9520
- # line 1092 "lib/parser/lexer.rl"
9529
+ # line 1103 "lib/parser/lexer.rl"
9521
9530
  begin
9522
9531
  @te = p+1
9523
9532
  begin p = @ts - 1; begin
@@ -9529,7 +9538,7 @@ p = p - 1; begin p = p - 1; begin
9529
9538
  end
9530
9539
  end
9531
9540
  when 104 then
9532
- # line 1101 "lib/parser/lexer.rl"
9541
+ # line 1112 "lib/parser/lexer.rl"
9533
9542
  begin
9534
9543
  @te = p+1
9535
9544
  begin p = tm - 1; begin
@@ -9541,7 +9550,7 @@ p = p - 1; begin p = p - 1; begin
9541
9550
  end
9542
9551
  end
9543
9552
  when 105 then
9544
- # line 1112 "lib/parser/lexer.rl"
9553
+ # line 1123 "lib/parser/lexer.rl"
9545
9554
  begin
9546
9555
  @te = p+1
9547
9556
  begin
@@ -9556,7 +9565,7 @@ p = p - 1; begin p = p - 1; begin
9556
9565
  end
9557
9566
  end
9558
9567
  when 106 then
9559
- # line 1126 "lib/parser/lexer.rl"
9568
+ # line 1137 "lib/parser/lexer.rl"
9560
9569
  begin
9561
9570
  @te = p+1
9562
9571
  begin p = p - 1; begin
@@ -9568,7 +9577,7 @@ p = p - 1; begin p = p - 1; begin
9568
9577
  end
9569
9578
  end
9570
9579
  when 107 then
9571
- # line 566 "lib/parser/lexer.rl"
9580
+ # line 575 "lib/parser/lexer.rl"
9572
9581
  begin
9573
9582
  @te = p+1
9574
9583
  begin
@@ -9589,7 +9598,7 @@ p = p - 1; begin p = p - 1; begin
9589
9598
  end
9590
9599
  end
9591
9600
  when 108 then
9592
- # line 1001 "lib/parser/lexer.rl"
9601
+ # line 1012 "lib/parser/lexer.rl"
9593
9602
  begin
9594
9603
  @te = p
9595
9604
  p = p - 1; begin
@@ -9615,7 +9624,7 @@ p = p - 1; begin
9615
9624
  end
9616
9625
  end
9617
9626
  when 109 then
9618
- # line 1014 "lib/parser/lexer.rl"
9627
+ # line 1025 "lib/parser/lexer.rl"
9619
9628
  begin
9620
9629
  @te = p
9621
9630
  p = p - 1; begin emit(:tLPAREN2, '('.freeze)
@@ -9628,7 +9637,7 @@ p = p - 1; begin emit(:tLPAREN2, '('.freeze)
9628
9637
  end
9629
9638
  end
9630
9639
  when 110 then
9631
- # line 1020 "lib/parser/lexer.rl"
9640
+ # line 1031 "lib/parser/lexer.rl"
9632
9641
  begin
9633
9642
  @te = p
9634
9643
  p = p - 1; begin emit(:tLBRACK, '['.freeze, @te - 1, @te)
@@ -9641,7 +9650,7 @@ p = p - 1; begin emit(:tLBRACK, '['.freeze, @te - 1, @te)
9641
9650
  end
9642
9651
  end
9643
9652
  when 111 then
9644
- # line 1026 "lib/parser/lexer.rl"
9653
+ # line 1037 "lib/parser/lexer.rl"
9645
9654
  begin
9646
9655
  @te = p
9647
9656
  p = p - 1; begin
@@ -9663,7 +9672,7 @@ p = p - 1; begin
9663
9672
  end
9664
9673
  end
9665
9674
  when 112 then
9666
- # line 1054 "lib/parser/lexer.rl"
9675
+ # line 1065 "lib/parser/lexer.rl"
9667
9676
  begin
9668
9677
  @te = p
9669
9678
  p = p - 1; begin p = p - 1; begin
@@ -9675,7 +9684,7 @@ p = p - 1; begin p = p - 1; begin
9675
9684
  end
9676
9685
  end
9677
9686
  when 113 then
9678
- # line 1073 "lib/parser/lexer.rl"
9687
+ # line 1084 "lib/parser/lexer.rl"
9679
9688
  begin
9680
9689
  @te = p
9681
9690
  p = p - 1; begin
@@ -9693,7 +9702,7 @@ p = p - 1; begin
9693
9702
  end
9694
9703
  end
9695
9704
  when 114 then
9696
- # line 1089 "lib/parser/lexer.rl"
9705
+ # line 1100 "lib/parser/lexer.rl"
9697
9706
  begin
9698
9707
  @te = p
9699
9708
  p = p - 1; begin p = p - 1; begin
@@ -9705,7 +9714,7 @@ p = p - 1; begin p = p - 1; begin
9705
9714
  end
9706
9715
  end
9707
9716
  when 115 then
9708
- # line 1112 "lib/parser/lexer.rl"
9717
+ # line 1123 "lib/parser/lexer.rl"
9709
9718
  begin
9710
9719
  @te = p
9711
9720
  p = p - 1; begin
@@ -9720,12 +9729,12 @@ p = p - 1; begin
9720
9729
  end
9721
9730
  end
9722
9731
  when 116 then
9723
- # line 1117 "lib/parser/lexer.rl"
9732
+ # line 1128 "lib/parser/lexer.rl"
9724
9733
  begin
9725
9734
  @te = p
9726
9735
  p = p - 1; end
9727
9736
  when 117 then
9728
- # line 1120 "lib/parser/lexer.rl"
9737
+ # line 1131 "lib/parser/lexer.rl"
9729
9738
  begin
9730
9739
  @te = p
9731
9740
  p = p - 1; begin begin
@@ -9737,7 +9746,7 @@ p = p - 1; begin begin
9737
9746
  end
9738
9747
  end
9739
9748
  when 118 then
9740
- # line 1123 "lib/parser/lexer.rl"
9749
+ # line 1134 "lib/parser/lexer.rl"
9741
9750
  begin
9742
9751
  @te = p
9743
9752
  p = p - 1; begin p = p - 1; begin
@@ -9749,7 +9758,7 @@ p = p - 1; begin p = p - 1; begin
9749
9758
  end
9750
9759
  end
9751
9760
  when 119 then
9752
- # line 1126 "lib/parser/lexer.rl"
9761
+ # line 1137 "lib/parser/lexer.rl"
9753
9762
  begin
9754
9763
  @te = p
9755
9764
  p = p - 1; begin p = p - 1; begin
@@ -9761,12 +9770,12 @@ p = p - 1; begin p = p - 1; begin
9761
9770
  end
9762
9771
  end
9763
9772
  when 120 then
9764
- # line 1117 "lib/parser/lexer.rl"
9773
+ # line 1128 "lib/parser/lexer.rl"
9765
9774
  begin
9766
9775
  begin p = (( @te))-1; end
9767
9776
  end
9768
9777
  when 121 then
9769
- # line 1126 "lib/parser/lexer.rl"
9778
+ # line 1137 "lib/parser/lexer.rl"
9770
9779
  begin
9771
9780
  begin p = (( @te))-1; end
9772
9781
  begin p = p - 1; begin
@@ -9828,15 +9837,15 @@ end
9828
9837
  end
9829
9838
  end
9830
9839
  when 123 then
9831
- # line 1149 "lib/parser/lexer.rl"
9840
+ # line 1160 "lib/parser/lexer.rl"
9832
9841
  begin
9833
9842
  @act = 46; end
9834
9843
  when 124 then
9835
- # line 1162 "lib/parser/lexer.rl"
9844
+ # line 1173 "lib/parser/lexer.rl"
9836
9845
  begin
9837
9846
  @act = 47; end
9838
9847
  when 125 then
9839
- # line 1162 "lib/parser/lexer.rl"
9848
+ # line 1173 "lib/parser/lexer.rl"
9840
9849
  begin
9841
9850
  @te = p+1
9842
9851
  begin p = @ts - 1
@@ -9849,7 +9858,7 @@ end
9849
9858
  end
9850
9859
  end
9851
9860
  when 126 then
9852
- # line 566 "lib/parser/lexer.rl"
9861
+ # line 575 "lib/parser/lexer.rl"
9853
9862
  begin
9854
9863
  @te = p+1
9855
9864
  begin
@@ -9870,7 +9879,7 @@ end
9870
9879
  end
9871
9880
  end
9872
9881
  when 127 then
9873
- # line 1139 "lib/parser/lexer.rl"
9882
+ # line 1150 "lib/parser/lexer.rl"
9874
9883
  begin
9875
9884
  @te = p
9876
9885
  p = p - 1; begin
@@ -9895,7 +9904,7 @@ p = p - 1; begin
9895
9904
  end
9896
9905
  end
9897
9906
  when 128 then
9898
- # line 1162 "lib/parser/lexer.rl"
9907
+ # line 1173 "lib/parser/lexer.rl"
9899
9908
  begin
9900
9909
  @te = p
9901
9910
  p = p - 1; begin p = @ts - 1
@@ -9908,7 +9917,7 @@ p = p - 1; begin p = @ts - 1
9908
9917
  end
9909
9918
  end
9910
9919
  when 129 then
9911
- # line 1162 "lib/parser/lexer.rl"
9920
+ # line 1173 "lib/parser/lexer.rl"
9912
9921
  begin
9913
9922
  begin p = (( @te))-1; end
9914
9923
  begin p = @ts - 1
@@ -9953,7 +9962,7 @@ p = p - 1; begin p = @ts - 1
9953
9962
  end
9954
9963
  end
9955
9964
  when 131 then
9956
- # line 1198 "lib/parser/lexer.rl"
9965
+ # line 1209 "lib/parser/lexer.rl"
9957
9966
  begin
9958
9967
  @te = p+1
9959
9968
  begin emit_do(true)
@@ -9966,7 +9975,7 @@ end
9966
9975
  end
9967
9976
  end
9968
9977
  when 132 then
9969
- # line 1204 "lib/parser/lexer.rl"
9978
+ # line 1215 "lib/parser/lexer.rl"
9970
9979
  begin
9971
9980
  @te = p+1
9972
9981
  begin p = p - 1; begin
@@ -9978,7 +9987,7 @@ end
9978
9987
  end
9979
9988
  end
9980
9989
  when 133 then
9981
- # line 566 "lib/parser/lexer.rl"
9990
+ # line 575 "lib/parser/lexer.rl"
9982
9991
  begin
9983
9992
  @te = p+1
9984
9993
  begin
@@ -9999,7 +10008,7 @@ end
9999
10008
  end
10000
10009
  end
10001
10010
  when 134 then
10002
- # line 1185 "lib/parser/lexer.rl"
10011
+ # line 1196 "lib/parser/lexer.rl"
10003
10012
  begin
10004
10013
  @te = p
10005
10014
  p = p - 1; begin
@@ -10021,12 +10030,12 @@ p = p - 1; begin
10021
10030
  end
10022
10031
  end
10023
10032
  when 135 then
10024
- # line 1201 "lib/parser/lexer.rl"
10033
+ # line 1212 "lib/parser/lexer.rl"
10025
10034
  begin
10026
10035
  @te = p
10027
10036
  p = p - 1; end
10028
10037
  when 136 then
10029
- # line 1204 "lib/parser/lexer.rl"
10038
+ # line 1215 "lib/parser/lexer.rl"
10030
10039
  begin
10031
10040
  @te = p
10032
10041
  p = p - 1; begin p = p - 1; begin
@@ -10038,15 +10047,15 @@ p = p - 1; begin p = p - 1; begin
10038
10047
  end
10039
10048
  end
10040
10049
  when 137 then
10041
- # line 1216 "lib/parser/lexer.rl"
10050
+ # line 1227 "lib/parser/lexer.rl"
10042
10051
  begin
10043
10052
  @act = 54; end
10044
10053
  when 138 then
10045
- # line 1220 "lib/parser/lexer.rl"
10054
+ # line 1231 "lib/parser/lexer.rl"
10046
10055
  begin
10047
10056
  @act = 55; end
10048
10057
  when 139 then
10049
- # line 1228 "lib/parser/lexer.rl"
10058
+ # line 1239 "lib/parser/lexer.rl"
10050
10059
  begin
10051
10060
  @te = p+1
10052
10061
  begin p = p - 1; begin
@@ -10058,7 +10067,7 @@ p = p - 1; begin p = p - 1; begin
10058
10067
  end
10059
10068
  end
10060
10069
  when 140 then
10061
- # line 566 "lib/parser/lexer.rl"
10070
+ # line 575 "lib/parser/lexer.rl"
10062
10071
  begin
10063
10072
  @te = p+1
10064
10073
  begin
@@ -10079,7 +10088,7 @@ p = p - 1; begin p = p - 1; begin
10079
10088
  end
10080
10089
  end
10081
10090
  when 141 then
10082
- # line 1220 "lib/parser/lexer.rl"
10091
+ # line 1231 "lib/parser/lexer.rl"
10083
10092
  begin
10084
10093
  @te = p
10085
10094
  p = p - 1; begin p = @ts - 1; begin
@@ -10091,12 +10100,12 @@ p = p - 1; begin p = @ts - 1; begin
10091
10100
  end
10092
10101
  end
10093
10102
  when 142 then
10094
- # line 1222 "lib/parser/lexer.rl"
10103
+ # line 1233 "lib/parser/lexer.rl"
10095
10104
  begin
10096
10105
  @te = p
10097
10106
  p = p - 1; end
10098
10107
  when 143 then
10099
- # line 1225 "lib/parser/lexer.rl"
10108
+ # line 1236 "lib/parser/lexer.rl"
10100
10109
  begin
10101
10110
  @te = p
10102
10111
  p = p - 1; begin p = p - 1; begin
@@ -10108,7 +10117,7 @@ p = p - 1; begin p = p - 1; begin
10108
10117
  end
10109
10118
  end
10110
10119
  when 144 then
10111
- # line 1228 "lib/parser/lexer.rl"
10120
+ # line 1239 "lib/parser/lexer.rl"
10112
10121
  begin
10113
10122
  @te = p
10114
10123
  p = p - 1; begin p = p - 1; begin
@@ -10145,43 +10154,43 @@ p = p - 1; begin p = p - 1; begin
10145
10154
  end
10146
10155
  end
10147
10156
  when 146 then
10148
- # line 1243 "lib/parser/lexer.rl"
10157
+ # line 1254 "lib/parser/lexer.rl"
10149
10158
  begin
10150
10159
  @act = 60; end
10151
10160
  when 147 then
10152
- # line 1346 "lib/parser/lexer.rl"
10161
+ # line 1357 "lib/parser/lexer.rl"
10153
10162
  begin
10154
10163
  @act = 67; end
10155
10164
  when 148 then
10156
- # line 1434 "lib/parser/lexer.rl"
10165
+ # line 1451 "lib/parser/lexer.rl"
10157
10166
  begin
10158
10167
  @act = 76; end
10159
10168
  when 149 then
10160
- # line 1475 "lib/parser/lexer.rl"
10169
+ # line 1492 "lib/parser/lexer.rl"
10161
10170
  begin
10162
10171
  @act = 80; end
10163
10172
  when 150 then
10164
- # line 1481 "lib/parser/lexer.rl"
10173
+ # line 1498 "lib/parser/lexer.rl"
10165
10174
  begin
10166
10175
  @act = 81; end
10167
10176
  when 151 then
10168
- # line 1487 "lib/parser/lexer.rl"
10177
+ # line 1504 "lib/parser/lexer.rl"
10169
10178
  begin
10170
10179
  @act = 82; end
10171
10180
  when 152 then
10172
- # line 1578 "lib/parser/lexer.rl"
10181
+ # line 1595 "lib/parser/lexer.rl"
10173
10182
  begin
10174
10183
  @act = 86; end
10175
10184
  when 153 then
10176
- # line 831 "lib/parser/lexer.rl"
10185
+ # line 840 "lib/parser/lexer.rl"
10177
10186
  begin
10178
10187
  @act = 87; end
10179
10188
  when 154 then
10180
- # line 1624 "lib/parser/lexer.rl"
10189
+ # line 1641 "lib/parser/lexer.rl"
10181
10190
  begin
10182
10191
  @act = 91; end
10183
10192
  when 155 then
10184
- # line 1243 "lib/parser/lexer.rl"
10193
+ # line 1254 "lib/parser/lexer.rl"
10185
10194
  begin
10186
10195
  @te = p+1
10187
10196
  begin
@@ -10196,7 +10205,7 @@ end
10196
10205
  end
10197
10206
  end
10198
10207
  when 156 then
10199
- # line 1260 "lib/parser/lexer.rl"
10208
+ # line 1271 "lib/parser/lexer.rl"
10200
10209
  begin
10201
10210
  @te = p+1
10202
10211
  begin
@@ -10214,7 +10223,7 @@ end
10214
10223
  end
10215
10224
  end
10216
10225
  when 157 then
10217
- # line 1270 "lib/parser/lexer.rl"
10226
+ # line 1281 "lib/parser/lexer.rl"
10218
10227
  begin
10219
10228
  @te = p+1
10220
10229
  begin
@@ -10230,7 +10239,7 @@ end
10230
10239
  end
10231
10240
  end
10232
10241
  when 158 then
10233
- # line 1278 "lib/parser/lexer.rl"
10242
+ # line 1289 "lib/parser/lexer.rl"
10234
10243
  begin
10235
10244
  @te = p+1
10236
10245
  begin
@@ -10246,7 +10255,7 @@ end
10246
10255
  end
10247
10256
  end
10248
10257
  when 159 then
10249
- # line 1355 "lib/parser/lexer.rl"
10258
+ # line 1366 "lib/parser/lexer.rl"
10250
10259
  begin
10251
10260
  @te = p+1
10252
10261
  begin
@@ -10262,7 +10271,7 @@ end
10262
10271
  end
10263
10272
  end
10264
10273
  when 160 then
10265
- # line 1363 "lib/parser/lexer.rl"
10274
+ # line 1374 "lib/parser/lexer.rl"
10266
10275
  begin
10267
10276
  @te = p+1
10268
10277
  begin
@@ -10279,7 +10288,7 @@ end
10279
10288
  end
10280
10289
  end
10281
10290
  when 161 then
10282
- # line 1373 "lib/parser/lexer.rl"
10291
+ # line 1384 "lib/parser/lexer.rl"
10283
10292
  begin
10284
10293
  @te = p+1
10285
10294
  begin
@@ -10294,11 +10303,17 @@ end
10294
10303
  end
10295
10304
  end
10296
10305
  when 162 then
10297
- # line 1387 "lib/parser/lexer.rl"
10306
+ # line 1398 "lib/parser/lexer.rl"
10298
10307
  begin
10299
10308
  @te = p+1
10300
10309
  begin
10301
- emit(:tSYMBOL, tok(@ts + 1), @ts)
10310
+ gvar_name = tok(@ts + 1)
10311
+
10312
+ if @version >= 33 && gvar_name.start_with?('$0') && gvar_name.length > 2
10313
+ diagnostic :error, :gvar_name, { :name => gvar_name }, range(@ts + 1, @te)
10314
+ end
10315
+
10316
+ emit(:tSYMBOL, gvar_name, @ts)
10302
10317
  @cs = 516; begin
10303
10318
  p += 1
10304
10319
  _trigger_goto = true
@@ -10309,7 +10324,7 @@ end
10309
10324
  end
10310
10325
  end
10311
10326
  when 163 then
10312
- # line 1408 "lib/parser/lexer.rl"
10327
+ # line 1425 "lib/parser/lexer.rl"
10313
10328
  begin
10314
10329
  @te = p+1
10315
10330
  begin
@@ -10339,7 +10354,7 @@ end
10339
10354
  end
10340
10355
  end
10341
10356
  when 164 then
10342
- # line 1423 "lib/parser/lexer.rl"
10357
+ # line 1440 "lib/parser/lexer.rl"
10343
10358
  begin
10344
10359
  @te = p+1
10345
10360
  begin
@@ -10347,7 +10362,7 @@ end
10347
10362
  end
10348
10363
  end
10349
10364
  when 165 then
10350
- # line 1475 "lib/parser/lexer.rl"
10365
+ # line 1492 "lib/parser/lexer.rl"
10351
10366
  begin
10352
10367
  @te = p+1
10353
10368
  begin emit_table(PUNCTUATION_BEGIN)
@@ -10360,7 +10375,7 @@ end
10360
10375
  end
10361
10376
  end
10362
10377
  when 166 then
10363
- # line 1496 "lib/parser/lexer.rl"
10378
+ # line 1513 "lib/parser/lexer.rl"
10364
10379
  begin
10365
10380
  @te = p+1
10366
10381
  begin
@@ -10393,7 +10408,7 @@ end
10393
10408
  end
10394
10409
  end
10395
10410
  when 167 then
10396
- # line 1534 "lib/parser/lexer.rl"
10411
+ # line 1551 "lib/parser/lexer.rl"
10397
10412
  begin
10398
10413
  @te = p+1
10399
10414
  begin
@@ -10439,7 +10454,7 @@ end
10439
10454
  end
10440
10455
  end
10441
10456
  when 168 then
10442
- # line 1589 "lib/parser/lexer.rl"
10457
+ # line 1606 "lib/parser/lexer.rl"
10443
10458
  begin
10444
10459
  @te = p+1
10445
10460
  begin
@@ -10461,7 +10476,7 @@ end
10461
10476
  end
10462
10477
  end
10463
10478
  when 169 then
10464
- # line 1608 "lib/parser/lexer.rl"
10479
+ # line 1625 "lib/parser/lexer.rl"
10465
10480
  begin
10466
10481
  @te = p+1
10467
10482
  begin
@@ -10477,7 +10492,7 @@ end
10477
10492
  end
10478
10493
  end
10479
10494
  when 170 then
10480
- # line 1624 "lib/parser/lexer.rl"
10495
+ # line 1641 "lib/parser/lexer.rl"
10481
10496
  begin
10482
10497
  @te = p+1
10483
10498
  begin p = @ts - 1; begin
@@ -10489,7 +10504,7 @@ end
10489
10504
  end
10490
10505
  end
10491
10506
  when 171 then
10492
- # line 566 "lib/parser/lexer.rl"
10507
+ # line 575 "lib/parser/lexer.rl"
10493
10508
  begin
10494
10509
  @te = p+1
10495
10510
  begin
@@ -10510,7 +10525,7 @@ end
10510
10525
  end
10511
10526
  end
10512
10527
  when 172 then
10513
- # line 1243 "lib/parser/lexer.rl"
10528
+ # line 1254 "lib/parser/lexer.rl"
10514
10529
  begin
10515
10530
  @te = p
10516
10531
  p = p - 1; begin
@@ -10525,7 +10540,7 @@ p = p - 1; begin
10525
10540
  end
10526
10541
  end
10527
10542
  when 173 then
10528
- # line 1250 "lib/parser/lexer.rl"
10543
+ # line 1261 "lib/parser/lexer.rl"
10529
10544
  begin
10530
10545
  @te = p
10531
10546
  p = p - 1; begin emit(:tSTAR, '*'.freeze)
@@ -10538,7 +10553,7 @@ p = p - 1; begin emit(:tSTAR, '*'.freeze)
10538
10553
  end
10539
10554
  end
10540
10555
  when 174 then
10541
- # line 1285 "lib/parser/lexer.rl"
10556
+ # line 1296 "lib/parser/lexer.rl"
10542
10557
  begin
10543
10558
  @te = p
10544
10559
  p = p - 1; begin
@@ -10546,7 +10561,7 @@ p = p - 1; begin
10546
10561
  end
10547
10562
  end
10548
10563
  when 175 then
10549
- # line 1299 "lib/parser/lexer.rl"
10564
+ # line 1310 "lib/parser/lexer.rl"
10550
10565
  begin
10551
10566
  @te = p
10552
10567
  p = p - 1; begin
@@ -10592,7 +10607,7 @@ p = p - 1; begin
10592
10607
  end
10593
10608
  end
10594
10609
  when 176 then
10595
- # line 1346 "lib/parser/lexer.rl"
10610
+ # line 1357 "lib/parser/lexer.rl"
10596
10611
  begin
10597
10612
  @te = p
10598
10613
  p = p - 1; begin
@@ -10600,7 +10615,7 @@ p = p - 1; begin
10600
10615
  end
10601
10616
  end
10602
10617
  when 177 then
10603
- # line 1379 "lib/parser/lexer.rl"
10618
+ # line 1390 "lib/parser/lexer.rl"
10604
10619
  begin
10605
10620
  @te = p
10606
10621
  p = p - 1; begin
@@ -10616,11 +10631,17 @@ p = p - 1; begin
10616
10631
  end
10617
10632
  end
10618
10633
  when 178 then
10619
- # line 1387 "lib/parser/lexer.rl"
10634
+ # line 1398 "lib/parser/lexer.rl"
10620
10635
  begin
10621
10636
  @te = p
10622
10637
  p = p - 1; begin
10623
- emit(:tSYMBOL, tok(@ts + 1), @ts)
10638
+ gvar_name = tok(@ts + 1)
10639
+
10640
+ if @version >= 33 && gvar_name.start_with?('$0') && gvar_name.length > 2
10641
+ diagnostic :error, :gvar_name, { :name => gvar_name }, range(@ts + 1, @te)
10642
+ end
10643
+
10644
+ emit(:tSYMBOL, gvar_name, @ts)
10624
10645
  @cs = 516; begin
10625
10646
  p += 1
10626
10647
  _trigger_goto = true
@@ -10631,7 +10652,7 @@ p = p - 1; begin
10631
10652
  end
10632
10653
  end
10633
10654
  when 179 then
10634
- # line 1395 "lib/parser/lexer.rl"
10655
+ # line 1412 "lib/parser/lexer.rl"
10635
10656
  begin
10636
10657
  @te = p
10637
10658
  p = p - 1; begin
@@ -10647,7 +10668,7 @@ p = p - 1; begin
10647
10668
  end
10648
10669
  end
10649
10670
  when 180 then
10650
- # line 1423 "lib/parser/lexer.rl"
10671
+ # line 1440 "lib/parser/lexer.rl"
10651
10672
  begin
10652
10673
  @te = p
10653
10674
  p = p - 1; begin
@@ -10655,7 +10676,7 @@ p = p - 1; begin
10655
10676
  end
10656
10677
  end
10657
10678
  when 181 then
10658
- # line 1451 "lib/parser/lexer.rl"
10679
+ # line 1468 "lib/parser/lexer.rl"
10659
10680
  begin
10660
10681
  @te = p
10661
10682
  p = p - 1; begin
@@ -10677,7 +10698,7 @@ p = p - 1; begin
10677
10698
  end
10678
10699
  end
10679
10700
  when 182 then
10680
- # line 1465 "lib/parser/lexer.rl"
10701
+ # line 1482 "lib/parser/lexer.rl"
10681
10702
  begin
10682
10703
  @te = p
10683
10704
  p = p - 1; begin emit(:tLBRACK, '['.freeze)
@@ -10690,7 +10711,7 @@ p = p - 1; begin emit(:tLBRACK, '['.freeze)
10690
10711
  end
10691
10712
  end
10692
10713
  when 183 then
10693
- # line 1470 "lib/parser/lexer.rl"
10714
+ # line 1487 "lib/parser/lexer.rl"
10694
10715
  begin
10695
10716
  @te = p
10696
10717
  p = p - 1; begin emit(:tLPAREN, '('.freeze)
@@ -10703,7 +10724,7 @@ p = p - 1; begin emit(:tLPAREN, '('.freeze)
10703
10724
  end
10704
10725
  end
10705
10726
  when 184 then
10706
- # line 1475 "lib/parser/lexer.rl"
10727
+ # line 1492 "lib/parser/lexer.rl"
10707
10728
  begin
10708
10729
  @te = p
10709
10730
  p = p - 1; begin emit_table(PUNCTUATION_BEGIN)
@@ -10716,7 +10737,7 @@ p = p - 1; begin emit_table(PUNCTUATION_BEGIN)
10716
10737
  end
10717
10738
  end
10718
10739
  when 185 then
10719
- # line 1481 "lib/parser/lexer.rl"
10740
+ # line 1498 "lib/parser/lexer.rl"
10720
10741
  begin
10721
10742
  @te = p
10722
10743
  p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
@@ -10730,7 +10751,7 @@ p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
10730
10751
  end
10731
10752
  end
10732
10753
  when 186 then
10733
- # line 1523 "lib/parser/lexer.rl"
10754
+ # line 1540 "lib/parser/lexer.rl"
10734
10755
  begin
10735
10756
  @te = p
10736
10757
  p = p - 1; begin
@@ -10750,7 +10771,7 @@ p = p - 1; begin
10750
10771
  end
10751
10772
  end
10752
10773
  when 187 then
10753
- # line 1534 "lib/parser/lexer.rl"
10774
+ # line 1551 "lib/parser/lexer.rl"
10754
10775
  begin
10755
10776
  @te = p
10756
10777
  p = p - 1; begin
@@ -10796,7 +10817,7 @@ p = p - 1; begin
10796
10817
  end
10797
10818
  end
10798
10819
  when 188 then
10799
- # line 1578 "lib/parser/lexer.rl"
10820
+ # line 1595 "lib/parser/lexer.rl"
10800
10821
  begin
10801
10822
  @te = p
10802
10823
  p = p - 1; begin p = @ts - 1
@@ -10809,7 +10830,7 @@ p = p - 1; begin p = @ts - 1
10809
10830
  end
10810
10831
  end
10811
10832
  when 189 then
10812
- # line 831 "lib/parser/lexer.rl"
10833
+ # line 840 "lib/parser/lexer.rl"
10813
10834
  begin
10814
10835
  @te = p
10815
10836
  p = p - 1; begin
@@ -10823,6 +10844,14 @@ p = p - 1; begin
10823
10844
  break
10824
10845
  end
10825
10846
 
10847
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
10848
+ @cs = 247; begin
10849
+ p += 1
10850
+ _trigger_goto = true
10851
+ _goto_level = _out
10852
+ break
10853
+ end
10854
+
10826
10855
  else
10827
10856
  @cs = (arg_or_cmdarg(cmd_state)); begin
10828
10857
  p += 1
@@ -10835,12 +10864,12 @@ p = p - 1; begin
10835
10864
  end
10836
10865
  end
10837
10866
  when 190 then
10838
- # line 1605 "lib/parser/lexer.rl"
10867
+ # line 1622 "lib/parser/lexer.rl"
10839
10868
  begin
10840
10869
  @te = p
10841
10870
  p = p - 1; end
10842
10871
  when 191 then
10843
- # line 1608 "lib/parser/lexer.rl"
10872
+ # line 1625 "lib/parser/lexer.rl"
10844
10873
  begin
10845
10874
  @te = p
10846
10875
  p = p - 1; begin
@@ -10856,7 +10885,7 @@ p = p - 1; begin
10856
10885
  end
10857
10886
  end
10858
10887
  when 192 then
10859
- # line 1624 "lib/parser/lexer.rl"
10888
+ # line 1641 "lib/parser/lexer.rl"
10860
10889
  begin
10861
10890
  @te = p
10862
10891
  p = p - 1; begin p = @ts - 1; begin
@@ -10868,7 +10897,7 @@ p = p - 1; begin p = @ts - 1; begin
10868
10897
  end
10869
10898
  end
10870
10899
  when 193 then
10871
- # line 1285 "lib/parser/lexer.rl"
10900
+ # line 1296 "lib/parser/lexer.rl"
10872
10901
  begin
10873
10902
  begin p = (( @te))-1; end
10874
10903
  begin
@@ -10876,7 +10905,7 @@ p = p - 1; begin p = @ts - 1; begin
10876
10905
  end
10877
10906
  end
10878
10907
  when 194 then
10879
- # line 1346 "lib/parser/lexer.rl"
10908
+ # line 1357 "lib/parser/lexer.rl"
10880
10909
  begin
10881
10910
  begin p = (( @te))-1; end
10882
10911
  begin
@@ -10884,7 +10913,7 @@ p = p - 1; begin p = @ts - 1; begin
10884
10913
  end
10885
10914
  end
10886
10915
  when 195 then
10887
- # line 831 "lib/parser/lexer.rl"
10916
+ # line 840 "lib/parser/lexer.rl"
10888
10917
  begin
10889
10918
  begin p = (( @te))-1; end
10890
10919
  begin
@@ -10898,6 +10927,14 @@ p = p - 1; begin p = @ts - 1; begin
10898
10927
  break
10899
10928
  end
10900
10929
 
10930
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
10931
+ @cs = 247; begin
10932
+ p += 1
10933
+ _trigger_goto = true
10934
+ _goto_level = _out
10935
+ break
10936
+ end
10937
+
10901
10938
  else
10902
10939
  @cs = (arg_or_cmdarg(cmd_state)); begin
10903
10940
  p += 1
@@ -10910,12 +10947,12 @@ p = p - 1; begin p = @ts - 1; begin
10910
10947
  end
10911
10948
  end
10912
10949
  when 196 then
10913
- # line 1605 "lib/parser/lexer.rl"
10950
+ # line 1622 "lib/parser/lexer.rl"
10914
10951
  begin
10915
10952
  begin p = (( @te))-1; end
10916
10953
  end
10917
10954
  when 197 then
10918
- # line 1624 "lib/parser/lexer.rl"
10955
+ # line 1641 "lib/parser/lexer.rl"
10919
10956
  begin
10920
10957
  begin p = (( @te))-1; end
10921
10958
  begin p = @ts - 1; begin
@@ -11026,6 +11063,14 @@ p = p - 1; begin p = @ts - 1; begin
11026
11063
  break
11027
11064
  end
11028
11065
 
11066
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
11067
+ @cs = 247; begin
11068
+ p += 1
11069
+ _trigger_goto = true
11070
+ _goto_level = _out
11071
+ break
11072
+ end
11073
+
11029
11074
  else
11030
11075
  @cs = (arg_or_cmdarg(cmd_state)); begin
11031
11076
  p += 1
@@ -11048,7 +11093,7 @@ p = p - 1; begin p = @ts - 1; begin
11048
11093
  end
11049
11094
  end
11050
11095
  when 199 then
11051
- # line 1644 "lib/parser/lexer.rl"
11096
+ # line 1661 "lib/parser/lexer.rl"
11052
11097
  begin
11053
11098
  @te = p+1
11054
11099
  begin p = p - 1; begin
@@ -11060,7 +11105,7 @@ end
11060
11105
  end
11061
11106
  end
11062
11107
  when 200 then
11063
- # line 566 "lib/parser/lexer.rl"
11108
+ # line 575 "lib/parser/lexer.rl"
11064
11109
  begin
11065
11110
  @te = p+1
11066
11111
  begin
@@ -11081,12 +11126,12 @@ end
11081
11126
  end
11082
11127
  end
11083
11128
  when 201 then
11084
- # line 1632 "lib/parser/lexer.rl"
11129
+ # line 1649 "lib/parser/lexer.rl"
11085
11130
  begin
11086
11131
  @te = p
11087
11132
  p = p - 1; end
11088
11133
  when 202 then
11089
- # line 1635 "lib/parser/lexer.rl"
11134
+ # line 1652 "lib/parser/lexer.rl"
11090
11135
  begin
11091
11136
  @te = p
11092
11137
  p = p - 1; begin
@@ -11110,7 +11155,7 @@ p = p - 1; begin
11110
11155
  end
11111
11156
  end
11112
11157
  when 203 then
11113
- # line 1644 "lib/parser/lexer.rl"
11158
+ # line 1661 "lib/parser/lexer.rl"
11114
11159
  begin
11115
11160
  @te = p
11116
11161
  p = p - 1; begin p = p - 1; begin
@@ -11122,7 +11167,7 @@ p = p - 1; begin p = p - 1; begin
11122
11167
  end
11123
11168
  end
11124
11169
  when 204 then
11125
- # line 1654 "lib/parser/lexer.rl"
11170
+ # line 1671 "lib/parser/lexer.rl"
11126
11171
  begin
11127
11172
  @te = p+1
11128
11173
  begin p = @ts - 1
@@ -11135,7 +11180,7 @@ p = p - 1; begin p = p - 1; begin
11135
11180
  end
11136
11181
  end
11137
11182
  when 205 then
11138
- # line 1659 "lib/parser/lexer.rl"
11183
+ # line 1676 "lib/parser/lexer.rl"
11139
11184
  begin
11140
11185
  @te = p+1
11141
11186
  begin
@@ -11150,7 +11195,7 @@ p = p - 1; begin p = p - 1; begin
11150
11195
  end
11151
11196
  end
11152
11197
  when 206 then
11153
- # line 1670 "lib/parser/lexer.rl"
11198
+ # line 1687 "lib/parser/lexer.rl"
11154
11199
  begin
11155
11200
  @te = p+1
11156
11201
  begin p = p - 1; begin
@@ -11162,7 +11207,7 @@ p = p - 1; begin p = p - 1; begin
11162
11207
  end
11163
11208
  end
11164
11209
  when 207 then
11165
- # line 566 "lib/parser/lexer.rl"
11210
+ # line 575 "lib/parser/lexer.rl"
11166
11211
  begin
11167
11212
  @te = p+1
11168
11213
  begin
@@ -11183,12 +11228,12 @@ p = p - 1; begin p = p - 1; begin
11183
11228
  end
11184
11229
  end
11185
11230
  when 208 then
11186
- # line 1664 "lib/parser/lexer.rl"
11231
+ # line 1681 "lib/parser/lexer.rl"
11187
11232
  begin
11188
11233
  @te = p
11189
11234
  p = p - 1; end
11190
11235
  when 209 then
11191
- # line 1667 "lib/parser/lexer.rl"
11236
+ # line 1684 "lib/parser/lexer.rl"
11192
11237
  begin
11193
11238
  @te = p
11194
11239
  p = p - 1; begin begin
@@ -11200,7 +11245,7 @@ p = p - 1; begin begin
11200
11245
  end
11201
11246
  end
11202
11247
  when 210 then
11203
- # line 1670 "lib/parser/lexer.rl"
11248
+ # line 1687 "lib/parser/lexer.rl"
11204
11249
  begin
11205
11250
  @te = p
11206
11251
  p = p - 1; begin p = p - 1; begin
@@ -11212,7 +11257,7 @@ p = p - 1; begin p = p - 1; begin
11212
11257
  end
11213
11258
  end
11214
11259
  when 211 then
11215
- # line 1670 "lib/parser/lexer.rl"
11260
+ # line 1687 "lib/parser/lexer.rl"
11216
11261
  begin
11217
11262
  begin p = (( @te))-1; end
11218
11263
  begin p = p - 1; begin
@@ -11224,79 +11269,79 @@ p = p - 1; begin p = p - 1; begin
11224
11269
  end
11225
11270
  end
11226
11271
  when 212 then
11227
- # line 1689 "lib/parser/lexer.rl"
11272
+ # line 1706 "lib/parser/lexer.rl"
11228
11273
  begin
11229
11274
  @act = 104; end
11230
11275
  when 213 then
11231
- # line 1718 "lib/parser/lexer.rl"
11276
+ # line 1735 "lib/parser/lexer.rl"
11232
11277
  begin
11233
11278
  @act = 105; end
11234
11279
  when 214 then
11235
- # line 1722 "lib/parser/lexer.rl"
11280
+ # line 1739 "lib/parser/lexer.rl"
11236
11281
  begin
11237
11282
  @act = 106; end
11238
11283
  when 215 then
11239
- # line 1727 "lib/parser/lexer.rl"
11284
+ # line 1744 "lib/parser/lexer.rl"
11240
11285
  begin
11241
11286
  @act = 107; end
11242
11287
  when 216 then
11243
- # line 1732 "lib/parser/lexer.rl"
11288
+ # line 1749 "lib/parser/lexer.rl"
11244
11289
  begin
11245
11290
  @act = 108; end
11246
11291
  when 217 then
11247
- # line 1737 "lib/parser/lexer.rl"
11292
+ # line 1754 "lib/parser/lexer.rl"
11248
11293
  begin
11249
11294
  @act = 109; end
11250
11295
  when 218 then
11251
- # line 1741 "lib/parser/lexer.rl"
11296
+ # line 1758 "lib/parser/lexer.rl"
11252
11297
  begin
11253
11298
  @act = 110; end
11254
11299
  when 219 then
11255
- # line 1752 "lib/parser/lexer.rl"
11300
+ # line 1769 "lib/parser/lexer.rl"
11256
11301
  begin
11257
11302
  @act = 111; end
11258
11303
  when 220 then
11259
- # line 1766 "lib/parser/lexer.rl"
11304
+ # line 1783 "lib/parser/lexer.rl"
11260
11305
  begin
11261
11306
  @act = 112; end
11262
11307
  when 221 then
11263
- # line 1780 "lib/parser/lexer.rl"
11308
+ # line 1797 "lib/parser/lexer.rl"
11264
11309
  begin
11265
11310
  @act = 113; end
11266
11311
  when 222 then
11267
- # line 1798 "lib/parser/lexer.rl"
11312
+ # line 1815 "lib/parser/lexer.rl"
11268
11313
  begin
11269
11314
  @act = 115; end
11270
11315
  when 223 then
11271
- # line 1810 "lib/parser/lexer.rl"
11316
+ # line 1827 "lib/parser/lexer.rl"
11272
11317
  begin
11273
11318
  @act = 116; end
11274
11319
  when 224 then
11275
- # line 1825 "lib/parser/lexer.rl"
11320
+ # line 1842 "lib/parser/lexer.rl"
11276
11321
  begin
11277
11322
  @act = 117; end
11278
11323
  when 225 then
11279
- # line 1854 "lib/parser/lexer.rl"
11324
+ # line 1871 "lib/parser/lexer.rl"
11280
11325
  begin
11281
11326
  @act = 119; end
11282
11327
  when 226 then
11283
- # line 831 "lib/parser/lexer.rl"
11328
+ # line 840 "lib/parser/lexer.rl"
11284
11329
  begin
11285
11330
  @act = 123; end
11286
11331
  when 227 then
11287
- # line 1876 "lib/parser/lexer.rl"
11332
+ # line 1893 "lib/parser/lexer.rl"
11288
11333
  begin
11289
11334
  @act = 124; end
11290
11335
  when 228 then
11291
- # line 1902 "lib/parser/lexer.rl"
11336
+ # line 1919 "lib/parser/lexer.rl"
11292
11337
  begin
11293
11338
  @act = 126; end
11294
11339
  when 229 then
11295
- # line 1908 "lib/parser/lexer.rl"
11340
+ # line 1925 "lib/parser/lexer.rl"
11296
11341
  begin
11297
11342
  @act = 127; end
11298
11343
  when 230 then
11299
- # line 1681 "lib/parser/lexer.rl"
11344
+ # line 1698 "lib/parser/lexer.rl"
11300
11345
  begin
11301
11346
  @te = p+1
11302
11347
  begin
@@ -11313,7 +11358,7 @@ p = p - 1; begin p = p - 1; begin
11313
11358
  end
11314
11359
  end
11315
11360
  when 231 then
11316
- # line 1722 "lib/parser/lexer.rl"
11361
+ # line 1739 "lib/parser/lexer.rl"
11317
11362
  begin
11318
11363
  @te = p+1
11319
11364
  begin emit_singleton_class
@@ -11326,7 +11371,7 @@ p = p - 1; begin p = p - 1; begin
11326
11371
  end
11327
11372
  end
11328
11373
  when 232 then
11329
- # line 1843 "lib/parser/lexer.rl"
11374
+ # line 1860 "lib/parser/lexer.rl"
11330
11375
  begin
11331
11376
  @te = p+1
11332
11377
  begin
@@ -11342,7 +11387,7 @@ p = p - 1; begin p = p - 1; begin
11342
11387
  end
11343
11388
  end
11344
11389
  when 233 then
11345
- # line 1862 "lib/parser/lexer.rl"
11390
+ # line 1879 "lib/parser/lexer.rl"
11346
11391
  begin
11347
11392
  @te = p+1
11348
11393
  begin p = @ts - 1; begin
@@ -11356,7 +11401,7 @@ p = p - 1; begin p = p - 1; begin
11356
11401
  end
11357
11402
  end
11358
11403
  when 234 then
11359
- # line 1869 "lib/parser/lexer.rl"
11404
+ # line 1886 "lib/parser/lexer.rl"
11360
11405
  begin
11361
11406
  @te = p+1
11362
11407
  begin emit_table(PUNCTUATION)
@@ -11369,7 +11414,7 @@ p = p - 1; begin p = p - 1; begin
11369
11414
  end
11370
11415
  end
11371
11416
  when 235 then
11372
- # line 1893 "lib/parser/lexer.rl"
11417
+ # line 1910 "lib/parser/lexer.rl"
11373
11418
  begin
11374
11419
  @te = p+1
11375
11420
  begin
@@ -11384,7 +11429,7 @@ p = p - 1; begin p = p - 1; begin
11384
11429
  end
11385
11430
  end
11386
11431
  when 236 then
11387
- # line 1902 "lib/parser/lexer.rl"
11432
+ # line 1919 "lib/parser/lexer.rl"
11388
11433
  begin
11389
11434
  @te = p+1
11390
11435
  begin
@@ -11399,7 +11444,7 @@ p = p - 1; begin p = p - 1; begin
11399
11444
  end
11400
11445
  end
11401
11446
  when 237 then
11402
- # line 1929 "lib/parser/lexer.rl"
11447
+ # line 1946 "lib/parser/lexer.rl"
11403
11448
  begin
11404
11449
  @te = p+1
11405
11450
  begin emit(:tOP_ASGN, tok(@ts, @te - 1))
@@ -11412,7 +11457,7 @@ p = p - 1; begin p = p - 1; begin
11412
11457
  end
11413
11458
  end
11414
11459
  when 238 then
11415
- # line 1933 "lib/parser/lexer.rl"
11460
+ # line 1950 "lib/parser/lexer.rl"
11416
11461
  begin
11417
11462
  @te = p+1
11418
11463
  begin emit(:tEH, '?'.freeze)
@@ -11425,7 +11470,7 @@ p = p - 1; begin p = p - 1; begin
11425
11470
  end
11426
11471
  end
11427
11472
  when 239 then
11428
- # line 1941 "lib/parser/lexer.rl"
11473
+ # line 1958 "lib/parser/lexer.rl"
11429
11474
  begin
11430
11475
  @te = p+1
11431
11476
  begin
@@ -11445,7 +11490,7 @@ p = p - 1; begin p = p - 1; begin
11445
11490
  end
11446
11491
  end
11447
11492
  when 240 then
11448
- # line 1952 "lib/parser/lexer.rl"
11493
+ # line 1969 "lib/parser/lexer.rl"
11449
11494
  begin
11450
11495
  @te = p+1
11451
11496
  begin emit_table(PUNCTUATION)
@@ -11458,7 +11503,7 @@ p = p - 1; begin p = p - 1; begin
11458
11503
  end
11459
11504
  end
11460
11505
  when 241 then
11461
- # line 1965 "lib/parser/lexer.rl"
11506
+ # line 1982 "lib/parser/lexer.rl"
11462
11507
  begin
11463
11508
  @te = p+1
11464
11509
  begin emit(:tSEMI, ';'.freeze)
@@ -11472,7 +11517,7 @@ p = p - 1; begin p = p - 1; begin
11472
11517
  end
11473
11518
  end
11474
11519
  when 242 then
11475
- # line 1969 "lib/parser/lexer.rl"
11520
+ # line 1986 "lib/parser/lexer.rl"
11476
11521
  begin
11477
11522
  @te = p+1
11478
11523
  begin
@@ -11481,7 +11526,7 @@ p = p - 1; begin p = p - 1; begin
11481
11526
  end
11482
11527
  end
11483
11528
  when 243 then
11484
- # line 1975 "lib/parser/lexer.rl"
11529
+ # line 1992 "lib/parser/lexer.rl"
11485
11530
  begin
11486
11531
  @te = p+1
11487
11532
  begin
@@ -11489,7 +11534,7 @@ p = p - 1; begin p = p - 1; begin
11489
11534
  end
11490
11535
  end
11491
11536
  when 244 then
11492
- # line 566 "lib/parser/lexer.rl"
11537
+ # line 575 "lib/parser/lexer.rl"
11493
11538
  begin
11494
11539
  @te = p+1
11495
11540
  begin
@@ -11510,7 +11555,7 @@ p = p - 1; begin p = p - 1; begin
11510
11555
  end
11511
11556
  end
11512
11557
  when 245 then
11513
- # line 1689 "lib/parser/lexer.rl"
11558
+ # line 1706 "lib/parser/lexer.rl"
11514
11559
  begin
11515
11560
  @te = p
11516
11561
  p = p - 1; begin
@@ -11544,7 +11589,7 @@ p = p - 1; begin
11544
11589
  end
11545
11590
  end
11546
11591
  when 246 then
11547
- # line 1718 "lib/parser/lexer.rl"
11592
+ # line 1735 "lib/parser/lexer.rl"
11548
11593
  begin
11549
11594
  @te = p
11550
11595
  p = p - 1; begin emit_table(KEYWORDS)
@@ -11557,7 +11602,7 @@ p = p - 1; begin emit_table(KEYWORDS)
11557
11602
  end
11558
11603
  end
11559
11604
  when 247 then
11560
- # line 1722 "lib/parser/lexer.rl"
11605
+ # line 1739 "lib/parser/lexer.rl"
11561
11606
  begin
11562
11607
  @te = p
11563
11608
  p = p - 1; begin emit_singleton_class
@@ -11570,7 +11615,7 @@ p = p - 1; begin emit_singleton_class
11570
11615
  end
11571
11616
  end
11572
11617
  when 248 then
11573
- # line 1732 "lib/parser/lexer.rl"
11618
+ # line 1749 "lib/parser/lexer.rl"
11574
11619
  begin
11575
11620
  @te = p
11576
11621
  p = p - 1; begin emit_table(KEYWORDS)
@@ -11584,7 +11629,7 @@ p = p - 1; begin emit_table(KEYWORDS)
11584
11629
  end
11585
11630
  end
11586
11631
  when 249 then
11587
- # line 1780 "lib/parser/lexer.rl"
11632
+ # line 1797 "lib/parser/lexer.rl"
11588
11633
  begin
11589
11634
  @te = p
11590
11635
  p = p - 1; begin
@@ -11606,7 +11651,7 @@ p = p - 1; begin
11606
11651
  end
11607
11652
  end
11608
11653
  when 250 then
11609
- # line 1793 "lib/parser/lexer.rl"
11654
+ # line 1810 "lib/parser/lexer.rl"
11610
11655
  begin
11611
11656
  @te = p
11612
11657
  p = p - 1; begin
@@ -11614,7 +11659,7 @@ p = p - 1; begin
11614
11659
  end
11615
11660
  end
11616
11661
  when 251 then
11617
- # line 1825 "lib/parser/lexer.rl"
11662
+ # line 1842 "lib/parser/lexer.rl"
11618
11663
  begin
11619
11664
  @te = p
11620
11665
  p = p - 1; begin
@@ -11636,7 +11681,7 @@ p = p - 1; begin
11636
11681
  end
11637
11682
  end
11638
11683
  when 252 then
11639
- # line 1854 "lib/parser/lexer.rl"
11684
+ # line 1871 "lib/parser/lexer.rl"
11640
11685
  begin
11641
11686
  @te = p
11642
11687
  p = p - 1; begin emit(:tCONSTANT)
@@ -11649,7 +11694,7 @@ p = p - 1; begin emit(:tCONSTANT)
11649
11694
  end
11650
11695
  end
11651
11696
  when 253 then
11652
- # line 1858 "lib/parser/lexer.rl"
11697
+ # line 1875 "lib/parser/lexer.rl"
11653
11698
  begin
11654
11699
  @te = p
11655
11700
  p = p - 1; begin emit(:tCONSTANT, tok(@ts, tm), @ts, tm)
@@ -11662,7 +11707,7 @@ p = p - 1; begin emit(:tCONSTANT, tok(@ts, tm), @ts, tm)
11662
11707
  end
11663
11708
  end
11664
11709
  when 254 then
11665
- # line 1862 "lib/parser/lexer.rl"
11710
+ # line 1879 "lib/parser/lexer.rl"
11666
11711
  begin
11667
11712
  @te = p
11668
11713
  p = p - 1; begin p = @ts - 1; begin
@@ -11676,7 +11721,7 @@ p = p - 1; begin p = @ts - 1; begin
11676
11721
  end
11677
11722
  end
11678
11723
  when 255 then
11679
- # line 1869 "lib/parser/lexer.rl"
11724
+ # line 1886 "lib/parser/lexer.rl"
11680
11725
  begin
11681
11726
  @te = p
11682
11727
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -11689,7 +11734,7 @@ p = p - 1; begin emit_table(PUNCTUATION)
11689
11734
  end
11690
11735
  end
11691
11736
  when 256 then
11692
- # line 831 "lib/parser/lexer.rl"
11737
+ # line 840 "lib/parser/lexer.rl"
11693
11738
  begin
11694
11739
  @te = p
11695
11740
  p = p - 1; begin
@@ -11703,6 +11748,14 @@ p = p - 1; begin
11703
11748
  break
11704
11749
  end
11705
11750
 
11751
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
11752
+ @cs = 247; begin
11753
+ p += 1
11754
+ _trigger_goto = true
11755
+ _goto_level = _out
11756
+ break
11757
+ end
11758
+
11706
11759
  else
11707
11760
  @cs = (arg_or_cmdarg(cmd_state)); begin
11708
11761
  p += 1
@@ -11715,7 +11768,7 @@ p = p - 1; begin
11715
11768
  end
11716
11769
  end
11717
11770
  when 257 then
11718
- # line 1876 "lib/parser/lexer.rl"
11771
+ # line 1893 "lib/parser/lexer.rl"
11719
11772
  begin
11720
11773
  @te = p
11721
11774
  p = p - 1; begin
@@ -11737,7 +11790,7 @@ p = p - 1; begin
11737
11790
  end
11738
11791
  end
11739
11792
  when 258 then
11740
- # line 1893 "lib/parser/lexer.rl"
11793
+ # line 1910 "lib/parser/lexer.rl"
11741
11794
  begin
11742
11795
  @te = p
11743
11796
  p = p - 1; begin
@@ -11752,7 +11805,7 @@ p = p - 1; begin
11752
11805
  end
11753
11806
  end
11754
11807
  when 259 then
11755
- # line 1902 "lib/parser/lexer.rl"
11808
+ # line 1919 "lib/parser/lexer.rl"
11756
11809
  begin
11757
11810
  @te = p
11758
11811
  p = p - 1; begin
@@ -11767,7 +11820,7 @@ p = p - 1; begin
11767
11820
  end
11768
11821
  end
11769
11822
  when 260 then
11770
- # line 1908 "lib/parser/lexer.rl"
11823
+ # line 1925 "lib/parser/lexer.rl"
11771
11824
  begin
11772
11825
  @te = p
11773
11826
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -11780,7 +11833,7 @@ p = p - 1; begin emit_table(PUNCTUATION)
11780
11833
  end
11781
11834
  end
11782
11835
  when 261 then
11783
- # line 1912 "lib/parser/lexer.rl"
11836
+ # line 1929 "lib/parser/lexer.rl"
11784
11837
  begin
11785
11838
  @te = p
11786
11839
  p = p - 1; begin
@@ -11806,7 +11859,7 @@ p = p - 1; begin
11806
11859
  end
11807
11860
  end
11808
11861
  when 262 then
11809
- # line 1937 "lib/parser/lexer.rl"
11862
+ # line 1954 "lib/parser/lexer.rl"
11810
11863
  begin
11811
11864
  @te = p
11812
11865
  p = p - 1; begin emit(:tLBRACK2, '['.freeze)
@@ -11819,7 +11872,7 @@ p = p - 1; begin emit(:tLBRACK2, '['.freeze)
11819
11872
  end
11820
11873
  end
11821
11874
  when 263 then
11822
- # line 1952 "lib/parser/lexer.rl"
11875
+ # line 1969 "lib/parser/lexer.rl"
11823
11876
  begin
11824
11877
  @te = p
11825
11878
  p = p - 1; begin emit_table(PUNCTUATION)
@@ -11832,12 +11885,12 @@ p = p - 1; begin emit_table(PUNCTUATION)
11832
11885
  end
11833
11886
  end
11834
11887
  when 264 then
11835
- # line 1959 "lib/parser/lexer.rl"
11888
+ # line 1976 "lib/parser/lexer.rl"
11836
11889
  begin
11837
11890
  @te = p
11838
11891
  p = p - 1; end
11839
11892
  when 265 then
11840
- # line 1962 "lib/parser/lexer.rl"
11893
+ # line 1979 "lib/parser/lexer.rl"
11841
11894
  begin
11842
11895
  @te = p
11843
11896
  p = p - 1; begin begin
@@ -11849,7 +11902,7 @@ p = p - 1; begin begin
11849
11902
  end
11850
11903
  end
11851
11904
  when 266 then
11852
- # line 1975 "lib/parser/lexer.rl"
11905
+ # line 1992 "lib/parser/lexer.rl"
11853
11906
  begin
11854
11907
  @te = p
11855
11908
  p = p - 1; begin
@@ -11857,7 +11910,7 @@ p = p - 1; begin
11857
11910
  end
11858
11911
  end
11859
11912
  when 267 then
11860
- # line 1780 "lib/parser/lexer.rl"
11913
+ # line 1797 "lib/parser/lexer.rl"
11861
11914
  begin
11862
11915
  begin p = (( @te))-1; end
11863
11916
  begin
@@ -11879,7 +11932,7 @@ p = p - 1; begin
11879
11932
  end
11880
11933
  end
11881
11934
  when 268 then
11882
- # line 1793 "lib/parser/lexer.rl"
11935
+ # line 1810 "lib/parser/lexer.rl"
11883
11936
  begin
11884
11937
  begin p = (( @te))-1; end
11885
11938
  begin
@@ -11887,7 +11940,7 @@ p = p - 1; begin
11887
11940
  end
11888
11941
  end
11889
11942
  when 269 then
11890
- # line 1825 "lib/parser/lexer.rl"
11943
+ # line 1842 "lib/parser/lexer.rl"
11891
11944
  begin
11892
11945
  begin p = (( @te))-1; end
11893
11946
  begin
@@ -11909,7 +11962,7 @@ p = p - 1; begin
11909
11962
  end
11910
11963
  end
11911
11964
  when 270 then
11912
- # line 1975 "lib/parser/lexer.rl"
11965
+ # line 1992 "lib/parser/lexer.rl"
11913
11966
  begin
11914
11967
  begin p = (( @te))-1; end
11915
11968
  begin
@@ -12152,6 +12205,14 @@ p = p - 1; begin
12152
12205
  break
12153
12206
  end
12154
12207
 
12208
+ elsif @version >= 32 && tok =~ /\A_[1-9]\z/
12209
+ @cs = 247; begin
12210
+ p += 1
12211
+ _trigger_goto = true
12212
+ _goto_level = _out
12213
+ break
12214
+ end
12215
+
12155
12216
  else
12156
12217
  @cs = (arg_or_cmdarg(cmd_state)); begin
12157
12218
  p += 1
@@ -12206,15 +12267,15 @@ p = p - 1; begin
12206
12267
  end
12207
12268
  end
12208
12269
  when 272 then
12209
- # line 1991 "lib/parser/lexer.rl"
12270
+ # line 2008 "lib/parser/lexer.rl"
12210
12271
  begin
12211
12272
  @act = 140; end
12212
12273
  when 273 then
12213
- # line 2030 "lib/parser/lexer.rl"
12274
+ # line 2047 "lib/parser/lexer.rl"
12214
12275
  begin
12215
12276
  @act = 144; end
12216
12277
  when 274 then
12217
- # line 2016 "lib/parser/lexer.rl"
12278
+ # line 2033 "lib/parser/lexer.rl"
12218
12279
  begin
12219
12280
  @te = p+1
12220
12281
  begin
@@ -12240,7 +12301,7 @@ end
12240
12301
  end
12241
12302
  end
12242
12303
  when 275 then
12243
- # line 2027 "lib/parser/lexer.rl"
12304
+ # line 2044 "lib/parser/lexer.rl"
12244
12305
  begin
12245
12306
  @te = p+1
12246
12307
  begin p = tm - 1; begin
@@ -12252,7 +12313,7 @@ end
12252
12313
  end
12253
12314
  end
12254
12315
  when 276 then
12255
- # line 2030 "lib/parser/lexer.rl"
12316
+ # line 2047 "lib/parser/lexer.rl"
12256
12317
  begin
12257
12318
  @te = p+1
12258
12319
  begin emit(:tNL, nil, @newline_s, @newline_s + 1)
@@ -12265,7 +12326,7 @@ end
12265
12326
  end
12266
12327
  end
12267
12328
  when 277 then
12268
- # line 1991 "lib/parser/lexer.rl"
12329
+ # line 2008 "lib/parser/lexer.rl"
12269
12330
  begin
12270
12331
  @te = p
12271
12332
  p = p - 1; begin
@@ -12288,7 +12349,7 @@ p = p - 1; begin
12288
12349
  end
12289
12350
  end
12290
12351
  when 278 then
12291
- # line 2005 "lib/parser/lexer.rl"
12352
+ # line 2022 "lib/parser/lexer.rl"
12292
12353
  begin
12293
12354
  @te = p
12294
12355
  p = p - 1; begin
@@ -12314,7 +12375,7 @@ p = p - 1; begin
12314
12375
  end
12315
12376
  end
12316
12377
  when 279 then
12317
- # line 2027 "lib/parser/lexer.rl"
12378
+ # line 2044 "lib/parser/lexer.rl"
12318
12379
  begin
12319
12380
  @te = p
12320
12381
  p = p - 1; begin p = tm - 1; begin
@@ -12326,7 +12387,7 @@ p = p - 1; begin p = tm - 1; begin
12326
12387
  end
12327
12388
  end
12328
12389
  when 280 then
12329
- # line 2030 "lib/parser/lexer.rl"
12390
+ # line 2047 "lib/parser/lexer.rl"
12330
12391
  begin
12331
12392
  @te = p
12332
12393
  p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
@@ -12339,7 +12400,7 @@ p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
12339
12400
  end
12340
12401
  end
12341
12402
  when 281 then
12342
- # line 1991 "lib/parser/lexer.rl"
12403
+ # line 2008 "lib/parser/lexer.rl"
12343
12404
  begin
12344
12405
  begin p = (( @te))-1; end
12345
12406
  begin
@@ -12362,7 +12423,7 @@ p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
12362
12423
  end
12363
12424
  end
12364
12425
  when 282 then
12365
- # line 2030 "lib/parser/lexer.rl"
12426
+ # line 2047 "lib/parser/lexer.rl"
12366
12427
  begin
12367
12428
  begin p = (( @te))-1; end
12368
12429
  begin emit(:tNL, nil, @newline_s, @newline_s + 1)
@@ -12411,7 +12472,7 @@ p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
12411
12472
  end
12412
12473
  end
12413
12474
  when 284 then
12414
- # line 2040 "lib/parser/lexer.rl"
12475
+ # line 2057 "lib/parser/lexer.rl"
12415
12476
  begin
12416
12477
  @te = p+1
12417
12478
  begin
@@ -12426,12 +12487,12 @@ end
12426
12487
  end
12427
12488
  end
12428
12489
  when 285 then
12429
- # line 2045 "lib/parser/lexer.rl"
12490
+ # line 2062 "lib/parser/lexer.rl"
12430
12491
  begin
12431
12492
  @te = p+1
12432
12493
  end
12433
12494
  when 286 then
12434
- # line 2040 "lib/parser/lexer.rl"
12495
+ # line 2057 "lib/parser/lexer.rl"
12435
12496
  begin
12436
12497
  @te = p
12437
12498
  p = p - 1; begin
@@ -12446,7 +12507,7 @@ p = p - 1; begin
12446
12507
  end
12447
12508
  end
12448
12509
  when 287 then
12449
- # line 2048 "lib/parser/lexer.rl"
12510
+ # line 2065 "lib/parser/lexer.rl"
12450
12511
  begin
12451
12512
  @te = p
12452
12513
  p = p - 1; begin
@@ -12455,7 +12516,7 @@ p = p - 1; begin
12455
12516
  end
12456
12517
  end
12457
12518
  when 288 then
12458
- # line 2058 "lib/parser/lexer.rl"
12519
+ # line 2075 "lib/parser/lexer.rl"
12459
12520
  begin
12460
12521
  @te = p+1
12461
12522
  begin @eq_begin_s = @ts
@@ -12468,13 +12529,13 @@ p = p - 1; begin
12468
12529
  end
12469
12530
  end
12470
12531
  when 289 then
12471
- # line 2062 "lib/parser/lexer.rl"
12532
+ # line 2079 "lib/parser/lexer.rl"
12472
12533
  begin
12473
12534
  @te = p+1
12474
12535
  begin p = pe - 3 end
12475
12536
  end
12476
12537
  when 290 then
12477
- # line 2065 "lib/parser/lexer.rl"
12538
+ # line 2082 "lib/parser/lexer.rl"
12478
12539
  begin
12479
12540
  @te = p+1
12480
12541
  begin cmd_state = true; p = p - 1; begin
@@ -12486,7 +12547,7 @@ p = p - 1; begin
12486
12547
  end
12487
12548
  end
12488
12549
  when 291 then
12489
- # line 566 "lib/parser/lexer.rl"
12550
+ # line 575 "lib/parser/lexer.rl"
12490
12551
  begin
12491
12552
  @te = p+1
12492
12553
  begin
@@ -12507,12 +12568,12 @@ p = p - 1; begin
12507
12568
  end
12508
12569
  end
12509
12570
  when 292 then
12510
- # line 2055 "lib/parser/lexer.rl"
12571
+ # line 2072 "lib/parser/lexer.rl"
12511
12572
  begin
12512
12573
  @te = p
12513
12574
  p = p - 1; end
12514
12575
  when 293 then
12515
- # line 2058 "lib/parser/lexer.rl"
12576
+ # line 2075 "lib/parser/lexer.rl"
12516
12577
  begin
12517
12578
  @te = p
12518
12579
  p = p - 1; begin @eq_begin_s = @ts
@@ -12525,7 +12586,7 @@ p = p - 1; begin @eq_begin_s = @ts
12525
12586
  end
12526
12587
  end
12527
12588
  when 294 then
12528
- # line 2065 "lib/parser/lexer.rl"
12589
+ # line 2082 "lib/parser/lexer.rl"
12529
12590
  begin
12530
12591
  @te = p
12531
12592
  p = p - 1; begin cmd_state = true; p = p - 1; begin
@@ -12537,7 +12598,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
12537
12598
  end
12538
12599
  end
12539
12600
  when 295 then
12540
- # line 2065 "lib/parser/lexer.rl"
12601
+ # line 2082 "lib/parser/lexer.rl"
12541
12602
  begin
12542
12603
  begin p = (( @te))-1; end
12543
12604
  begin cmd_state = true; p = p - 1; begin
@@ -12549,7 +12610,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
12549
12610
  end
12550
12611
  end
12551
12612
  when 296 then
12552
- # line 2072 "lib/parser/lexer.rl"
12613
+ # line 2089 "lib/parser/lexer.rl"
12553
12614
  begin
12554
12615
  @te = p+1
12555
12616
  begin
@@ -12566,7 +12627,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
12566
12627
 
12567
12628
  end
12568
12629
  end
12569
- # line 12569 "lib/parser/lexer-F0.rb"
12630
+ # line 12630 "lib/parser/lexer-F0.rb"
12570
12631
  end # action switch
12571
12632
  end
12572
12633
  end
@@ -12586,7 +12647,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
12586
12647
  # line 1 "NONE"
12587
12648
  begin
12588
12649
  @ts = nil; end
12589
- # line 12589 "lib/parser/lexer-F0.rb"
12650
+ # line 12650 "lib/parser/lexer-F0.rb"
12590
12651
  end # to state action switch
12591
12652
  end
12592
12653
  if _trigger_goto
@@ -12617,7 +12678,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
12617
12678
  end
12618
12679
  end
12619
12680
 
12620
- # line 281 "lib/parser/lexer.rl"
12681
+ # line 290 "lib/parser/lexer.rl"
12621
12682
  # %
12622
12683
 
12623
12684
  # Ragel creates a local variable called `testEof` but it doesn't use
@@ -12864,7 +12925,7 @@ p = p - 1; begin cmd_state = true; p = p - 1; begin
12864
12925
  end
12865
12926
 
12866
12927
 
12867
- # line 2081 "lib/parser/lexer.rl"
12928
+ # line 2098 "lib/parser/lexer.rl"
12868
12929
 
12869
12930
  # %
12870
12931
  end