如何消除以下类型的左递归。我似乎无法对这一特定规则适用一般规则。
A -> A | a | b
通过使用消除规则:
A -> aA' | bA'
A' -> A' | epsilon
还有离开递归。
这是否说明语法是否为LL(1)?
谢谢。
答案 0 :(得分:1)
请注意规则
从某种意义上说,A→A
完全没用。对于应用此规则的派生,它没有做任何事情。因此,我们可以安全地从语法中删除它而不改变语法产生的内容。这留下了
A→a | B'/ P>
是LL(1)。