编译原理总结4语法.ppt
《编译原理总结4语法.ppt》由会员分享,可在线阅读,更多相关《编译原理总结4语法.ppt(17页珍藏版)》请在三一办公上搜索。
1、1,S.P,O.P,语法分析,2,任务:根据文法规则,从源程序单词符号串中识别出 语法成分,并进行语法检查。,两大类分析方法:,自顶向下分析,自底向上分析,4.1 语法分析的任务,3,存在主要问题:回溯问题,左递归问题,主要方法:递归下降分析法、LL分析法,自顶向下分析算法的基本思想为:,自底向上分析算法的基本思想为:,存在主要问题:“可归约串”的识别问题,主要方法:算符优先分析法、LR分析法,4.1 语法分析的任务,4,自顶向下分析的一般过程,从S出发采用最左推导,试图逐步推出输入串,L(GS)?S作为语法树的根,试图自上而下地为构造一棵语法树:若叶结点从左向右排列恰好,则表示是文法的句子,
2、而这棵语法树就是句子的语法结构;若构造不出语法树,则不是文法的句子。,4.2 自顶向下分析法概述,5,自上而下分析中的关键问题:左递归:当文法中出现左递归时,会使分析过程陷入无限循环。回溯:假定要被代换的非终结符号是V,且有 n 条规则:VA1|A2|An,那么如何确定 用哪个右部Ai去替代V呢?会造成回溯。,4.2 自顶向下分析法概述,回溯问题,左递归问题,6,1.回溯问题,什么是回溯(backtracking)?,分析工作要部分地或全部地退回去重做叫回溯,造成回溯的条件:,文法中,对于某个非终结符号的规则其右部有多个选择,并根据所面临的输入符号不能准确的确定所要选择时,就可能出现回溯。,回
3、溯带来的问题:,严重的低效率,只有在理论上的意义而无实际意义。,4.2 自顶向下分析法概述,7,消除回溯的途径:,改写文法,对具有多个右部的规则反复提取左因子,例:对下述两个产生式,提取公共左因子改造文法。if E then S1 else S2 if E then S1,改造为:if E then S1U Uelse S2|,4.2 自顶向下分析法概述,8,A1|2|n,如果1n中还有几个首符号相同,可反复提取引入了许多非终结符和产生式。,A AA 1|2|n,提取公共左因子,4.2 自顶向下分析法概述,9,某些文法不能在有限步骤内提取左公共因子。,【例】文法G:,SAp|Bq AaAp|d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 总结 语法

链接地址:https://www.31ppt.com/p-4993786.html