- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第七章语法分析第一节语法分析概述第二节回溯分析法第三节递归下降分析法第四节预测分析法
文法G(S): S→xAy A→ab A→a输入串xay的分析过程:实例SxyAaabxay
文法G(S): S→Sa S→b输入串baa的分析过程:实例SSabSabbbaa
回溯分析法回溯分析法实际上是一种试探的方法。当遇到多个候选产生式时,可以选择任意一个进行尝试,如果尝试失败,则回溯到试探前的状态,继续尝试其它候选。回溯分析法的分析效率是非常低的。特别是当匹配失败发生在多级试探后,逐级回溯的开销是令人难以忍受的。
引起回溯的原因1. 存在公共左因子 A→αβ1|αβ22. 存在左递归 直接左递归:A→Aα 间接左递归:A→Bα和B→Aβ3. 其它 A→α|ε A→Aα|Bβ
简单形式: A→αβ1|αβ2|δ改写为: A→αB|δ B→β1|β2通用形式: A→αβ1|αβ2|...|αβm|δ1|δ2|...|δn改写为: A→αB|δ1|δ2|...|δn B→β1|β2|...|βm消除公共左因子
文法: S→xAy
A→ab|a改写为: S→xAy A→aB B→b|ε实例
简单形式: A→Aα|β改写为: A→βA A→αA|ε通用形式: A→Aα1|Aα2|…|Aαm|β1|β2|…|βn改写为: A→β1A|β2A|…|βnA A→α1A|α2A|…|αmA|ε消除直接左递归
存在间接左递归的产生式: A1→A2α A2→A3β A3→A1γ消除间接左递归的方法: 将A3→A1γ改写为A3→A2αγ 将A3→A2αγ改写为A3→A3βαγ 将A3→A3βαγ中的直接左递归消除消除间接左递归A1A2A3A3→βαγA3|…A3→A2αγA3→A3βαγ
存在间接左递归的产生式: A1→… … Ai→Aj… … An→…符合ij这个条件的取值范围: i:from2ton j:from1toi-1 消除间接左递归A1AjAi…An……i?j
1. 将所有非终结符按一定的顺序排列(设为A1,A2,…,An);2. fori=2tondo forj=1toi-1do 2.1 如果有产生式:Ai?Ajα,且Aj?β1|β2|…|βk 则将其改写为:Ai?β1α|β2α|…|βkα 2.2 消除新引入的直接左递归3. 去掉无效的符号和产生式。消除间接左递归算法
文法G(S): S→Qc|c Q→Rb|b R→Sa|a方法一:按R、Q、S排列,即A1=R,A2=Q,A3=S。方法二:按S、Q、R排列,即A1=S,A2=Q,A3=R。实例
按R、Q、S排列,即A1=R,A2=Q,A3=S。遍历所有符合Ai?Aj…(其中ij)形式的产生式,分别进行改写。第1步:i=2、j=1时,有Q→Rb,需要改写。第2步:i=3、j=1时,不存在S→R…形式的产生式。方法一R→Sa|aQ→Rb|bS→Qc|cR→Sa|aQ→Sab|ab|bS→Qc|c
第3步:i=3、j=2时,有S→Qc,需要改写。第4步:消除直接左递归方法一R→Sa|aQ→Sab|ab|bS→Sabc|abc|bc|cR→Sa|aQ→Sab|ab|bS→Qc|cR→Sa|aQ→Sab|ab|bS→Sabc|abc|bc|cR→Sa|aQ→Sab|ab|bS→abcS|bcS|cSS→abcS|ε
第5步:去掉无效的符号和产生式方法一R→Sa|aQ→Sab|ab|bS→
您可能关注的文档
- 程序设计语言与编译ppt课件_7.1 语法分析概述.pptx
- 程序设计语言与编译ppt课件_4.2.3 文法和语言.pptx
- 程序设计语言与编译ppt课件_4.1 程序设计语言的定义.pptx
- 程序设计语言与编译ppt课件_6.1 词法分析概述+单词的类别+单词的识别.pptx
- 程序设计语言与编译ppt课件_10.4 存储空间分配.pptx
- 程序设计语言与编译ppt课件_10.1 目标代码生成概述.pptx
- 程序设计语言与编译ppt课件_10.3 寄存器分配.pptx
- 程序设计语言与编译ppt课件_10.2 简单代码生成.pptx
- 程序设计语言与编译ppt课件_8.2 中间代码.pptx
- 程序设计语言与编译ppt课件_9.3 全局优化.pptx
最近下载
- 中国石化工程建设标准建设项目hse管理手册、管理程序、作业指导书_.docx VIP
- 统编版2025年专题07 修辞与仿写 五升六语文暑假专项提升试卷.pdf
- 烟气热值计算.xls VIP
- 最新ISO9001-2015质量管理体系及FCCA质量技术验厂全套文件.docx
- 升罐乙烯发生器说明书.docx
- 辽宁城市道路挖掘修复费收费标准.doc VIP
- 【中小学】上下册第二章第三节第3课时 黄河的治理和开发课件公开课教案教学设计课件.pptx VIP
- SK水环真空泵说明书.docx VIP
- 2025至2030中国动力电池回收利用产业链价值与政策环境研究报告.docx
- 人工智能有效赋能高中历史教学实践.pdf VIP
原创力文档


文档评论(0)