%token A B C D E F G H
%%
x : y H y | z H z
;
y : G | t | y B G | y B t
;
z : w | z D w
;
w : C | t | E z F
;
t : A
;
由于t,存在减少/减少冲突。我们怎么解决呢?
答案 0 :(得分:0)
默认情况下,y:t和w:t之间的冲突得到解决,有利于y:t。如果您想要另一种方式,请重新排序相应的规则。或者您可以像这样展开其中一个: -
%token A B C D E F G H
%%
x : y H y | z H z
;
w : C | A | E z F
;
z : w | z D w
;
y : G | A B G | A B A | y B G | y B A
;
请注意,我已经摆脱了t规则,并通过扩展它删除了y:A规则: -
步骤1:消除t:A规则
%token A B C D E F G H
%%
x : y H y | z H z
;
y : G | A | y B G | y B A
;
z : w | z D w
;
w : C | A | E z F
;
第2步:
%token A B C D E F G H
%%
x : y H y | z H z
;
y : G | A | A B G | A B A | y B G | y B A
;
z : w | z D w
;
w : C | A | E z F
;