构造FIRST集和FOLLOW集的方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

构造FIRST集和FOLLOW集的方法1、构造FIRST集的算法(1)对于G中的每个文法符号X,为求FIRST(X),反复应用如下规则,直到集合不再增大:①若X∈VT,则FIRST(X)是{X}②若X∈VN,且X→aα(a∈VT),则{a}FIRST(X)X→ε,则{ε}FIRST(X)③若X-Y1Y2…Yi-1Yi…YK∈P,Y1∈VN,则FIRST(Y1)-{ε}FIRST(X)而对所有的j(1≤j≤i-1),Yj∈VN,且Yj∗⇒ε,则令FIRST(Yj)-{ε}FIRST(X)(1≤j≤i)特别,当ε∈FIRST(Yj)(1≤j≤k)时,令ε∈FIRST(X)(2)对文法G的任何符号串=X1X2…Xn构造集合FIRST()①置FIRST(X1)-{}FIRST()②若对任何1ji-1,FIRST(Xj),则FIRST(Xi)-{}FIRST()特别是,若所有的FIRST(Xj)均含有,1jn,则{}FIRST()。显然,若=则FIRST()={}。2、构造FOLLOW集的算法对于G中的每一A∈VN,为构造FOLLOW(A),可反复使用如下的规则,直到每个FOLLOW集不再增大为止:①对于文法的开始符号S,令#∈FOLLOW(S)。②对于每一A→αBβ∈P,令FIRST(β)-{ε}FOLLOW(B)。③对于每一A→αB∈P,或A→αBβ∈P,且ε∈FIRST(β),则令FOLLOW(A)FOLLOW(B)。

1 / 1
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功