unary plus and unary minus added
parent
c1b1c7ddbf
commit
8de97b2883
|
@ -16,6 +16,10 @@ extern FILE *yyin;
|
|||
|
||||
%type <str> expr program statement block
|
||||
|
||||
%left PLUS MINUS
|
||||
%left MULT DIV MOD
|
||||
%right UNARY
|
||||
|
||||
%%
|
||||
|
||||
// Program - последовательность утверждений
|
||||
|
@ -37,6 +41,8 @@ block:
|
|||
// Возможные выражения
|
||||
expr:
|
||||
RET { printf("RET\n") } expr // выражение вида return expr
|
||||
| PLUS { printf("UNARY PLUS\n"); } expr %prec UNARY
|
||||
| MINUS { printf("UNARY MINUS\n"); } expr %prec UNARY
|
||||
| PRINT { printf("PRINT\n") } expr // выражение вида print expr
|
||||
| IDENTIFIER { printf("IDENTIFIER(%s)\n", $1); free($1); } ASSIGN { printf("ASSIGN\n"); } expr // выражения вида a=expr
|
||||
| expr PLUS { printf("PLUS\n") } expr // выражения вида expr+expr
|
||||
|
|
Loading…
Reference in New Issue