- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 自下而上语法分析-LR
LR(K)方法概述 一种自下而上的语法分析方法。 当前最广义的无回溯的“移进- 归约”方法。 根据栈中的符号串和向前查看的k(k?0)个输入符号,就能唯一确定分析器的动作是移进还是归约,以及用哪个产生式进行归约。 优点: 文法适用范围广;识别效率高;查错能力强;可自动构造。 逻辑组成: 总控程序+LR分析表 分析表的四种构造方法: LR(0),SLR(1),规范LR,LALR 总控程序根据分析表的内容来决定其下一步的处理动作,分析表是根据具体的文法按某种规则构造出来的。 LR方法:根据具体文法的分析表对输入串进行分析处理。 LR分析过程:在总控程序的控制下,从左到右扫描输入符号串,根据分析栈中的状态和当前输入符号,按分析表中的内容完成相应的分析工作。 LR分析表的构成 分析表的动作部分:ACTION[Si,aj]表示当分析状态栈的栈顶为Si,输入符号为aj时应执行的动作; 表中GOTO[Si,Xj]指出栈顶状态为Si,碰到文法符号为Xj时应转到的下一状态; 动作有下列四种: 移进(Sn),归约(R),接受(A),报错(E) 利用分析表分析符号串 (a) LR文法:对一个文法,如果能够构造一个分析表,且它的每个入口均是唯一的 如何构造LR分析表? 活前缀和可归前缀 前缀:指从任意符号串x的末尾删除0或多个符号后得到的符号串,如u、uni、universi ty都是university的前缀。 活前缀:设λβt是一个规范句型,其中β表示句柄,t∈Vt*,如果λ β=u1u2…ur,那么称符号串u1u2…ui(其中1≤i≤r)是句型λ βt的活前缀。 可归前缀:含有句柄的活前缀u1u2…ur称为可归前缀。 有文法G∶E→T|E+T|E-T, T→i|(E), 找规范句型E+(i-i)的活前缀和可归前缀。 解:首先画出E+(i-i)的语法树可找出第一个i是句柄,那么 λβ=E+(i ,t=-i) 因此活前缀为:E,E+,E+(,E+(i,其中E+(i是可归前缀。 活前缀意味着,当前还未形成句柄,或刚刚形成句柄。 在活前缀的右边添上一些终结符号后,总可以构成一个规范句型。 LR识别过程中,栈里面的符号就是一个活前缀。栈里面的符号添加上适当的终结符号串就可以得到一个句型。 在任何时候,只要输入串已扫描过的部分能构成一个活前缀,则意味着所扫描过的这一部分没有错误。 活前缀和句柄的关系 1. 活前缀不含有句柄的任何符号;2. 活前缀含有句柄的部分符号;3. 活前缀已含有句柄的全部符号。 LR(0)项目 LR(0)项目的定义: 文法的每一个产生式的右部添加一个圆点(.),则构成文法的一个 LR(0)项目。 直观地,一个项目指明了在分析过程的某一时刻,已经看到的一个产生式的多少。 LR(0)项目 A → xyz的LR(0)项目: A → .xyz A → x.yz A → xy.z A → xyz. 项目集:若干个项目组成的集合称为项目集。 例如:对于上述产生式的4个项目即构成一个项目集。 后继符号:在项目中紧跟在符号“·”后面的符号称为该项目的后继符号。 后继符号表示下一时刻读到的符号。 后继符号有多种,据此将项目分为多种: 后继符号为终结符: A?α· aβ, 称为移进项目; 后继符号为非终结符:A?α· Bβ, 称为待约项目; 后继符号为空:即圆点在最右边A?α· , 称为归约项目; 归约项目的左边是文法的开始符号S?α·, 称为接受项目。 后继符号集:项目集中各项目的后继符号所组成的集合称为后继符号集。 例如:项目集{ E ? E ·+T , F ? · i }的后继符号集为{+,i} 可以由文法的所有LR(0)项目,构造识别文法所有活前缀的FA。在此构造过程中,需要对文法进行拓广,并利用CLOSURE函数和GO函数。 LR(0) 项目集规范族定义 定义:构成识别一个文法活前缀的DFA的项目集(状态)的全体称为这个文法的LR(0) 项目集规范族。 文法G的拓广文法 文法G[S]的拓广文法: G’[S’]=G[S]+{S’ → S} 拓广的原因:使得语法分析有唯一的“接受”项目:S’ → S. 项目集I的闭包CLOSURE(I) 设I是文法G的任一项目集,则定义和构造CLOSURE(I)的规则如下: ① 属于I的任何项目也属于CLOSURE(I); ② 若A → α .Bβ 属于CLOSURE(I),那么,对于任何关于B的产生式B→γ ,项目B→ .γ 也属于CLOSURE(I); ③ 重复执行以上两步,直到CLOSURE(I)不再增大为止。 项目集闭包的例子 文法: 0. E ’→E 1. E→E+T 2. E→T 3. T→T*F 4.
您可能关注的文档
- 第五章 感觉与知觉.ppt
- 第五章 ACCESS2003应用.ppt
- 第五章 NAVTEX、SART和船舶备用电源.ppt
- 第五章 卧位和安全.ppt
- 第五章 牛肉羊肉的鉴别.ppt
- 第五章 一元一次方程复习 课件2.ppt
- 第五章 微型计算机的指令系统.ppt
- 第五章 OSPF.ppt
- 第五章 三维纳米结构.ppt
- 第五章 表面粗糙度及其测量.ppt
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
最近下载
- 宾馆装修改造项目立项建议书.doc VIP
- 悬臂法挂篮施工监测方案.docx VIP
- 财税大楼装修项目建议书.doc VIP
- XXX教学楼装修改造项目建议书.pdf VIP
- 提高胸外科患者肺功能锻炼的依从性品管圈汇报书ppt.pptx
- 2025广西百色工业投资发展集团有限公司招聘27人笔试参考题库附答案解析.docx VIP
- 2025国内短剧行业市场规模、出海短剧市场机遇及未来短剧制作方向分析报告.pptx VIP
- 2025广西百色工业投资发展集团有限公司招聘27人考试备考题库及答案解析.docx VIP
- 2025广西百色工业投资发展集团有限公司招聘27人笔试备考试题及答案解析.docx VIP
- 小升初语文成语错别字专项练习.pdf VIP
文档评论(0)