2
%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 存在减少/减少冲突。我们该如何解决?

4

1 回答 1

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: 通过扩展它的规则:-

第 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
;
于 2012-12-03T08:33:10.000 回答