一。消除直接左递归
编译原理第五章——消除左递归
为什么要这样消除左递归?
其实这个文法识别的串为以B打头,0~*个a结尾的串,所以用B开头,P’表示多个a。

理解一下这个例题,消除的时候用的上面的思想。
编译原理第五章——消除左递归

一般性的规则
编译原理第五章——消除左递归

二。消除间接左递归
例子:
编译原理第五章——消除左递归

编译原理第五章——消除左递归

排序是任意的。

编译原理第五章——消除左递归
在消除完之后开始符号S推不出Q,R,所以是无用的。

相关文章: