我有以下语法:
S --> SaA
S --> bB
A --> aB
A --> c
B --> Bb
B --> d
现在,看一下解决左递归的一般规则,我可以说:
B --> dB'
B' --> e | bB'
但这就是我能得到的。我尝试扩展S
:
S --> SaA | bB
S --> SaaB | Sac | bB
但我无法以适当的形式获得该算法。
我错过了什么?
答案 0 :(得分:1)
我想知道你为什么要努力扩展" S
。它已经存在的形式,
S -> SaA | bB
非常适合应用与B相同的转换。它将成为
S -> bBS'
S' -> ε | aA
现在,如果需要,可以展开BS'
。