LPAREN, RPAREN added
parent
759749b254
commit
0810b7275c
|
@ -18,6 +18,8 @@ void yyerror(const char *s) {
|
||||||
%%
|
%%
|
||||||
"{" { return LBRACE; }
|
"{" { return LBRACE; }
|
||||||
"}" { return RBRACE; }
|
"}" { return RBRACE; }
|
||||||
|
"(" { return LPAREN; }
|
||||||
|
")" { return RPAREN; }
|
||||||
";" { return SEMICOLON; }
|
";" { return SEMICOLON; }
|
||||||
"=" { return ASSIGN; }
|
"=" { return ASSIGN; }
|
||||||
"+" { return PLUS; }
|
"+" { return PLUS; }
|
||||||
|
|
|
@ -12,7 +12,7 @@ extern FILE *yyin;
|
||||||
}
|
}
|
||||||
|
|
||||||
%token <str> IDENTIFIER NUMBER
|
%token <str> IDENTIFIER NUMBER
|
||||||
%token LBRACE RBRACE SEMICOLON ASSIGN PLUS MINUS MULT DIV MOD RET PRINT
|
%token LBRACE RBRACE LPAREN RPAREN SEMICOLON ASSIGN PLUS MINUS MULT DIV MOD RET PRINT
|
||||||
|
|
||||||
%type <str> expr program statement block
|
%type <str> expr program statement block
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ expr:
|
||||||
| expr MULT { printf("MULT\n") } expr // выражения вида expr*expr
|
| expr MULT { printf("MULT\n") } expr // выражения вида expr*expr
|
||||||
| expr DIV { printf("DIV\n") } expr // выражения вида expr/expr
|
| expr DIV { printf("DIV\n") } expr // выражения вида expr/expr
|
||||||
| expr MOD { printf("MOD\n") } expr // выражения вида expr%expr
|
| expr MOD { printf("MOD\n") } expr // выражения вида expr%expr
|
||||||
|
| LPAREN { printf("LPAREN\n") } expr RPAREN { printf("RPAREN\n") } // выражения вида (expr)
|
||||||
| IDENTIFIER { printf("IDENTIFIER(%s)\n", $1); free($1); }
|
| IDENTIFIER { printf("IDENTIFIER(%s)\n", $1); free($1); }
|
||||||
| NUMBER { printf("NUMBER(%s)\n", $1); free($1); }
|
| NUMBER { printf("NUMBER(%s)\n", $1); free($1); }
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in New Issue