我很难理解与YACC的shift/reduce冲突问题。有没有人可以用dangling-else的例子给我解释一下这个问题?
谢谢!
发布于 2011-04-11 04:50:55
悬空的else问题基本上意味着类似这样的东西:
if (x) then if (y) then a; else b;可以被解析为
if (x) then {
if (y) {
then a;
else b;
}
}或as
if (x) then {
if (y)
then a;
}
else b;大多数语言都需要前者--这正是yacc所做的,所以它很少是一个真正的问题(实际上,yacc的S/R冲突很少是一个大问题)。
https://stackoverflow.com/questions/5614554
复制相似问题