LALR(2)悬空其他

Fla*_*ius 6 parsing lalr compiler-theory

LALR(2)是否能够自然地处理悬空的情况(没有任何特殊规则,如LALR(1))?

谢谢

Chr*_*odd 5

不,悬空的其他问题是模棱两可,所以没有多少前瞻有帮助.


小智 3

它是不明确的,但是,这不是问题,因为行为良好的 LALR 解析器生成器将通过选择移位而不是归约选择来解决不明确性。这就是您想要的——“else”与前面的“if”语句相匹配。所以结论是:没有问题。您只需要了解解析器生成器为所有移位减少歧义所做的默认选择。可以使用消除歧义的规则或类似“yacc”中的“%prec”运算符来覆盖此默认值。
但这是一个更高级的话题。