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

一。消除直接左递归
在这里插入图片描述
为什么要这样消除左递归?
其实这个文法识别的串为以B打头,0~*个a结尾的串,所以用B开头,P’表示多个a。

理解一下这个例题,消除的时候用的上面的思想。
在这里插入图片描述

一般性的规则
在这里插入图片描述

二。消除间接左递归
例子:
在这里插入图片描述

在这里插入图片描述

排序是任意的。

在这里插入图片描述
在消除完之后开始符号S推不出Q,R,所以是无用的。

猜你喜欢

转载自blog.csdn.net/qq_40240576/article/details/83780581