@@ -75,6 +75,10 @@ def space?
75
75
@scanner . check ( /\s / )
76
76
end
77
77
78
+ def set_arg_state
79
+ @lex_state = after_operator? ? :expr_arg : :expr_beg
80
+ end
81
+
78
82
def scan ( regexp )
79
83
@scanner . scan regexp
80
84
end
@@ -531,8 +535,7 @@ def yylex
531
535
return :tOP_ASGN , '**'
532
536
end
533
537
534
- @lex_state = after_operator? ? :expr_arg : :expr_beg
535
-
538
+ self . set_arg_state
536
539
return :tPOW , '**'
537
540
538
541
else
@@ -548,8 +551,7 @@ def yylex
548
551
end
549
552
550
553
if scan ( /\* / )
551
- @lex_state = after_operator? ? :expr_arg : :expr_beg
552
-
554
+ self . set_arg_state
553
555
return :tPOW , '**'
554
556
end
555
557
@@ -620,7 +622,7 @@ def yylex
620
622
end
621
623
end
622
624
623
- @lex_state = after_operator? ? :expr_arg : :expr_beg
625
+ self . set_arg_state
624
626
625
627
if scan ( /\= / )
626
628
if scan ( /\= / )
@@ -675,7 +677,7 @@ def yylex
675
677
result = :tAMPER2
676
678
end
677
679
678
- @lex_state = after_operator? ? :expr_arg : :expr_beg
680
+ self . set_arg_state
679
681
return result , '&'
680
682
681
683
elsif scan ( /\| / )
@@ -691,7 +693,7 @@ def yylex
691
693
return :tOP_ASGN , '|'
692
694
end
693
695
694
- @lex_state = after_operator? ? :expr_arg : :expr_beg
696
+ self . set_arg_state
695
697
return :tPIPE , '|'
696
698
697
699
elsif scan ( /\% [QqWwixr]/ )
@@ -761,7 +763,7 @@ def yylex
761
763
end
762
764
end
763
765
764
- @lex_state = after_operator? ? :expr_arg : :expr_beg
766
+ self . set_arg_state
765
767
766
768
return :tPERCENT , '%'
767
769
@@ -880,8 +882,7 @@ def yylex
880
882
@lex_state = :expr_beg
881
883
return :tOP_ASGN , '^'
882
884
elsif scan ( /\^ / )
883
- @lex_state = after_operator? ? :expr_arg : :expr_beg
884
-
885
+ self . set_arg_state
885
886
return :tCARET , scanner . matched
886
887
887
888
elsif check ( /\< / )
@@ -915,27 +916,27 @@ def yylex
915
916
916
917
return :tCMP , '<=>'
917
918
elsif scan ( /\< \= / )
918
- @lex_state = after_operator? ? :expr_arg : :expr_beg
919
+ self . set_arg_state
919
920
return :tLEQ , '<='
920
921
921
922
elsif scan ( /\< / )
922
- @lex_state = after_operator? ? :expr_arg : :expr_beg
923
+ self . set_arg_state
923
924
return :tLT , '<'
924
925
end
925
926
926
927
elsif check ( /\> / )
927
928
if scan ( /\> \> \= / )
928
929
return :tOP_ASGN , '>>'
929
930
elsif scan ( /\> \> / )
930
- @lex_state = after_operator? ? :expr_arg : :expr_beg
931
+ self . set_arg_state
931
932
return :tRSHFT , '>>'
932
933
933
934
elsif scan ( /\> \= / )
934
- @lex_state = after_operator? ? :expr_arg : :expr_beg
935
+ self . set_arg_state
935
936
return :tGEQ , scanner . matched
936
937
937
938
elsif scan ( /\> / )
938
- @lex_state = after_operator? ? :expr_arg : :expr_beg
939
+ self . set_arg_state
939
940
return :tGT , '>'
940
941
end
941
942
@@ -990,7 +991,7 @@ def yylex
990
991
return :tEH , scanner . matched
991
992
992
993
elsif scan ( /\~ / )
993
- @lex_state = after_operator? ? :expr_arg : :expr_beg
994
+ self . set_arg_state
994
995
return :tTILDE , '~'
995
996
996
997
elsif check ( /\$ / )
0 commit comments