- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理总复习2015”
8、 代码优化 (1)基本概念 优化、基本块、局部优化 (2)代码优化遵循的原则 等价原则、有效原则、合算原则 (3)优化分类 ①根据编译阶段的不同划分为:与机器无关的中间代码优化和依赖于机器的目标代码优化。 ②根据优化对象所涉及的程序范围划分为:局部优化、循环优化和全局优化。 8、 代码优化 (4)常见的优化的几种方法 删除公共子表达式、复写传播、删除无用代码、合并已知量、代码外提、强度削弱、删除归纳变量。(后三种涉及循环优化) (5)基本块的划分及程序流图的构造 3 计算题题型 (1)正规式→NFA→DFA→最小化DFA (2)绘制语法分析树,计算句型的短语、直接短语、句柄、素短语和最左素短语 (3)消除文法左递归,提左公因子,构造LL(1)文法。 (4)分析表的构造:LL(1)分析表、算符优先分析表、LR(0)分析表、SLR(1)分析表、LR(1)分析表、LALR分析表 (5)将各语句成分翻译成四元式序列:if语句、while语句 编译原理 1 题型及分值 一、判断题 (1′×5=5′) 二、填空题 (1′×10=10′) 三、选择题(2′×5=10′) 四、简答题 (本题共35分):其中包括两个名词解释。 五、计算题 (10′+15′+15′=40′) 编译原理 2 教材各章知识点概览 编译程序概论 1 文法和语言 2 词法分析与有限自动机 3 自上而下语法分析方法 4 自下而上语法分析方法 5 语法制导翻译和语义分析 6 符号表 7 代码优化 8 编译原理 1、 编译程序概论 (1)基本概念 翻译程序,编译程序 (2)编译过程的五个阶段,各阶段的任务及其依循的规则、描述工具分别是什么?除了这个5个阶段之外,还应该有哪两个重要内容? 五个逻辑阶段:词法分析、语法分析、语义分析和中间代码产生、代码优化和目标代码生成。除了这五个阶段之外,编译程序的每个阶段都涉及到表格管理和错误处理这两个重要内容。 编译原理 1、 编译程序概论 (3)编译错误的种类 从编译程序的角度来看,源程序中的错误主要分为:语法错误 和 语义错误两类错误。 (4)高级程序设计语言翻译的两种方式以及它们的区别 高级程序设计语言的翻译主要有两种方式:编译方式 和 解释方式。 区别:是否生成目标代码。 编译原理 2、 文法和语言 (1)基本概念 文法、推导、最左推导、最右推导、句型、句子、语言、文法的二义性 (2)对文法G,能够给出给定句型或句子的最左推导及最右推导序列,并画出其对应的语法分析树。 (3)能够计算某文法的语言。 (4)理解文法的二义性,能够说明一个文法是二义的。 编译原理 2、 文法和语言 (5)形式语言分类(chomsky,1956) 0型 普通(短语)文法 1型 上下文有关文法 2型 上下文无关文法 3型 线性(正规、正则)文法 3型 2型 1型 0型 编译原理 3、 词法分析与有限自动机 (1)基本概念 状态等价、DFA的化简 (2)词法分析器的任务及其输出形式 任务:自左至右逐个字符地对源程序进行扫描,按语言的构词规则识别出一个个单词,把作为字符串的源程序改造为单词符号串的中间程序。 输出形式:二元式 ( 单词种别, 单词符号的属性值) (3)单词符号的种类 关键字、标识符、常数、运算符、界符 编译原理 3、 词法分析与有限自动机 (4)正规文法、正规式、有限自动机之间的相互等价性定理 (5)正规式→ NFA → DFA →最小化DFA (注意:状态函数定义不完整之情形) (6)状态转换图的构造(标识符、整数) 编译原理 4、 自上而下语法分析方法 (1)语法分析的方法 根据语法分析树建立方向的不同,将语法分析分成两类:自上而下语法分析方法和自下而上语法分析方法。 (2)自上而下分析的基本思想 穷举试探法 (3)自上而下分析面临的两个最主要的问题 左递归、回溯 (4)自上而下分析的基本方法 LL(1)分析法、递归下降分析器 编译原理 4、 自上而下语法分析方法 (5)左递归(直接、间接)和回溯的消除 直接左递归的消除 间接左递归的消除 排序 代入及消除左递归 化简 编译原理 4、 自上而下语法分析方法 (5)左递归(直接、间接)和回溯的消除 回溯的消除:提左公因子 编译原理 4、 自上而下语法分析方法 (6)LL(1)的含义 LL(1)中的第一个L表示从左至右扫描输入串,第二个L表示最左推导,1表示分析时每一步只需向前查看一个符号。
原创力文档


文档评论(0)