我只是对做左手递归的事情感到好奇,我已经完成了这个问题,当我完成了左递归时,我已经为S中的所有内容添加了F。我们总是这样做左递归(我的老师)没有很好地解释)。
1)
S -> aSb | bSb | Sc | bc
left recursion:
S -> aSbF | bsbF | bcF
F -> cF | ε
Factorising:
S -> aSbF | bX
X -> aSbFbF | bXbF | cF
F -> cF | ε
答案 0 :(得分:1)
每次立即左递归都会这样做。 (它直接称自己的地方)
如果你有直接递归,那么你唯一不会这样做的时间就是..
这是一个很难解决的问题..
A - >巴
B - >轻拍| Cb
C - > cB | AC
以上是间接左递归的示例。术语" C"调用A.在这种情况下,您需要将A的内容移动到C ..
C - > cB | Bac
完成此示例需要更多步骤..但最终您将最终立即执行左递归,其中C将自行调用。