diff --git a/analyzers/c_analyzer/c_analyzer.y b/analyzers/c_analyzer/c_analyzer.y index 39a316c..fd30df4 100644 --- a/analyzers/c_analyzer/c_analyzer.y +++ b/analyzers/c_analyzer/c_analyzer.y @@ -40,16 +40,16 @@ 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 + RET { printf("RET\n") } expr // выражение вида return expr + | PLUS { printf("UNARY PLUS\n"); } expr %prec UNARY // выражение вида +expr + | MINUS { printf("UNARY MINUS\n"); } expr %prec UNARY // выражение вида -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 + | 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); } ;