From 54e1c0e715876a0fac0835726b8d1a8948fed101 Mon Sep 17 00:00:00 2001 From: Santiago Lo Coco Date: Wed, 20 Apr 2022 10:34:27 -0300 Subject: [PATCH] Remove ifelse_statement Co-authored-by: Ezequiel Bellver Co-authored-by: Juan Barmasch --- .../syntactic-analysis/bison-grammar.y | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/frontend/syntactic-analysis/bison-grammar.y b/src/frontend/syntactic-analysis/bison-grammar.y index 372490d..b99882d 100644 --- a/src/frontend/syntactic-analysis/bison-grammar.y +++ b/src/frontend/syntactic-analysis/bison-grammar.y @@ -80,7 +80,6 @@ statement: evaluate SEMICOLON | derivative SEMICOLON | declare_function SEMICOLON | if_statement - | ifelse_statement | for_statement | while_statement | printCSV SEMICOLON @@ -169,7 +168,7 @@ arrayNumArray: OPEN_BRACKETS numArrays CLOSE_BRACKETS stringArray: OPEN_BRACKETS strings CLOSE_BRACKETS ; - + escapeString: ESCAPESTRING | ESCAPESTRING ADD escapeString ; @@ -198,7 +197,7 @@ integrate: INTEGRATE STRING BETWEEN OPEN_PARENTHESIS expression AND_INT expressi squotes: SQUOTE | SQUOTE squotes - ; + ; print: PRINT OPEN_PARENTHESIS expression CLOSE_PARENTHESIS | PRINT OPEN_PARENTHESIS escapeString CLOSE_PARENTHESIS @@ -217,25 +216,22 @@ derivative: DERIVATIVE STRING IN OPEN_PARENTHESIS expression CLOSE_PARENTHESIS | derivative ERR positive_constant ; -if_statement: IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS statement - | IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS OPEN_BRACKETS statements CLOSE_BRACKETS +block: OPEN_BRACES statements CLOSE_BRACES + | statement ; -ifelse_statement: if_statement ELSE statement - | if_statement ELSE OPEN_BRACKETS statements CLOSE_BRACKETS +if_statement: IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS block + | IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS block ELSE block ; -for_statement: FOR OPEN_PARENTHESIS declare_variable SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS OPEN_BRACES statements CLOSE_BRACES - | FOR OPEN_PARENTHESIS SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS OPEN_BRACES statements CLOSE_BRACES - | FOR OPEN_PARENTHESIS declare_variable SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS statement - | FOR OPEN_PARENTHESIS SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS statement +for_statement: FOR OPEN_PARENTHESIS declare_variable SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS block + | FOR OPEN_PARENTHESIS SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS block ; taylor: TAYLOR INTEGER STRING ; -while_statement: WHILE OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS OPEN_BRACKETS statements CLOSE_BRACKETS - | WHILE OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS statement +while_statement: WHILE OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS block ; declare_variable: VAR STRING @@ -252,6 +248,6 @@ assign_variable: STRING ADD_ASSIGN expression | STRING INCREMENT | STRING DECREMENT | STRING ASSIGN expression - ; - + ; + %%