- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理电子课件教案-第5章-自顶向下语分析方法
1
5.1 语法分析概述
5.2 自顶向下语法分析概述
5.3 LL分析法(预测分析法)
5.4 递归子程序
第五章 自顶向下语法分析方法
2
5.1 语法分析概述
1.语法分析器的作用
3
(1)根据词法分析器提供的单词流,为语法正确
的输入构造分析树(或语法树)。
(2)检查输入中的语法错误,并调用出错处理器
进行适当处理。
5.1 语法分析概述
1.语法分析器的作用
4
例如:对C程序语句“IF (a10) b=5;”
词法分析识别出了IF、(、标识符、…等单词符号;
5.1 语法分析概述
而语法分析则要检查这些单词之间的搭配、结构是否正确。IF后面是否为(,(后面是否为正确的表达式等等。
5
主要任务:
按照程序语言的语法规则,在词法分析输出的单词符号串中识别出各类语法成分,同时进行语法检查,为语义分析和代码生成作准备。
执行语法分析任务的程序叫语法分析程序或语法分析器。
5.1 语法分析概述
语法分析是编译过程的核心部分。
5.1 语法分析概述
2 两类语法分析技术
7
(1)自顶向下分析方法
语法分析从顶部(树根、文法的开始符号)到底部(叶子、语言的终结符号)为输入的符号串建立分析树。
5.1 语法分析概述
8
确定的自顶向下分析
确定的自顶向下分析方法对文法要求比较严格, 必须无二义性、且消除左递归和回溯。
典型的方法是递归下降分析方法和LL分析方法。
递归下降分析方法便于手工构造语法分析器。
LL分析法便于用语法分析器的自动构造工具,自动构造语法分析器。
5.1 语法分析概述
9
(2)自底向上分析方法
语法分析从底部到顶部为输入的符号串建立分析树。
最常见的LR分析方法就是自底向上分析方法。而且是确定的。
5.1 语法分析概述
10
LR分析法能适应一大类文法,在实际中有较强的适用性和广泛的应用。
5.1 语法分析概述
LR分析法便于用语法分析器的自动构造工具,自动构造语法分析器。当前应用最广泛的工具之一是YACC(Yet Another Compiler Compiler)系列。
11
3. 语法分析要点
(1)程序设计语言的绝大部分语法特性属于上下文无关的,因此语法分析是以上下文无关文法(CFG)作为程序设计语言语法分析的基础。
属于上下文有关的语法特性在语义分析阶段检查。
5.1 语法分析概述
12
3. 语法分析要点
(2)任何一个歧义文法不存在与其对应的语法分析器,因此需要为程序设计语言选择能进行确定语法分析的非歧义文法。
(3)语法分析最终为合法的输入串建立与之匹配的语法树。
5.1 语法分析概述
13
5.2 自顶向下语法分析概述
自顶向下分析就是从文法的开始符号出发,按最左推导方式向下推导,试图推出要分析的输入串。
常用的方法有:
递归下降分析: 利用程序设计语言的递归函数实现, 每个函数对应文法的一个非终极符。
LL(1)分析:由一张预测分析表和一个总控程序组成。预测分析表给出了当面临输入符号时,运用到非终极符的推导所选用的产生式。
14
5.2 自顶向下语法分析概述
自
顶
向
下
语
法
分
析
确定的自顶向下语法分析
(消除左递归和回溯)
递归下降分析
预测分析法
( LL (1) )
非确定的自顶向下语法分析
(带回溯)
15
构造最左推导的关键问题
在构造最左推导的过程中,面对当前读入的单词符号a和当前被替换的非终极符A,应该选择A的哪条候选式去替换它(推导)。
关键:
找出选择一个非终极符号的候选式的方法。
16
构造最右推导的关键问题
在构造最右推导的过程中,面对当前读入的单词符号a,已分析过的符号串中是否已构成一个产生式的右部,即句柄(可归约)。如果已构成句柄,即用相应的产生式左部(非终结符号)去替换它(归约)。
关键:
寻找句柄的方法。
17
构造最左推导(aabbaa) (1.自顶向下)
SaASa A SbA SS ba
A
S
a
S
b
S
A
a
a
b
a
aSbAS
aabAS
aabbaS
aabbaa
aAS
S
18
5.2.1 带回溯的自顶向下语法分析
1. 带回溯的自顶向下语法分析实质
它是一个反复使用不同的产生式 进行试探,以谋求匹配输入
您可能关注的文档
- 电气控制柜元安装与接线-毕业论文.doc
- 电气火灾合治理自查检查表.docx
- 电气自动设备技术协议模板.doc
- 电气装置安装工程--电气设备交试验标准.docx
- 电气控制系统设课程设计-.doc
- 电气试验(第二版)职技能鉴定指导书职业标准试题库(仅高级工).doc
- 电源插头上盖注塑模_毕设计(论文).doc
- 电站水毁修复工程工组织设计.doc
- 电气工程及其自动化秀毕业论文英文.docx
- 电算化课程设计报告-南方公总账与报表实验研究.doc
- 2025年2025德州数学中考试卷及答案.doc
- 2025年2025二建考题及答案.doc
- 2025至2030中国智慧出行行业市场深度调研及发展趋势前景与投资风险报告.docx
- 2025年事业单位面试应急应变题库及答案解析.docx
- 部编人教版三年级语文上册多音字汇总大全.docx
- 2025至2030牛油刀行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030电动汽车VRLA电池行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030化学制剂行业市场深度调研及前景趋势与行业调研及市场前景预测评估报告.docx
- 广东省茂名市博雅中学2025-2026学年上学期九年级英语第二次月考考试试题(含答案).docx
- 2025至2030金属汽油过滤器行业市场占有率及有效策略与实施路径评估报告.docx
最近下载
- 保安保洁服务方案.doc
- 2021-2022学年北京朝阳区初三第一学期语文期末试卷及答案.doc VIP
- 《历史地理研究》文稿技术规范.PDF VIP
- 燃烧在世博会旗帜下青春火焰.doc VIP
- 2024雅科贝思ASD驱动器用户手册-0903.pdf VIP
- 强化训练苏科版九年级物理上册《简单机械和功》专题训练练习题(解析版).docx VIP
- 小角X射线散射—从原理到应用.pdf
- 学堂在线 雨课堂 学堂云 海上作战与三十六计 期末考试答案.docx VIP
- 2024广东开放大学《地域文化(本)》形成性考核任务4参考答案.docx
- SY-T 0403-2014 输油泵组安装技术规范.pdf VIP
原创力文档


文档评论(0)