A->Aaa|a消除左递归
时间: 2023-06-17 18:06:02 浏览: 138
消除左递归
首先将 Aaa 和 a 分别提取成新的非终结符 B 和 C,得到以下文法:
A -> CB
B -> Aaa
C -> a
接下来消除 B 的左递归。首先将 B 的产生式拆分为左递归和非左递归部分:
B -> AB'
B' -> aa | ε
然后将左递归部分用 B' 替换掉:
B -> AB'
B' -> aaB' | ε
最后将原先的产生式代入,得到消除左递归后的文法:
A -> CB
B -> AB'
B' -> aaB' | ε
C -> a
阅读全文