"四川大学编译原理期末复习总结" 本节总结了四川大学计算机学院2016年春季编译原理期末复习的所有知识点,涵盖了编译原理的基本概念、文法、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等方面的内容。 1. 编译程序的定义:编译程序是一种将高级语言程序(源程序)翻译成低级语言(目标程序)的程序。 2. 文法的形式定义:一个文法 G 抽象地表示为四元组 G=(Vn,Vt,P,S),其中 Vn 表示非终结符号,Vt 表示终结符号,P 是产生式,S 是开始符号。 3. 语法分析阶段的功能:在词法分析的基础上,根据语言的语法规则,将单词符号串分解成各类语法短语(例如:程序、语句、表达式)。确定整个输入串是否构成语法上正确的程序。 4. 局部优化技术:包括删除公共子表达式优化技术、复写传播优化技术、删除无用代码优化技术、代数恒等变换优化技术、代码外提优化技术、强度削弱优化技术、删除归纳变量优化技术等。 5. 编译过程阶段:逻辑上分五个阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、目标代码生成。每个阶段把源程序从一种表示变换成另一种表示。 6. 文法的定义:文法是描述语言的语法结构的形式规则。是一种工具,它可用于严格定义句子的结构;用有穷的规则刻划无穷的集合;文法是被用来精确而无歧义地描述语言的句子的构成方式。 7. 语义分析阶段的功能:对语法分析所识别出的各类语法范畴分析其含义,进行初步的翻译(翻译成中间代码);并对静态语义进行审查。 8. 代码优化原则:等价原则、有效原则、合算原则。 9. 词法分析阶段的功能:逐个读入源程序字符并按照构词规则切分成一系列单词任务:读入源程序,输出单词符号,滤掉空格,跳过注释、换行符,追踪换行标志,指出源程序出错的行列位置,宏展开等。 10. 符号表的定义:符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。 11. 属性文法的定义:是在上下文无关文法的基础上,为每个文法符号(含终结符和非终结符)配备若干个属性值,对文法的每个产生式都配备了一组属性计算规则(称为语义规则)。 12. 基本块的定义:是指程序中一顺序执行的语句序列,其中只有一个入口语句和一个出口语句,入口是其第一个语句,出口是其最后一个语句。 13. 代码优化阶段的功能:对已产生的中间代码进行加工变换,使生成的目标代码更为高效(时间和空间)。 14. 文法的分类:文法有四种:0型文法(短文文法)、1型文法(上下文有关文法)、2型文法(上下文无关文法)、3型文法(正规文法)。 15. 循环优化技术:代码外提、强度削弱、删除归纳变量等。 16. 算符优先文法的定义:算符文法 G 的任何终结符 a,b 之间要么没有优先关系,若有优先关系 ,至多有中的一种成立,则 G 为一算符优先文法。 本节总结了编译原理的所有知识点,涵盖了编译程序的定义、文法的形式定义、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等方面的内容,为将来学习和复习编译原理提供了一个系统的基础。
剩余14页未读,继续阅读
- 蟹蛛2023-07-24这份文件给了我许多思路和方法,使我更好地掌握了编译原理的核心概念。
- 马虫医生2023-07-24推荐给有编译原理考试需求的同学,绝对物超所值。
- 今年也要加油呀2023-07-24文档中的例子和解释非常清晰,容易理解。
- 空城大大叔2023-07-24这份复习总结内容详实,对于编译原理的复习帮助很大。
- 销号le2023-07-24作者对每个知识点的讲解都很简明扼要,没有过多的废话。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助