1 / 55
文档名称:

800-第四章 自顶向下的语法分析.ppt

格式:ppt   页数:55
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

800-第四章 自顶向下的语法分析.ppt

上传人:小玉儿 2012/2/5 文件大小:0 KB

下载得到文件列表

800-第四章 自顶向下的语法分析.ppt

文档介绍

文档介绍:第四章自顶向下的 语法分析
School puter Science & Technology
Harbin Institute of Technology
重点:自顶向下分析的基本思想,预测分析器总体结构,预测分析表的构造,递归下降分析法基本思想,简单算术表达式的递归下降分析器。
难点:FIRST 和 FOLLOW 集的求法,对它们的理解以及在构造LL(1)分析表时的使用。递归子程序法中如何体现分析的结果。
2017/11/11
2
第4章  自顶向下的语法分析
语法分析概述
自顶向下的语法分析面临的问题
与文法的改造
预测分析法
递归下降分析法
本章小结
2017/11/11
3
语法分析的功能和位置
语法分析(syntax analysis)是编译程序的核心部分,其任务是检查词法分析器输出的单词序列是否是源语言中的句子,亦即是否符合源语言的语法规则。
语法分析器在编译器中的位置
2017/11/11
4
语法分析概述
递归子程序法
自顶向下
预测分析法(LL(1))
算符优先分析法
自底向上
LR(0)、SLR(1)、LR(1)、LALR(1)
Top Down
Bottom Up
从文法产生语言的角度
从自动机识别语言的角度
从根开始,逐步为某语句构造一棵语法树
相反,将一句子归约为开始符号
问题:解决确定性问题!
假定文法是压缩的:即删除了单位产生式和无用产生式。
2017/11/11
5
自顶向下的语法分析面临的问题 与文法的改造
自顶向下语法分析的基本思想
从文法的开始符号出发,寻求所给的输入符号串的一个最左推导。
从树根S开始,构造所给输入符号串的语法树
例:设有G:S→xAy A→**|*,输入串:x**y
SxAy
x**y
S
x
A
y
*
*
2017/11/11
6
自顶向下分析面临的问题

对于文法G,如果L(G)中存在一个具有两棵或两棵以上分析树的句子,则称G是二义性的。也可以等价地说:如果L(G)中存在一个具有两个或两个以上最左(或最右)推导的句子,则G是二义性文法。
如果一个文法G是二义性的,假设wL(G)且w存在两个最左推导,则在对w进行自顶向下的语法分析时,语法分析程序将无法确定采用w的哪个最左推导。
Gexp: EE+T | E-T| T
TT*F | T/F | F
FF↑P | P
Pc | id | (E)
解决办法:改造文法,引入新的文法变量
2017/11/11
7
自顶向下分析面临的问题

文法中每个语法变量A的产生式右部称为A的候选式,如果A有多个候选式存在公共前缀,则自顶向下的语法分析程序将无法根据当前输入符号准确地选择用于推导的产生式,只能试探。当试探不成功时就需要退回到上一步推导,看A是否还有其它的候选式,这就是回溯(backtracking)。
Ge:ET EE+T EE-T TF TT*F TT/F F(E) Fid
例如:考虑为输入串id+id*id建立最左推导
2017/11/11
8
自顶向下分析面临的问题

ET ()
ETF ()
ETF(E) ()
ETFid ()
ETT*F ()
............
,以便减少推导过程中回溯现象的发生,当然,单纯通过提取左因子无法彻底避免回溯现象的发生。
2017/11/11
9
自顶向下分析面临的问题

假设A是文法G的某个语法变量,如果存在推导A αAβ,则称文法G是递归的,当α=ε时称之为左递归;如果A αAβ至少需要两步推导,则称文法G是间接递归的,当α=ε时称之为间接左递归;如果文法G中存在形如AαAβ的产生式,则称文法G是直接递归的,当α=ε时称之为直接左递归。
Ger:ET EE+T EE-T TF TT*F TT/F F(E) Fid
考虑为输入串id+id*id建立一个最左推导
EE+TE+T+TE+T+T+T……
2017/11/11
10
对上下文无关文法的改造

改造的方法就是通过引入新的语法变量等,使文法含有更多的信息。其实,许多二义性文法是由于概念不清,即语法变量的定义不明确导致的,此时通过引入新的语法变量即可消除文法的二义性。
<stmt>→ if <expr> then <stmt>
|

最近更新

2025年昌吉职业技术学院单招职业技能考试模拟.. 40页

2025年曲靖职业技术学院单招职业适应性考试模.. 41页

2025年杭州职业技术学院单招职业倾向性考试模.. 38页

2025年桂林山水职业学院单招综合素质考试模拟.. 39页

2025年正德职业技术学院单招职业倾向性考试模.. 40页

2025年毕节医学高等专科学校单招职业适应性考.. 40页

2025年汝州职业技术学院单招职业适应性考试模.. 39页

2025年江苏城乡建设职业学院单招职业倾向性测.. 38页

2025年江苏电子信息职业学院单招职业倾向性考.. 40页

2025年江苏财会职业学院单招职业技能测试模拟.. 41页

2025年江西司法警官职业学院单招职业适应性测.. 39页

2025年江西应用科技学院单招综合素质考试题库.. 41页

2025年江西环境工程职业学院单招职业技能考试.. 40页

2025年江西科技职业学院单招职业技能考试模拟.. 40页

2025年池州职业技术学院单招职业倾向性测试模.. 41页

2025年河北科技学院单招综合素质考试题库汇编.. 40页

2025年河南交通职业技术学院单招职业技能测试.. 40页

2025年河南工业职业技术学院单招职业倾向性测.. 40页

2025年河南省濮阳市单招职业倾向性考试模拟测.. 38页

2026年云南德宏单招试题附答案 41页

2025年泉州海洋职业学院单招职业适应性测试题.. 39页

2025年泰州职业技术学院单招职业倾向性考试模.. 41页

2025年浙江体育职业技术学院单招职业倾向性测.. 41页

2025年浙江国际海运职业技术学院单招职业适应.. 41页

2026年包头轻工职业技术学院单招职业倾向性测.. 42页

2026年单招九类职业测试题目必考题 42页

2025年浙江省嘉兴市单招职业倾向性测试模拟测.. 39页

2025年浙江经贸职业技术学院单招综合素质考试.. 41页

2026年单招竞走测试题及答案1套 43页

2025年海南体育职业技术学院单招职业倾向性测.. 42页