Как избавиться от зубров-редукторов

Мой код следующий:

%%
%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 ')'
Другие вопросы по тегам