- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* I0: S’→.S, # S→.BB , # B→.aB , a/b B→.b , a/b I3:B→a.B, a/b B→.aB,a/b B→.b , a/b I1: S’→S., # I2: S→B.B , # B→.aB , # B→.b , # I4:B→b. , a/b I7:B→b. , # I5:S→BB. , # I6:B→a.B , # B→.aB , # B→.b , # I9:B→aB. , # I8:B→aB. , a/b a S B B a a b b B a B b b 例 P115 拓广文法: (0) S’→S (1)S→BB (2)B→aB (3)B→b a b # S B 0 s3 s4 1 2 1 acc 2 s6 s7 5 3 s3 s4 8 4 r3 r3 5 r1 … * 3.5 LALR分析表的构造 LALR(lookahead-LR)技术。这种方法在实际中是经常使用的。 心:如果两个LR(1)项目集去掉搜索符之后是相同的,则称这两个项目集具有相同的心(core)。 一个心就是一个LR(0)项目集。 核:除去初态项目集外,一个项目集的核(kernel)是由此集中那些圆点不在最左端的项目组成。LR(1)初态项目集的核含有也仅含有[S→?S,#]。 改进思路: 合并同心集可达到缩小构造分析表的状态数目;利用核代替项目集可以达到缩小项目集所占用的存储空间。介绍两种方法: 第一种方法:对于G,构造LR(1)项目集规范族(DFA),然后,合并同心集,若合并后的同心集中没有冲突,则用其构造LR分析表,这种分析表称作LALR分析表。 * 讨论: 由于GO(I,X)仅仅依赖于I的心,因此 LR(1)项目集合并后的转换函数GO(I,X)随自身的合并而得到。 动作ACTION应当进行修改,使得能反映各被合并集合的既定动作。 把同心的项目集合并为一,有可能导致冲突,这种冲突不会是移进—归约冲突;但可能引起归约—归约冲突。如: Ik: {[A→?·,u1] [B→?·a?,b] } a∩u1=? Ij: {[A→?·,u2] [B→?·a?,c] } a∩u2=? Ikj:{[A→?·,u1/u2] [B→?·a?,b/c] } a∩{u1,u2}=? 例:下面文法是LR(1)的,但不是LALR(1)的。 S′→S S→aAd|bBd|aBe|bAe A→c B→c [S′→?S,#] [S → ?aAd,#] [S → ?bBd,#] [S → ?aBe,#] [S → ?bAe,#] [S′ → S ? ,#] [S→ a ? Ad,#] [S → a ? Be,#] [A → ?c,d] [B → ?c,e] a S [S→ b? Bd,#] [S → b ? Ae,#] [A → ?c,e] [B → ?c,d] b A [S→ a A ? d,#] B [S → a B ? e,#] c [A → c?,d] [B → c?,e] [A → c?,e] [B → c?,d] c * 由LR(1)项目集族构造LALR(1)分析表的主要步骤: 构造文法G的LR(1)项目集族C = {I0,I1,…,In}; 把所有的同心集合并在一起,记为C′={J1,J2,…,Jn}为合并后的新族,那个含有项目[S′→·S,#]的Jk为分析表的初态。 从C′构造ACTION表: 若[A→α·aβ,b]∈Jk且GO(Jk,a)=Ji,a为终结符,则置ACTION[k,a]为“sj”; 若[A→α·,a]∈Jk,则置ACTION[k,a]为“使用A→α归约”,简记为“rj”,其中假定A→α为文法G′的j个产生式。 若[S′→·S,#]∈Jk,则置ACTION[k,#]为“接受”,简记为“acc”。 GOTO表的构造:假定Jk是Ii1,Ii2,…,Iit合并后的新集。由于所有这些Ii同心,因而GO(Ii1,X),GO(Ii2,X),…,GO(Iit,X)也具同心。记Ji为所有这些GO合并后的集,那么就有GO(Jk,X)=Ji,则如果GO(Jk,A)=Ji,则置GOTO[k,A]=j。 分析表中凡不能用c)和d)填入信息的空白格填上“出错标志”。 * I0: S’→.S, # S→.BB , # B→.aB , a/b B→.b , a/b I36:B→a.B, a/b/# B→.aB,a/b/# B→
您可能关注的文档
- 星级酒店筹建各部门工作大纲讲义.doc
- 安静是美德讲述.ppt
- 编写童话故事讲述.ppt
- 安静与干净讲述.ppt
- 安宁教师小区32栋土建工程讲述.docx
- 安全3.4讲述.ppt
- 材料成型基础-金属连接成型讲义.ppt
- 星星之火,可以燎原2讲义.ppt
- 编译原理7运行环境讲述.ppt
- 星宇华成安防需求方案讲义.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)