我无法理解YACC的转移/减少冲突问题。请问某人可以解决这个问题并使用悬挂的其他例子向我解释一下吗?
谢谢!
答案 0 :(得分:1)
悬空的其他问题基本上意味着:
if (x) then if (y) then a; else b;
可以解析为
if (x) then {
if (y) {
then a;
else b;
}
}
或
if (x) then {
if (y)
then a;
}
else b;
大多数语言都需要第一个 - 这正是yacc所做的,所以它很少是一个真正的问题(实际上,来自yacc的S / R冲突很少引起关注)。