From fc943f4f73c8d22c4a820ca94c0b16590ad61adf Mon Sep 17 00:00:00 2001 From: Akshay Date: Fri, 21 May 2021 09:37:29 +0530 Subject: add func_call and expression_list forms --- 12/main.y | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/12/main.y b/12/main.y index 319b2d9..348890f 100644 --- a/12/main.y +++ b/12/main.y @@ -62,11 +62,20 @@ assignment_expr: argument ASSIGN unary_expr | argument ASSIGN boolean_expr ; +func_call_expr: ID LPAREN expression_list RPAREN + | ID LPAREN RPAREN + ; + expression: unary_expr | boolean_expr | assignment_expr + | func_call_expr ; +expression_list: expression + | expression COMMA expression_list + ; + for_expr: FOR LPAREN statement statement expression RPAREN block | FOR LPAREN statement statement RPAREN block ; @@ -86,8 +95,12 @@ block_cont: statement block_cont | RBRACE ; -statement: RET expression ENDL - | expression ENDL +return_stmt: RET ENDL + | RET primary_expr ENDL + ; + +statement: expression ENDL + | return_stmt | block | for_expr | if_expr -- cgit v1.2.3