- 47
- 0
- 约1.34万字
- 约 90页
- 2017-03-24 发布于湖北
- 举报
第6章 自底向上的LR分析法
1
❤❤❤
2
在第5章的自底向上分析中的关键问题是寻找可归约串。
简单优先分析方法、算符优先分析方法,基本上都是从左到右地向前看若干个输入符号,找出句柄(或其变型—最左素短语)的尾,然后回头(从右到左)查看已扫描过的符号,找出句柄(或其变型—最左素短语)的头。
这实际上已不是严格地从左到右地查看源程序进行归约了。
LR分析法是严格的规范归约
3
LR分析法是一种自底向上的语法分析方法,它严格地从左到右地读入输入符号串中的符号,且最多向前看确定个数(k个)的符号,就能无回溯地识别给定的符号串。
4
它与算符优先分析法一样,也通过当前输入符号和栈顶符号(状态)相比较,根据栈中的符号串和向前查看的k(k0)个输入符号,就能唯一确定分析器的动作是移进还是归约,以及用哪个产生式进行归约。
本章主要内容
5
本章主要介绍LR(k)分析的基本思想和当k≤1时LR分析方法的基本构造原理和方法。
组成:总控程序 + LR分析表 + 分析栈
§6.1 LR分析的基本原理
6
7
自底向上分析法是一种移进-归约过程,当分析的栈顶符号串形成句柄时就采取归约动作,因而自底向上分析法的关键问题是在分析过程中如何确定句柄。
算符优先分析法是如何确定句柄的?
回忆
8
在语法分析中,句柄是逐步形成的。
据此,可以用“状态”的概念来描述不同时刻所形成的那部分句柄。
把每个句柄的识别过程划分为若干状态,在每个状态下从左到右识别句柄的一个符号。
9
由于句柄就是某个产生式的右部,因此可以利用产生式来表示识别句柄的不同状态。例如,对于产生式A→aBcD,就可以分解为下面几个不同的识别状态:
“.”的左部符号表示已被
识别出来的那部分句柄符
号。
LR分析法的实现原理
10
有上述状态可见,语法分析程序完全可以根据当前的分析栈来判断句柄的头和尾,并实行正确的归约,这就是LR分析法的基本原理。
11
在规范归约过程中,一方面记住已移进和归约出的整个符号串,即记住“历史”,另一方面根据所用的产生式推测未来可能碰到的输入符号,即对未来进行“展望”。
当一串貌似句柄的符号串呈现于分析栈的顶端时,根据所记载的“历史”和“展望”材料,来确定栈顶的符号串是否构成句柄。
12
为了记住分析的“历史”和汇集“展望”的信息,LR分析法这样处理:
将归约过程的“历史”和“展望”材料综合抽象成某些状态,存放在一个状态栈中,栈中每个状态都概括了从分析开始直到某一归约阶段的全部“历史”和“展望”材料。
LR(k)的含义
13
L表示从左到右扫描输入串;
R表示利用最右分析方法来识别句子,即构造一个最右推导的逆过程;
k表示向右查看输入串符号的个数。
LR分析法根据当前分析栈中的符号串和向右顺序查看输入串的k个符号就可以唯一确定分析器的动作是移进还是归约、利用那个产生式进行归约。
规范推导的逆过程,所以LR分析过程是规范归约的过程。
LR分析法的最大优点
14
LR分析法是一个有效的自底向上分析技术,它与自顶向下的LL(1)分析方法和自底向下的优先分析方法相比对文法的限制要少得多。
对于大多数用无二义性上下文无关文法描述的程序语言都可以用相应的LR分析器进行有效的分析。
§ 6.2 LR分析器的逻辑结构
15
LR分析器的逻辑结构
16
LR分析法也是一种表驱动的分析方法,有一个分析栈、一个总控程序和一个分析表。
特殊性
栈 = 状态栈 + 文法符号栈
分析表 = 动作表(ACTION) + 状态转移表(GOTO)
17
LR分析器的逻辑结构
对于所有的LR分析器,总控程序都是相同的。
在总控程序的控制下,自左到右扫描输入串,并根据当前分析栈存放的文法符号和状态及下一个要入栈的符号,按分析表的指示完成相应的动作:移进、归约、接受或报错。
18
LR分析器的逻辑结构
文法不
您可能关注的文档
- 社交礼仪教案讲义.doc
- 等高线和地形剖面图概要.ppt
- 社交礼仪之以茶待客讲义.ppt
- 社教类节目-简介讲义.ppt
- 第6章稳定型战略和紧缩型战略讲义.ppt
- 第6章现金流量质量分析讲义.ppt
- 直流稳压电源的性能优化电路设计讲述.doc
- 直流稳压电源电子技术课程设计讲述.doc
- 第一章恢复生态学绪论讲义.ppt
- 消防安全教育课件剖析.ppt
- 2026年保定安国市兴华中学教师招聘18人备考题库及参考答案详解1套.docx
- 2026年保定安国市兴华中学教师招聘18人备考题库及完整答案详解一套.docx
- 2026年石墨烯材料在电子器件行业创新报告.docx
- 2026年保定安国市兴华中学教师招聘18人备考题库及答案详解参考.docx
- 2026年保定安国市兴华中学教师招聘18人备考题库参考答案详解.docx
- 2026年保定安国市兴华中学教师招聘18人备考题库及参考答案详解.docx
- 2026年保定安国市兴华中学教师招聘18人备考题库及一套参考答案详解.docx
- 2026年人工智能在自动驾驶汽车中的创新报告.docx
- 2026年保定安国市兴华中学教师招聘18人备考题库及完整答案详解1套.docx
- 2026年保定华医中医医院招聘15人备考题库附答案详解.docx
原创力文档

文档评论(0)