0

我只是对左递归时的某些事情感到好奇,我已经完成了这个问题,当我完成左递归时,我已经将 F 添加到 S 中的所有内容中。我们是否总是为左递归这样做(我的老师没有解释得很好)。

1)
S -> aSb | bSb | Sc | bc

left recursion:
S -> aSbF | bsbF | bcF
F -> cF | ε

Factorising:

S -> aSbF | bX
X -> aSbFbF | bXbF | cF
F -> cF |  ε
4

1 回答 1

1

每次立即左递归时,您都会这样做。(它直接调用自己的地方)

例如,如果您有间接递归,那么您唯一不会这样做的时间是..

这是一个很长的问题要解决..

A -> 巴
B -> 轻拍 | Cb
C -> cB | 交流电

上面是一个间接左递归的例子。术语“C”调用 A. 在这种情况下,您需要将 A 的内容移动到 C..

C->cB| 巴克

完成这个例子需要更多的步骤。但最终你会得到立即左递归,C 将调用它自己。

于 2014-05-18T14:51:47.183 回答