@@ -59,8 +59,7 @@ module.exports = grammar({
5959 $ . empty_statement ,
6060 $ . variable_assignment ,
6161 $ . local_variable_declaration ,
62- // conflict: $.statement and $.prefix_expression
63- prec ( 1 , $ . function_call ) ,
62+ $ . function_call ,
6463 $ . label_statement ,
6564 $ . goto_statement ,
6665 $ . break_statement ,
@@ -183,8 +182,7 @@ module.exports = grammar({
183182 $ . string ,
184183 $ . vararg_expression ,
185184 $ . function_definition ,
186- // conflict: $.expression and $.function_call
187- prec ( 1 , $ . prefix_expression ) ,
185+ $ . prefix_expression ,
188186 $ . table ,
189187 $ . unary_expression ,
190188 $ . binary_expression ,
@@ -266,10 +264,11 @@ module.exports = grammar({
266264
267265 prefix_expression : ( $ ) =>
268266 choice ( $ . variable , $ . function_call , $ . parenthesized_expression ) ,
267+ _prefix_expression : ( $ ) => prec ( 1 , $ . prefix_expression ) ,
269268 parenthesized_expression : ( $ ) => seq ( "(" , $ . expression , ")" ) ,
270269 function_call : ( $ ) =>
271270 seq (
272- $ . prefix_expression ,
271+ $ . _prefix_expression ,
273272 optional ( seq ( ":" , field ( "method" , $ . identifier ) ) ) ,
274273 field ( "arguments" , $ . argument_list ) ,
275274 ) ,
@@ -280,13 +279,13 @@ module.exports = grammar({
280279 choice (
281280 field ( "name" , $ . identifier ) ,
282281 seq (
283- field ( "table" , $ . prefix_expression ) ,
282+ field ( "table" , $ . _prefix_expression ) ,
284283 "[" ,
285284 field ( "field" , $ . expression ) ,
286285 "]" ,
287286 ) ,
288287 seq (
289- field ( "table" , $ . prefix_expression ) ,
288+ field ( "table" , $ . _prefix_expression ) ,
290289 "." ,
291290 field ( "field" , $ . identifier ) ,
292291 ) ,
@@ -354,9 +353,9 @@ module.exports = grammar({
354353 $ . _string_end ,
355354 ] ,
356355
357- inline : ( $ ) => [ $ . field_separator ] ,
356+ inline : ( $ ) => [ $ . prefix_expression , $ . field_separator ] ,
358357
359- supertypes : ( $ ) => [ $ . prefix_expression , $ . expression , $ . statement ] ,
358+ supertypes : ( $ ) => [ $ . _prefix_expression , $ . expression , $ . statement ] ,
360359
361360 word : ( $ ) => $ . identifier ,
362361} ) ;
0 commit comments