编译原理课件.ppt

编译原理课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共172页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4.1 LR(1)專案與產生式DFA LR(1)專案 對專案A????,定義LR(1)專案為二元組: A????, 其中 a?Follow(A) 原LR(0)每一個產生式對應一個DFA,LR(1)每一個產生式按左端非終結符的不同後繼分別對應一個DFA(規則I). Follow(S’)={#} Follow(E)={+,),#} S’?E E?E+T E?T T?T*F T?F F ?(E) F ?I S’??E,# S’?E?,# E E??E+T,+ E E?E?+T,+ + E?E+?T,+ T E?E+T?,+ E??E+T,) E E?E?+T,) + E?E+?T,) T E?E+T?,) E??E+T,# E E?E?+T,# + E?E+?T,# T E?E+T?,# * 5.4.2 LR(1)產生式DFA的聯接 LR(1)產生式DFA的聯接規則(規則II) 對形式為 A???X?,a 的LR(1)專案, X是非終結符 以?弧連接所有 X???,b開頭的DFA,其中b?First(?) 注意: First(?)?Follow(X) S’??E,# S’?E?,# E E??E+T,+ E E?E?+T,+ + E?E+?T,+ T E?E+T?,+ E??E+T,) E E?E?+T,) + E?E+?T,) T E?E+T?,) E??E+T,# E E?E?+T,# + E?E+?T,# T E?E+T?,# A???X?,a X???,b1 X???,b2 X???,b3 X???,b4 ? Follow(X)={b1,b2,b3,b4} First(?)= {b1,b2} S’?E E?E+T E?T T?T*F T?F F ?(E) F ?I * 5.5 簡單優先分析 * 4.2.8 LL(1)文法分析器設計例(1) 一 運算式文法 E ?EAT|T T ?TMF|F F ?(E)|i A ?+|- M ?*|/ 二 消除左遞歸 E ?EAT|T E ?TE’ E’ ?AT E’| ? T ?TMF|F T ?FT’ T’ ?MF| ? 三 提“左公因數” 沒有規則需要提“左公因數” 四 轉換後的文法 E ?TE’ E’ ?AT E’| ? T ?FT’ T’ ?MF| ? F ?(E)|i A ?+|- 五 求規則的SELECT()集合 E ?TE’ 右端=TE’? ? SELECT(E ?TE’)=FIRST(TE’) TE’?FT’E’ ?(E)T’E’ ?iT’E’ 4. SELECT(E ?TE’)={(,i} E’ ? ? 右端= ? SELECT(E’??)=FOLLOW(E’) E ?…F… ?…(E)… ?…(TE’)… E ?TE’# SELECT(E’??)={),#} * 4.2.8 LL(1)文法分析器設計例(2) 所有規則: SELECT(E ?TE’)={(,i} SELECT(E’ ?ATE’)={+,-} SELECT(E’??)={),#} SELECT(T?FT’)= {(,i} SELECT(T’?MFT’)= {*,/} SELECT(T’? ?)= {+,-,),#} SELECT(F? (E))= {(} SELECT(F ?i )={i} SELECT(A ?+ )={+} SELECT(A ?- )={-} SELECT(M ?* )={*} SELECT(M ?/ )={/} 六 構造分析資訊表(規則選擇表) i + - * / ( ) E E ?TE’ E ?TE’ E’ E’ ?ATE’ E’ ?ATE’ E’?? T T?FT’ T?FT’ T’ T’? ? T’? ? T’?MFT’ T’?MFT’ T’? ? F ?/C F? (E) A A ?+ A ?- M M ?* M ?/ # E’?? T’? ? # SUCC * 4.2.8 LL(1)文法分析器設計例(3) 七 構造分析表(包含動作表) i + - * / ( ) E E ?TE’ E ?TE’ E’ E’ ?ATE’ E’ ?ATE’ E’?? T T?FT’ T?FT’ T’ T’? ? T’? ? T’?MFT’ T’?MFT’ T’? ? F ?/C F? (E) A A ?+ A ?- M M ?* M ?/ # E’?? T’? ? # SUCC i + - * / ( ) E E’T/R E’T/R E’ E’TA/R E’TA/R ?/R T

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档