解决移位/减少

时间:2019-04-07 01:25:21

标签: bison yacc

所以我一直在尝试创建一个稍微简单的编译器。

目前,我有2个shift / reduce冲突,我还真不知道该如何解决。

到目前为止,我已经拥有了:

(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

0 个答案:

没有答案