Итак, я пытался создать несколько простой компилятор.
На данный момент у меня есть 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