some changes
parent
a2c3c9c9c0
commit
c1b1c7ddbf
|
@ -36,16 +36,16 @@ block:
|
|||
|
||||
// Возможные выражения
|
||||
expr:
|
||||
RET expr // выражение вида return expr
|
||||
| PRINT expr // выражение вида print expr
|
||||
| IDENTIFIER ASSIGN expr // выражения вида a=expr
|
||||
| expr PLUS expr // выражения вида expr+expr
|
||||
| expr MINUS expr // выражения вида expr-expr
|
||||
| expr MULT expr // выражения вида expr*expr
|
||||
| expr DIV expr // выражения вида expr/expr
|
||||
| expr MOD expr // выражения вида expr%expr
|
||||
| IDENTIFIER { printf("IDENTIFIER = %s\n", $1); free($1); }
|
||||
| NUMBER { printf("NUMBER = %s\n", $1); free($1); }
|
||||
RET { printf("RET\n") } expr // выражение вида return expr
|
||||
| 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
|
||||
| expr MINUS { printf("MINUS\n") } expr // выражения вида expr-expr
|
||||
| expr MULT { printf("MULT\n") } expr // выражения вида expr*expr
|
||||
| expr DIV { printf("DIV\n") } expr // выражения вида expr/expr
|
||||
| expr MOD { printf("MOD\n") } expr // выражения вида expr%expr
|
||||
| IDENTIFIER { printf("IDENTIFIER(%s)\n", $1); free($1); }
|
||||
| NUMBER { printf("NUMBER(%s)\n", $1); free($1); }
|
||||
;
|
||||
|
||||
%%
|
||||
|
@ -60,6 +60,6 @@ int main(int argc, char **argv) {
|
|||
yyin = f;
|
||||
}
|
||||
yyparse();
|
||||
printf("\033[92m\nSuccess parsed!\033[0m");
|
||||
printf("\033[92m\nGood code\033[0m");
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue