@@ -1053,7 +1053,6 @@ expression returns [void* ast] :
10531053 ( e= if_expression { ast = e; }
10541054 | e= simple_expression { ast = e; }
10551055 | e= code_expression { ast = e; }
1056- | e= part_eval_function_expression { ast = e; }
10571056 | e= match_expression { ast = e; }
10581057 )
10591058 ;
@@ -1368,7 +1367,7 @@ function_arguments returns [void* ast]
13681367for_or_expression_list returns [void* ast, int isFor]
13691368@init{ e = 0; el = 0; forind = 0; } :
13701369 ( {LA(1)==IDENT || LA(1)==OPERATOR && LA(2) == EQUALS || LA(1) == RPAR || LA(1) == RBRACE}? { $ast = mk_nil(); $isFor = 0; }
1371- | ( e=expression
1370+ | ( ( e=expression | e=part_eval_function_expression)
13721371 ( (COMMA el=for_or_expression_list2)
13731372 | (FOR forind=for_indices)
13741373 )?
@@ -1389,7 +1388,7 @@ for_or_expression_list returns [void* ast, int isFor]
13891388for_or_expression_list2 returns [void* ast]
13901389@init{ e = 0; el = 0; } :
13911390 {LA(2) == EQUALS}? { ast = mk_nil(); }
1392- | e=expression (COMMA el=for_or_expression_list2)? { ast = mk_cons(e, or_nil(el)); }
1391+ | ( e=expression | e=part_eval_function_expression) (COMMA el=for_or_expression_list2)? { ast = mk_cons(e, or_nil(el)); }
13931392 ;
13941393
13951394named_arguments returns [void* ast]
@@ -1399,7 +1398,7 @@ named_arguments returns [void* ast]
13991398
14001399named_argument returns [void* ast]
14011400@init{ id = 0; e = 0; } :
1402- ( id=IDENT | id=OPERATOR) EQUALS e=expression { ast = Absyn__NAMEDARG(token_to_scon(id),e); }
1401+ ( id=IDENT | id=OPERATOR) EQUALS ( e=expression | e=part_eval_function_expression) { ast = Absyn__NAMEDARG(token_to_scon(id),e); }
14031402 ;
14041403
14051404output_expression_list [int* isTuple] returns [void* ast]
0 commit comments