Итак, я пытался создать несколько простой компилятор.
В данный момент у меня 2 конфликта сдвига / уменьшения, которые я не могу понять, как решить.
Пока у меня есть это:
(DECR и INCR - в основном - и ++, а ID - это в основном идентификатор)
%token INCR DECR ID
%nonassoc INCR DECR
%%
lvalue: ID
| lvalue '[' rvalue ']'
;
rvalue: lvalue (49)
| lvalue INCR
| lvalue DECR
| INCR lvalue (95)
| DECR lvalue (96)
И яполучить там проблему.
67: shift/reduce conflict (shift 95, reduce 49) on INCR
67: shift/reduce conflict (shift 96, reduce 49) on DECR