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