第六章 算符优先分析(大学编译原理)(精品).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第六章 算符优先分析(大学编译原理)(精品).ppt》由会员分享,可在线阅读,更多相关《第六章 算符优先分析(大学编译原理)(精品).ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 自低向上优先分析即即移进移进-规约分析。思想:规约分析。思想:对符号串自左向右扫描,将输入符号移入一个对符号串自左向右扫描,将输入符号移入一个后进先出栈中,边移入边分析,一旦栈顶符号后进先出栈中,边移入边分析,一旦栈顶符号串形成某个句型的句柄或可规约串时(该句柄串形成某个句型的句柄或可规约串时(该句柄或可规约串对应某个产生式右部),就用该产或可规约串对应某个产生式右部),就用该产生式的左部非终结符代替相应右部的文法符号生式的左部非终结符代替相应右部的文法符号串,即规约。重复这一过程,直到栈中只剩下串,即规约。重复这一过程,直到栈中只剩下文法的开始符号时则认为分析成功,即输入的文法的开始
2、符号时则认为分析成功,即输入的符号串是文法的句子。符号串是文法的句子。16.1 自底向上优先分析概述有两种优先分析法:有两种优先分析法:1。简单优先分析法:简单优先分析法:求出文法所有符号(终结符,非终结符)求出文法所有符号(终结符,非终结符)之间优先关系,按这种关系确定规约过之间优先关系,按这种关系确定规约过程中的句柄。程中的句柄。2。算符优先分析法:考虑算符之间优先关。算符优先分析法:考虑算符之间优先关系的规约(非规范规约)系的规约(非规范规约)26.36.3算符算符优先分析法优先分析法算符优先文法的定义算符优先文法的定义算符优先关系表的构造算符优先关系表的构造算符优先分析算法算符优先分析
3、算法算符优先分析法的局限性算符优先分析法的局限性36.3.1算符优先分析算符优先分析自下而上分析算法模型自下而上分析算法模型-移进归约移进归约算符优先分析不是算符优先分析不是规范归约规范归约算符优先分析的算符优先分析的可归约可归约串串是是句型的句型的最左素短语最左素短语定义定义:cfgcfg(上下文无关文法)上下文无关文法)G G 的句型的的句型的素短素短语语是一个短语,它是一个短语,它至少包含一个终结符至少包含一个终结符,且除,且除自身外自身外不再包含其他素短语不再包含其他素短语。处于句型最左边。处于句型最左边的素短语为的素短语为最左素短语最左素短语.文法文法GS的短语:的短语:S A且且A
4、 ,则称则称是句型是句型相对于非相对于非终结符终结符A的的短语短语4文法文法GE:(1)EE+T(2)ET(3)TT*F(4)TF(5)FP F|P(6)P(E)(7)Pi句型句型T+T*F+i其短语有:其短语有:T+T*F+iT+T*FTT*FiEET+ETF*FTTi最左素短语为最左素短语为:T*F句型句型T+T+F的素短语为的素短语为:T+TE+TFE句型句型T+T+i的素短语为的素短语为:T+T,i素短语为素短语为:T*F,iETTi5分析程序模型分析程序模型 总控程序算符优先关系表产生式输入串#输出6例 GE:EET|T TT*F|F FPFP P(E)|i算符优先关表算符优先关表7
5、 6.3.2 算符优先文法的定义算符优先文法的定义算符文法定义算符文法定义:如果不含空产生式的上下文无关文:如果不含空产生式的上下文无关文法法 G G 中,没有形如中,没有形如 A ABCBC的产生式,其中的产生式,其中B B,CVCVN N 则称则称G G 为算符文法(为算符文法(OGOG)。)。例例1 GE:EE+E|E-|E*E|E/E|E E|(E)|i例例2 GE:EET|TTT*F|FFPFPP(E)|i性质性质1 1:在算符文法中任何句型都不包含两个相邻的非终结符:在算符文法中任何句型都不包含两个相邻的非终结符.性质性质2 2:如:如 A Ab b 或或 b bA A 出现在算符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六章 算符优先分析大学编译原理精品 第六 优先 分析 大学 编译 原理 精品
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内