Как избавиться от зубров-редукторов
Мой код следующий:
%%
%token blablabla
%%
expresion: operand
operand '-' expresion
|operand '+' expresion
| '(' expresion ')' /*Conflict line*/
;
/*terminal symbols */operand: IDENTIFIER { printf (" %s ", $1) ; }
| NUMBER { printf (" %s ", $1) ; }
;
Я получаю 3 уменьшения / уменьшения предупреждения при компиляции (даже при том, что код работает правильно). Как я могу избавиться от этих предупреждений?
1 ответ
Метинкс, который вы хотите
%left '-' '+'
expression : operand
| expression '-' expression
| expression '+' expression
| '(' expression ')'