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