@@ -831,15 +831,14 @@ module.exports = grammar({
831
831
832
832
// Section - Expressions
833
833
834
- _expression : $ => choice (
834
+ _expression_except_range : $ => choice (
835
835
$ . unary_expression ,
836
836
$ . reference_expression ,
837
837
$ . try_expression ,
838
838
$ . binary_expression ,
839
839
$ . assignment_expression ,
840
840
$ . compound_assignment_expr ,
841
841
$ . type_cast_expression ,
842
- $ . range_expression ,
843
842
$ . call_expression ,
844
843
$ . return_expression ,
845
844
$ . yield_expression ,
@@ -856,14 +855,19 @@ module.exports = grammar({
856
855
$ . tuple_expression ,
857
856
prec ( 1 , $ . macro_invocation ) ,
858
857
$ . unit_expression ,
859
- $ . _expression_ending_with_block ,
860
858
$ . break_expression ,
861
859
$ . continue_expression ,
862
860
$ . index_expression ,
863
861
$ . metavariable ,
864
862
$ . closure_expression ,
865
863
$ . parenthesized_expression ,
866
- $ . struct_expression
864
+ $ . struct_expression ,
865
+ $ . _expression_ending_with_block ,
866
+ ) ,
867
+
868
+ _expression : $ => choice (
869
+ $ . _expression_except_range ,
870
+ $ . range_expression ,
867
871
) ,
868
872
869
873
_expression_ending_with_block : $ => choice (
@@ -921,10 +925,7 @@ module.exports = grammar({
921
925
) ,
922
926
923
927
range_expression : $ => prec . left ( PREC . range , choice (
924
- prec . left (
925
- PREC . range + 1 ,
926
- seq ( $ . _expression , choice ( '..' , '...' , '..=' ) , $ . _expression )
927
- ) ,
928
+ seq ( $ . _expression , choice ( '..' , '...' , '..=' ) , $ . _expression ) ,
928
929
seq ( $ . _expression , '..' ) ,
929
930
seq ( '..' , $ . _expression ) ,
930
931
'..'
@@ -995,7 +996,7 @@ module.exports = grammar({
995
996
) ,
996
997
997
998
call_expression : $ => prec ( PREC . call , seq (
998
- field ( 'function' , $ . _expression ) ,
999
+ field ( 'function' , $ . _expression_except_range ) ,
999
1000
field ( 'arguments' , $ . arguments )
1000
1001
) ) ,
1001
1002
0 commit comments