欢迎来到天天文库
浏览记录
ID:51171744
大小:2.58 MB
页数:33页
时间:2020-03-19
《简单优先和算符优先分析方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1编译原理主讲:温璞责任教师:蒋慧平2第六讲简单优先和算符优先分析方法3本讲主要内容简单优先文法及其分析算法算符优先文法及其分析算法优先函数的构造4简单优先文法之所以称为简单是因为在可能称为句柄的那些符号串两边各取一个符号就能帮助判断它是否是句柄5简单优先分析算法描述6例6.13运用简单优先分析算法检查((a),a)是否是文法G42的一个句子文法G42[S]:S(R)
2、a
3、∧RTTS,T
4、S7简单优先分析方法的局限性只适用于简单优先文法一般的程序设计语言不是简单优先文法不实用,因为存在于两个符号之间的优先关系常
5、多于一种算符优先方法对以上情况有所改善8算符优先分析方法算符优先分析方法根据算符之间的优先关系来设计的一种字下而上语法分析方法有利于表达式的分析不是一种规范归约法算符优先分析就是:定义算符之间(终结符)的某种关系,借助于这种优先关系寻找“可归约串”并进性归约9算符优先文法算符文法终结符之间存在的三种优先关系10算符优先文法11例6.15文法G44[S]:EE+T
6、TTT*F
7、FF(E)
8、i12OPG优先关系的构造定义如下集合它们的传递闭包定义如下131415算法描述16例6.16文法G44[S]:EE+T
9、T
10、TT*F
11、FF(E)
12、i17例6.16文法G44[S]:EE+T
13、TTT*F
14、FF(E)
15、i1819由于未对非终结符定义算符优先关系,所以不能使用算符优先关系去查找由单个非终结符组成的句柄引入素短语概念替代简单优先关系中的句柄概念,进行规约20素短语及句型的分析21示例22算符优先分析算法23242526文法G44[S]:EE+T
16、TTT*F
17、FF(E)
18、i2728优先函数在实际实现算符优先分析算法时,一般不直接用前述的优先表,而是用两个优先函数f和g.把每个终结符与两个自然数相对应29使用优先函数优
19、点可减少优先矩阵的存储空间便于比较运算使用优先函数缺点原先不存在优先关系的两个终结符,由于与自然数相对应,变得可比较了。可能会掩盖输入串的某些错误.优先函数构造方法:Bell法和Floyd法30优先函数构造:Bell方法31优先函数构造:Floyd方法32小结简单优先分析方法简单优先关系矩阵计算句柄的寻找算符优先分析方法算符优先关系计算最左素短语的寻找构造优先函数的两个方法Bell法和Floyd法33TheEnd.Thanks!
此文档下载收益归作者所有