简单优先和算符优先分析方法PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理
31
小结
简单优先分析方法
简单优先关系矩阵计算 句柄的寻找
算符优先分析方法
算符优先关系计算 最左素短语的寻找
构造优先函数的两个方法
Bell法和Floyd法
编译原理
32
编译原理
The End. Thanks!
33
28
编译原理
使用优先函数优点
可减少优先矩阵的存储空间 便于比较运算
使用优先函数缺点
原先不存在优先关系的两个终结符,由于 与自然数相对应,变得可比较了。可能会 掩盖输入串的某些错误.
优先函数构造方法:Bell法和Floyd法
29
优先函数构造:Bell方法
编译原理
30
优先函数构造:Floyd方法
编译原理
终结符之间存在的三种优先关系
9
算符优先文法
编译原理
10
例6.15
文法G44[S]: EE+T|T TT*F|F F(E)|i
11
编译原理
OPG优先关系的构造 定义如下集合
编译原理
它们的传递闭包定义如下
12
编译原理
13
编译原理
14
算法描述
编译原理
15
例6.16
文法G44[S]:EE+T|T TT*F|F F(E)|i
关系常多于一种
算符优先方法对以上情况有所改善
7
算符优先分析方法
编译原理
算符优先分析方法
根据算符之间的优先关系来设计的一种字 下而上语法分析方法
有利于表达式的分析 不是一种规范归约法 算符优先分析就是:定义算符之间(终结
符)的某种关系,借助于这种优先关系寻 找“可归约串”并进性归约
8
算符优先文法 算符文法
编译原理
编译原理
主 讲:温 璞 责任教师:蒋慧平
1
编译原理
第六讲
简单优先和算符 优先分析方法
2
本讲主要内容
编译原理
简单优先文法及其分析算法 算符优先文法及其分析算法 优先函数的构造
3
简单优先文法
编译原理
之所以称为简单是因为在可能称为句柄的那些符号 串两边各取一个符号就能帮助判断它是否是句柄
4
简单优先分析算法描述
编译原理
5
例6.13 运用简单优先分析算法检查 ((a),a)是否是文法G42的一个句子
文法G42[S]: S(R)|a|∧ RT TS,T|S
编译原理
6
编译原理
简单优先分析方法的局限性
只适用于简单优先文法 一般的程序设计语言不是简单优先文法 不实用,因为存在于两个符号之间的优先
示例
编译原理
21
算符优先分析算法
编译原理
22
编译原理
23
编译原理
24
编译原理
25
文法G44[S]: EE+T|T TT*F|F F(E)|i
编译原理
26Leabharlann Baidu
编译原理
27
优先函数
编译原理
在实际实现算符优先分析算法时,一般不直 接用前述的优先表,而是用两个优先函数f和 g.
把每个终结符与两个自然数相对应
编译原理
16
例6.16
文法G44[S]:EE+T|T F(E)|i
TT*F|F
编译原理
17
编译原理
18
编译原理
由于未对非终结符定义算符优先关系 ,所以不能使用算符优先关系去查找 由单个非终结符组成的句柄
引入素短语概念替代简单优先关系中 的句柄概念,进行规约
19
素短语及句型的分析
编译原理
20