编译原理课件chap04(陈火旺).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理课件chap04(陈火旺)

第四章 语法分析--自上而下分析 * * (3) 若Xi ∈Vn 且Xi→y1 y2 …yk,则按如下顺序计算FIRST(Xi) 若FIRST(Xi) ? FIRST(y1) –{ε}; 若ε∈FIRST(y1) 则将FIRST(y2)-{ε}加入FIRST(Xi); 若ε∈FIRST(y1) ε∈FIRST(y2) 则将FIRST(y3)-{ε}加入FIRST(Xi) ........ 若ε∈FIRST(yk-1) 则将FIRST(yk)-{ε}加入FIRST(Xi) 若ε ∈FIRST(y1) ~ FIRST(yk) 则将ε加入FIRST(Xi) 得到FIRST(Xi),即可求出FIRST(α)。 第四章 语法分析--自上而下分析 * * (Ⅱ) 构造集合FOLLOW的算法 若S为识别符号,则把“#”加入FOLLOW(S)中 (2)若A→αBβ (β≠ε),则把FIRST(β)-{ε}加入FOLLOW(B) (3)若A→αB 或A→αBβ, 且β?ε则把FOLLOW(A)加 入FOLLOW(B) * 注:FOLLOW集合中不能有ε 设S, A, B∈Vn , 算法:连续使用以下规则,直至FOLLOW集合不再扩大 第四章 语法分析--自上而下分析 * * 解:1)求FIRST: FIRST(F)={ (,i } FIRST(T’)={*,ε} FIRST(T)=FIRST(F)-{ε}={ (,i} FIRST(E’)={+,ε} FIRST(E)= FIRST(T)-{ε}={(,i} ∴FIRST(TE’)=FIRST(T)-{ε}={(,i} FIRST(+TE’)={+} FIRST(ε)={ε} FIRST(FT’)= FIRST(F)-{ε}={(,i} FIRST((E))={(} FIRST(i)={i} 例:G[E]分析表的构造 E→TE’ E’→+TE’|ε T→FT’ T’→*FT’|ε F→(E)|i 构造过程: 1)求FIRST: 2)求FOLLOW 3)构造分析表 第四章 语法分析--自上而下分析 * * E→TE’ E’→+TE’|ε T→FT’ T’→*FT’|ε F→(E)|i FOLLOW(E)={#, )} ∵因为E是识别符号∴#∈FOLLOW(E) 又F→(E) ∴ )∈FOLLOW(E) FOLLOW(E’)={#, )} ∵E→TE’ ∴FOLLOW(E)加入FOLLOW(E’) FOLLOW(T)={+, ), #} ∵E’→+TE’ ∴FIRST(E’)-{ε}加入FOLLOW(T) 又E’?ε, ∴ FOLLOW(E’)加入FOLLOW(T) FOLLOW(T’)= FOLLOW(T)= {+,),#} ∵T→FT’ ∴ FOLLOW(T’)加入FOLLOW(T) FOLLOW(F)={*, + , ), #} ∵T→FT’ ∴ FOLLOW(F)=FIRST(T’)-{ε} * 又T’?ε ∴ FOLLOW(T)加入FOLLOW(F) 2)求FOLLOW FIRST(F)={(,i} FIRST(T’)={*,ε} FIRST(T)={(,i} FIRST(E’)={+,ε} FIRST(E)={(,i} 第四章 语法分析--自上而下分析 例题 例:已知文法G[S]:S ?aH H ? aMd | d M ? Ab | ε A ? aM | e (1)判断该文法是否是LL(1)文法,若是,请构造相应的LL(1)预测分析表 (2)给出对输入串aaabd#的预测分析过程,并说明该输入串是否是该文法的句子。 第四章 语法分析--自上而下分

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档