@@ -531,11 +531,7 @@ def yylex
531
531
return :tOP_ASGN , '**'
532
532
end
533
533
534
- if @lex_state == :expr_fname or @lex_state == :expr_dot
535
- @lex_state = :expr_arg
536
- else
537
- @lex_state = :expr_beg
538
- end
534
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
539
535
540
536
return :tPOW , '**'
541
537
@@ -552,11 +548,7 @@ def yylex
552
548
end
553
549
554
550
if scan ( /\* / )
555
- if after_operator?
556
- @lex_state = :expr_arg
557
- else
558
- @lex_state = :expr_beg
559
- end
551
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
560
552
561
553
return :tPOW , '**'
562
554
end
@@ -566,7 +558,8 @@ def yylex
566
558
return :tOP_ASGN , '*'
567
559
else
568
560
result = '*'
569
- if @lex_state == :expr_fname or @lex_state == :expr_dot
561
+
562
+ if after_operator?
570
563
@lex_state = :expr_arg
571
564
return :tSTAR2 , result
572
565
elsif @space_seen && check ( /\S / )
@@ -627,11 +620,7 @@ def yylex
627
620
end
628
621
end
629
622
630
- @lex_state = if after_operator?
631
- :expr_arg
632
- else
633
- :expr_beg
634
- end
623
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
635
624
636
625
if scan ( /\= / )
637
626
if scan ( /\= / )
@@ -702,7 +691,7 @@ def yylex
702
691
return :tOP_ASGN , '|'
703
692
end
704
693
705
- @lex_state = after_operator? ( ) ? :expr_arg : :expr_beg
694
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
706
695
return :tPIPE , '|'
707
696
708
697
elsif scan ( /\% [QqWwixr]/ )
@@ -740,15 +729,15 @@ def yylex
740
729
end
741
730
742
731
elsif scan ( /\/ / )
743
- if [ :expr_beg , :expr_mid ] . include? @lex_state
732
+ if beg?
744
733
self . strterm = new_strterm ( :regexp , '/' , '/' )
745
734
return :tREGEXP_BEG , scanner . matched
746
735
elsif scan ( /\= / )
747
736
@lex_state = :expr_beg
748
737
return :tOP_ASGN , '/'
749
- elsif @lex_state == :expr_fname or @lex_state == :expr_dot
738
+ elsif after_operator?
750
739
@lex_state = :expr_arg
751
- elsif @lex_state == :expr_cmdarg || @lex_state == :expr_arg
740
+ elsif arg?
752
741
if !check ( /\s / ) && @space_seen
753
742
self . strterm = new_strterm ( :regexp , '/' , '/' )
754
743
return :tREGEXP_BEG , scanner . matched
@@ -786,9 +775,9 @@ def yylex
786
775
787
776
elsif scan ( /\( / )
788
777
result = scanner . matched
789
- if [ :expr_beg , :expr_mid ] . include? @lex_state
778
+ if beg?
790
779
result = :tLPAREN
791
- elsif @space_seen && [ :expr_arg , :expr_cmdarg ] . include? ( @lex_state )
780
+ elsif @space_seen && arg?
792
781
result = :tLPAREN_ARG
793
782
else
794
783
result = :tLPAREN2
@@ -809,7 +798,7 @@ def yylex
809
798
elsif scan ( /\[ / )
810
799
result = scanner . matched
811
800
812
- if [ :expr_fname , :expr_dot ] . include? @lex_state
801
+ if after_operator?
813
802
@lex_state = :expr_arg
814
803
if scan ( /\] =/ )
815
804
return :tASET , '[]='
@@ -818,7 +807,7 @@ def yylex
818
807
else
819
808
raise "Unexpected '[' token"
820
809
end
821
- elsif [ :expr_beg , :expr_mid ] . include? ( @lex_state ) || @space_seen
810
+ elsif beg? || @space_seen
822
811
@lex_state = :expr_beg
823
812
cond_push 0
824
813
cmdarg_push 0
@@ -856,7 +845,7 @@ def yylex
856
845
return :tDOT , scanner . matched
857
846
858
847
elsif scan ( /\: \: / )
859
- if [ :expr_beg , :expr_mid , :expr_class ] . include? @lex_state
848
+ if beg?
860
849
@lex_state = :expr_beg
861
850
return :tCOLON3 , scanner . matched
862
851
elsif @space_seen && @lex_state == :expr_arg
@@ -891,7 +880,7 @@ def yylex
891
880
@lex_state = :expr_beg
892
881
return :tOP_ASGN , '^'
893
882
elsif scan ( /\^ / )
894
- if @lex_state == :expr_fname or @lex_state == :expr_dot
883
+ if after_operator?
895
884
@lex_state = :expr_arg
896
885
return :tCARET , scanner . matched
897
886
end
@@ -904,10 +893,10 @@ def yylex
904
893
@lex_state = :expr_beg
905
894
return :tOP_ASGN , '<<'
906
895
elsif scan ( /\< \< / )
907
- if @lex_state == :expr_fname or @lex_state == :expr_dot
896
+ if after_operator?
908
897
@lex_state = :expr_arg
909
898
return :tLSHFT , '<<'
910
- elsif ![ :expr_dot , :expr_class ] . include? ( @lex_state ) && !end? && ( !arg? || @space_seen )
899
+ elsif !after_operator? && !end? && ( !arg? || @space_seen )
911
900
if token = heredoc_identifier
912
901
return token
913
902
end
@@ -930,44 +919,27 @@ def yylex
930
919
931
920
return :tCMP , '<=>'
932
921
elsif scan ( /\< \= / )
933
- if @lex_state == :expr_fname or @lex_state == :expr_dot
934
- @lex_state = :expr_arg
935
- else
936
- @lex_state = :expr_beg
937
- end
922
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
938
923
return :tLEQ , '<='
924
+
939
925
elsif scan ( /\< / )
940
- if @lex_state == :expr_fname or @lex_state == :expr_dot
941
- @lex_state = :expr_arg
942
- else
943
- @lex_state = :expr_beg
944
- end
926
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
945
927
return :tLT , '<'
946
928
end
947
929
948
930
elsif check ( /\> / )
949
931
if scan ( /\> \> \= / )
950
932
return :tOP_ASGN , '>>'
951
933
elsif scan ( /\> \> / )
952
- if @lex_state == :expr_fname or @lex_state == :expr_dot
953
- @lex_state = :expr_arg
954
- else
955
- @lex_state = :expr_beg
956
- end
934
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
957
935
return :tRSHFT , '>>'
936
+
958
937
elsif scan ( /\> \= / )
959
- if @lex_state == :expr_fname or @lex_state == :expr_dot
960
- @lex_state = :expr_end
961
- else
962
- @lex_state = :expr_beg
963
- end
938
+ @lex_state = after_operator? ? :expr_end : :expr_beg
964
939
return :tGEQ , scanner . matched
940
+
965
941
elsif scan ( /\> / )
966
- if @lex_state == :expr_fname or @lex_state == :expr_dot
967
- @lex_state = :expr_arg
968
- else
969
- @lex_state = :expr_beg
970
- end
942
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
971
943
return :tGT , '>'
972
944
end
973
945
@@ -999,11 +971,9 @@ def yylex
999
971
return [ :tOP_ASGN , matched ]
1000
972
end
1001
973
1002
- if arg?
1003
- if !space? && @space_seen
1004
- @lex_state = :expr_mid
1005
- return [ utype , matched ]
1006
- end
974
+ if spcarg?
975
+ @lex_state = :expr_mid
976
+ return [ utype , matched ]
1007
977
end
1008
978
1009
979
@lex_state = :expr_beg
0 commit comments