编译原理知识点汇总.doc_第1页
编译原理知识点汇总.doc_第2页
编译原理知识点汇总.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编译原理的复习提纲1. 编译原理=形式语言+编译技术2. 汇编程序:把汇编语言程序翻译成等价的机器语言程序3. 编译程序:把高级语言程序翻译成等价的低级语言程序4. 解释执行方式: 解释程序,逐个语句地模拟执行 翻译执行方式: 翻译程序,把程序设计语言程序翻译成等价的目标程序5. 计算机程序的编译过程类似,一般分为五个阶段:词法分析、语法分析、语义分析及中间代码生成、代码优化、目标代码生成词法分析的任务:扫描源程序的字符串,识别出的最小的语法单位(标识符或无正负号数等)语法分析是:在词法分析的基础上的,语法分析不考虑语义。语法分析读入词法分析程序识别出的符号,根据给定的语法规则,识别出各个语法结构。语义分析的任务是检查程序语义的正确性,解释程序结构的含义,语义分析包括检查变量是否有定义,变量在使用前是否具有值,数值是否溢出等。语法分析完成之后,编译程序通常就依据语言的语义规则,利用语法制导技术把源程序翻译成某种中间代码。所谓中间代码是一种定义明确、便于处理、独立于计算机硬件的记号系统,可以认为是一种抽象机的程序代码优化的主要任务是对前一阶段产生的中间代码进行等价变换,以便产生速度快、空间小的目标代码编译的最后一个阶段是目标代码生成,其主要任务是把中间代码翻译成特定的机器指令或汇编程序编译程序结构包括五个基本功能模块和两个辅助模块6. 编译划分成前端和后端。编译前端的工作包括词法分析、语法分析、语义分析。编译前端只依赖于源程序,独立于目标计算机。前端进行分析编译后端的工作主要是目标代码的生成和优化后端进行综合。独立于源程序,完全依赖于目标机器和中间代码。把编译程序分为前端和后端的优点是:可以优化配置不同的编译程序组合,实现编译重用,保持语言与机器的独立性。7. 汇编器把汇编语言代码翻译成一个特定的机器指令序列第二章1. 符号,字母表,符号串,符号串的长度计算 P18,子符号串的含义,符号串的简单运算XY ,Xn,2. 符号串集合的概念,符号串集合的乘积运算,方幂运算,闭包与正闭包的概念 P19,P20 A0 =3. 重写规则,简称规则。非终结符(Vn),终结符(Vt)的概念。4. 文法的概念。P23 识别符号.P23 文法的第一个重写规则的左部符号为识别符号。BNF表示法 P65. 直接推导和直接规约,广义推导广义规约,P24 最左推导,最右推导P626. 句型和句子 26,短语,简单短语,句柄,7. 语言的定义318. 递归,左递归32 9. 文法的形式化定义36定义 重点是正则文法和上下文无关文法0型文法,短语结构语言型文法,上下文有关文法 CSG2型文法,上下文无关文法 CFG3型文法,正则文法RG3型语言类(2型语言类(1型语言类(0型语言类但四种语言之间没有必然的包含关系 P383型语言的定义 有穷状态自动机 P412型语言 下推自动机1型语言 线性界限自动机0型语言 图灵机10. 消去规则左递归P5111. 语法分析树的构造,能够根据语法书来寻找短语,直接短语,句柄。12. 文法的二义性问题P58,文法的二义性是不可判定的-第三章1. 词法分析的功能 P692. 词法分析器可以有两种实现模式:完全融合模式(大多采用)和相对独立模式,完全独立方式 P713. 有穷状态自动机的概念,如何从正则文法构造有穷状态转换自动机 P724. 如何从有穷状态转换自动机构造正则文法P755. 确定有穷状态自动机DFA五元组(K,M,S,F),五个字母的含义。P756. 非确定有穷状态自动机NFA,如何将NFA转化为DFA P827. DFA的化简8. 属性字由符号类和符号值组成。特定符号类,一个符号类对应一个符号值:关键字、括号,运算符。非特定符号类:标示符,无符号整数。符号类识别不同类的符号,符号值识别同类的不同符号 P909. 字符表,符号机内表示对照表,标示符表,无符号整数表各自的定义和作用P93 词法分析程序的大致思路-第四章 自顶向下(重点是预测分析表的构造和应用预测分析表进行字符串分析)1. 带回溯的自顶向下分析方法P121 (一般采用最左或者最右推导)2. 无回溯的自顶向下分析方法:条件,无左递归性,无回溯性。3. 预测分析技术:消去文法左递归P51;构造first集合和follow集合P138,构造预测分析表P139 进行字符串分析 P134-第五章 自底向上(重点是构造算符优先矩阵并进行字符串的分析)1. 规范分析:最右推导被称为规范推导,最左规约被称为规范规约。 P1452. 分析需要解决的两个基本问题:找出要被归约的短语u;确定归约到哪个非终结符号U3. 一个符号串的前缀是指该串的任一部分。一个规范句型的前缀若不含句柄之后的任何符号就称为活前缀4. 基本方法:移入规约法 P147 四个动作之一:移进归约接受出错5. 算符优先分析技术: P150 定义5.2 构造算符优先关系表 P151-154 算符优先识别算法6. LR(k)分析技术,要知道其中定义(为什么引入LR(K)):圆点在产生式最右端的项目称为可归约项,如EE+T ;圆点后面是终结符的项目称为移进项 ,如EE+T ; 圆点后面是非终结符的项目称为待约项 , 如EE+T。项,项集,项集的闭包-第六章(重点是四元式、逆波兰式、抽象语法分析树(三元式))1. 语义分析的基本功能:确定类型;类型检查;识别含义,作相应的语意处理;其他一些静态语义检查。 P2152. 语义分析以语法分析部分的输出(语法分析树或其他等价内部中间表示)为输入,输出中间表示代码,甚至目标代码。 P2153. 语义是上下文相关的4. 语法制导翻译技术5. 抽象语法树 P2976. 逆波兰式 P3007. 四元组P306-第七章1. 代码优化的定义 P348 ,代码优化进行的是等价变换,为优化进行努力是值得的。2. 基本块的概念, 对基本块的优化:合并常量计算,消除公共子表达式,消减计算强度,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论