File tree Expand file tree Collapse file tree 1 file changed +8
-15
lines changed
Expand file tree Collapse file tree 1 file changed +8
-15
lines changed Original file line number Diff line number Diff line change @@ -46,24 +46,15 @@ func_args: '(' arg_list? ')' ;
4646
4747arg_list : arg (' ,' arg)* ;
4848
49- arg : ID (ASSIGN literal_expr)? ; // only allow literals in default values
50-
51-
52- literal_expr :
53- NUMBER
54- | STRING
55- |array
56- | tuple
57- | object
58- ;
49+ arg : (USE ?) ID (ASSIGN expr)? ; // only allow literals in default values
5950
6051expr_stmt : expr;
6152 // parser rules
6253expr
63- : expr CC expr
64- | expr LPAREN call_expr_list? RPAREN
54+ : expr LPAREN call_expr_list? RPAREN
6555 | var_decl
6656 | closure_decl
57+ | expr CC expr
6758 | expr DOT expr
6859 | expr MUL expr
6960 | expr DIV expr
8677 | expr BAND expr
8778 | expr COLON expr
8879 | LPAREN expr? RPAREN
89- | unary
9080 | if_expr
9181 | when_expr
82+ | unary
9283 | do_expr
9384 | array
9485 | tuple
@@ -102,12 +93,12 @@ closure_decl: BOR arg_list? BOR ARROW expr;
10293unary :
10394 EXCLAIM expr
10495 | SUB expr
105- | RETURN expr
96+ | RETURN_TOK expr
10697 | TILDE expr
10798 | BAND expr;
10899
109100if_expr :
110- IF expr LBRACE expr RBRACE (ELSE LBRACE expr RBRACE )?;
101+ IF expr expr (ELSE expr)?;
111102
112103when_expr :
113104 WHEN expr LBRACE when_cases else_case? RBRACE ;
@@ -182,6 +173,8 @@ IF: 'if';
182173ELSE : ' else' ;
183174MODULE : ' module' ;
184175DO : ' do' ;
176+ USE : ' use' ;
177+ RETURN_TOK : ' return' ;
185178
186179NUMBER
187180 : HEX_LITERAL
You can’t perform that action at this time.
0 commit comments