编译原理(第四章)——首符号集和后继符号集的求法

一、首符号集的求法
在这里插入图片描述
注:(1)ay是由x经过0到多步推出来的 且a是终结符号,若x是终结符号,First( x ) = { x };
举例:
在这里插入图片描述

二、后继符号集的求法
(1)定义
在这里插入图片描述
1.例如:再求FOLLOW( T )的时候,在产生式右边寻找含有T的产生式,并且把它的右边的终结符号写入集合中。

例题:
在这里插入图片描述
注解:对于文法开始符号,#都要加进去。

三、构造首符号集
构造符号的FIRST集步骤:在这里插入图片描述
构造文法符号穿的FIRST的步骤
在这里插入图片描述
注:步骤2的j, 1<=j<i.
例题:
在这里插入图片描述

四、构造非终结符号的FOLLOW集

在这里插入图片描述
说明:比如求FOLLOW(E) ,
1. 从产生式右侧找E,在第5个产生式。
2. 注意形式F -> ( E ) | i,满足形式2,)加入集合中。

求FOLLOW( F ) :
1.找到3式:根据步骤2,FIRST( T , )加入结合 ,(*)
2.找到4式:因为空串在FIRST( T , ),所以FOLLOW(T , )加入集合中,(*,),#,+);

猜你喜欢

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