概念
非递归的预测分析不需要为每个非终结符编写递归下降过程,而是根据预测分析表构造一个自动机,也叫表驱动的预测分析。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f4191200d2eccfa83f501f242088e185.png)
通过增加一个栈,来增强自动机的识别能力。
例如,$L=\{a^nb^n|n\ge 1\}$
。
这个产生式识别一切以先是a
后是b
的句子,而且a
与b
的个数一致。若是用有穷状态机则无法实现。若是增加了一个栈,则可以在每接收到一个a
之后将a
进栈,然后每当接收到一个b
之后将a
出栈,若是在接收到最后一个b
时,最后一个a
出栈,那么就识别成功。
例子
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b53e88abe6232e07cbee153065307d63.png)
算法流程