当前位置:文档之家› 编译原理 期末复习整理

编译原理 期末复习整理

编译原理期末整理
1.语言概念:语言是人类所特有的用来表达意思、交流思想的工具,是一种特殊的社会现象,由语
音、词汇、语法、语义构成一个系统。

语言包括口语和书面形式。

课本P1:语言是人们交流思想的工具,人们通过语言来描述事物,表达自己思想。

2.语言的分类及各类特点
自然语言:人与人之间交流信息的一种语言。

动物之间通过动物语言交流信息。

数理语言:以数理逻辑、集合论和统计数学来描述的一种语言。

例如,用计算机进行几何定理的证明就得以数理语言形式进行描述。

程序设计语言:是人和计算机进行信息交流的一种语言,它遵循一定的语法和语义的规则,而编
译程序的功能正是:○1讨论语法,检查程序正确性○2讨论语义,生成目标代码
程序设计语言的分类及特点:
1)机器语言(第一代语言):由机器指令构成的语言称机器语言,即用二进制编码组成。

(如
01110101)
特点:○1费时费事○2难懂容易错○3只能在一种型号计算机上运行○4可以直接在计算
机上运行
2)汇编语言(第二代语言:50年代初期出现):用容易记忆的符号来代替机器指令中操作码和
地址码的一种语言.(如:ADD 代表“+” SUB代表“-” MOV代表“传递”)
特点:优点——(1)程序直观容易阅读;(2)编程工作量相对小;
缺点——(1)只能在一种型号机器上运行;(2)不能直接在计算机上运行。

3)高级程序设计语言(第三代语言:50年代中期提出):高级程序设计语言是一种面向过程
或者面向对象的语言,不面向机器,用一些符号或者数字对求解的问题或者现实世界进行描述。

特点:a) 直观、易写、易读、工作量小
b) 不依赖于具体的机器
c) 便于程序交流
d) 不可直接在计算机上运行,经编译程序编译成机器语言后方可运行
4)超高级程序设计语言(第四代语言):只需指出所求问题、输入数据及输出形式,就能得到
输出结果,无需对算法和计算过程描述的语言。

特点:a) 语言功能强,效率高,使用方便;
b) 开发应用系统修改方便、维护容易;
c) 系统复杂,不但要编译还要生成程序。

3.三种翻译程序的定义
解释程序:将高级语言写的源程序作为输入数据,但并不产生目标程序,而是边解释边执行源程序
本身的一种程序。

编译程序:是将高级语言写的源程序翻译成目标语言(汇编语言、机器语言)的程序。

这种翻译过程
称为编译。

编译系统:目标程序,再加上运行系统(如服务子程序、动态分配程序、装配程序等)就可获得计算
结果,整个系统称为编译系统。

汇编程序:把汇编语言写的源程序翻译成机器语言的目标程序,这个翻译过程称为汇编。

4.编译基本过程
编译过程基本包括以下几个步骤:1.词法分析 2.语法分析 3.语义分析 4.中间代码生成 5.修饰优
化 6.生成目标程序
5.趟程(遍)的定义
定义:从头到尾扫描一遍源程序或等价源程序,并做有关加工处理,称趟程。

6.编写编译程序的三种方式
a)直接用机器语言编写编译程序b)用汇编语言编写编译程序c)用系统程序设计语言编写
7.四种开发技术的基本概念
自编译:如果一种高级语言与之相应的编译程序也能直接用该语言本身写出来 , 具有这种性质语言称自编译语言 , 即自编译。

能够编译自身的编译程序称自编译程序。

交叉编译:如果一个 A 机器上编译程序能产生 B 机器的目标代码 , 则称这种程序为交叉编译程序。

自展技术:自展技术可以由一个功能较小的编译程序,一级一级扩充而变成一个功能较强的编译程序。

移植:是编译程序开发中一项十分重要技术 , 移植就是把一台计算机上的软件移植到另一台计算机上去。

相关主题