Решение Shift / Reduce - PullRequest
       9

Решение Shift / Reduce

0 голосов
/ 07 апреля 2019

Итак, я пытался создать несколько простой компилятор.

В данный момент у меня 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
...