编译原理陈火旺版PPT课件.pptxVIP

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

5.3LR分析方法;LR(k)分析方法中L是指自左(Left)向右扫描输入单词串,R指分析过程是最右(Right)推导的逆过程(规范归约),k是指在决定当前分析动作时需向前察看的输入符号个数。;一、LR分析器的逻辑结构:;LR分析器工作过程简介;(1)在总控程序的控制下,从左到右扫描输入串根据分析栈和输入符号的情况,查分析表确定分析动作;;规范归约的关键是寻找句柄,LR法是根据已“移进”、“归约”的符号串及即将读入的符号串进行分析,以确定是否有句柄可归约。;2.分析表的组成:;(2)状态转换表也用一个二维数组表示,行代表分析栈栈顶状态,列代表文法符号,数组元素Goto[Si,Xj]表示当前栈顶状态为Si,,面对文法符号为Xj时,新的栈顶状态。;二、LR分析过程:;接受:若动作表中对应“acc”,则分析成功;;;分析过程:;三.LR(0)分析表的构造;事实上:LR分析过程中,任意时刻均应保证栈中符号串是规范句型的活前缀,即:栈中绝无句柄之后的任何符号。若输入串为一合法的“句子”,则栈中符号与剩余输入串就构成一个规范句型。;2.例如:

对于产生式:

S?aAcBe;(三)构造识别活前缀的NFA;(5)转换函数f:;2.举例:;可画出NFA的状态图如下:(P106);(四)项目的分类:;(五)识别活前缀的DFA:;S’?E

E?aA|bB

A?cA|d

B?cB|d;返回;①据NFA可以构造DFA的转换矩阵:;②状态转换图表示(P106):;;2.方法二:求项目集规范族每个项目集对应一个DFA状态,它们的全体称这个文法的项目集规范族,下面给出求各项目集的方法,以便得到识别文法活前缀的DFA.;构造项目集规范族的算法(P107)

Begin

C:={CLOSURE({S’→.S})};

REPEAT

FORC中的每一个项目集I和G’的每个符号XDO

IFGO(I,X)非空且不属于CTHEN

把GO(I,X)放入C族中

UNTILC不再增大

End

;3.构造DFA(举例):;(六)LR(0)文法:;(七)LR(0)分析表的构造:;例对文法G[S’]

S’?E

E?aA|bB

A?cA|d

B?cB|d;?;;例有文法G:

(0)S’?S

(1)S?aAcBe

(2)A?b

(3)A?Ab

(4)B?d;状态;状态

文档评论(0)

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

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

1亿VIP精品文档

相关文档