转移减少冲突

时间:2011-04-10 20:39:05

标签: grammar yacc context-free-grammar

我无法理解YACC的转移/减少冲突问题。请问某人可以解决这个问题并使用悬挂的其他例子向我解释一下吗?

谢谢!

1 个答案:

答案 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冲突很少引起关注)。