Add precedence directive
Co-authored-by: Ezequiel Bellver <ebellver@itba.edu.ar> Co-authored-by: Juan Barmasch <jbarmasch@itba.edu.ar>
This commit is contained in:
parent
d4b1a69bec
commit
4ef2a77b90
|
@ -61,6 +61,10 @@
|
||||||
%token STRING
|
%token STRING
|
||||||
|
|
||||||
// Reglas de asociatividad y precedencia (de menor a mayor):
|
// Reglas de asociatividad y precedencia (de menor a mayor):
|
||||||
|
|
||||||
|
%precedence CLOSE_PARENTHESIS
|
||||||
|
%precedence ELSE
|
||||||
|
|
||||||
%left GREATER GREATER_EQUAL LESSER LESSER_EQUAL EQUAL NOT_EQUAL
|
%left GREATER GREATER_EQUAL LESSER LESSER_EQUAL EQUAL NOT_EQUAL
|
||||||
%left ADD SUB NOT
|
%left ADD SUB NOT
|
||||||
%left MUL DIV AND OR
|
%left MUL DIV AND OR
|
||||||
|
@ -213,16 +217,16 @@ derivative: DERIVATIVE STRING IN OPEN_PARENTHESIS expression CLOSE_PARENTHESIS
|
||||||
| derivative ERR positive_constant
|
| derivative ERR positive_constant
|
||||||
;
|
;
|
||||||
|
|
||||||
if_statement: IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS OPEN_BRACKETS statements CLOSE_BRACKETS
|
if_statement: IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS statement
|
||||||
| IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS statement
|
| IF OPEN_PARENTHESIS boolean CLOSE_PARENTHESIS OPEN_BRACKETS statements CLOSE_BRACKETS
|
||||||
;
|
;
|
||||||
|
|
||||||
ifelse_statement: if_statement ELSE OPEN_BRACKETS statements CLOSE_BRACKETS
|
ifelse_statement: if_statement ELSE statement
|
||||||
| ELSE statement
|
| if_statement ELSE OPEN_BRACKETS statements CLOSE_BRACKETS
|
||||||
;
|
;
|
||||||
|
|
||||||
for_statement: FOR OPEN_PARENTHESIS declare_variable SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS OPEN_BRACKETS statements CLOSE_BRACKETS
|
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_BRACKETS statements CLOSE_BRACKETS
|
| 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 declare_variable SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS statement
|
||||||
| FOR OPEN_PARENTHESIS SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS statement
|
| FOR OPEN_PARENTHESIS SEMICOLON boolean SEMICOLON assign_variable CLOSE_PARENTHESIS statement
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in New Issue