首页 理论教育计算机导论:编译基本概念

计算机导论:编译基本概念

【摘要】:编译程序相当于两种语言系统之间的“翻译”。用高级语言编写的源程序只有经过编译程序的“翻译”,变成了目标程序,计算机才可以识别和运行。编译程序有两种“翻译”方式,一种是图7-8所示的完整的翻译后再执行的方式,完成这种翻译工作的程序称作编译程序。解释程序与编译程序的区别是,解释程序在翻译过程中不产生目标程序,而是边翻译边执行源程序本身。这种边翻译边执行的工作方式的最大缺点是效率太低,最大优点是简单易实现。

我们把高级语言形式的程序称为源程序,把机器语言形式的程序称为目标程序,编译程序是用来把源程序转换为等价的目标程序的程序。编译程序相当于两种语言系统之间的“翻译”。用高级语言编写的源程序只有经过编译程序的“翻译”,变成了目标程序,计算机才可以识别和运行。

要在计算机上执行用高级语言编写的程序,一般需要经过编译和运行两个阶段。在编译阶段,计算机把高级语言形式的源程序编译为机器语言;在运行阶段,计算机运行目标程序,得到程序的处理结果。计算机执行高级语言程序的步骤如图7-8所示。

图7-8 计算机执行高级语言程序的步骤

图7-8中的计算机A和计算机B可以是同一台(或同一种类型)的计算机,也可以是不同类型的计算机。(www.chuimin.cn)

计算机在运行目标程序时,除需要目标程序外,还需要一些辅助程序配合,例如,数据格式转换程序、标准函数程序等是这种辅助程序。因此,一个完整的编译软件包括编译程序和运行程序两大部分。一般用术语编译系统来表示完整的编译软件。

编译程序有两种“翻译”方式,一种是图7-8所示的完整的翻译后再执行的方式,完成这种翻译工作的程序称作编译程序。另一种是边翻译边执行的方式,完成这种翻译工作的程序称作解释程序。解释程序与编译程序的区别是,解释程序在翻译过程中不产生目标程序,而是边翻译边执行源程序本身。这种边翻译边执行的工作方式的最大缺点是效率太低,最大优点是简单易实现。一些功能较弱的简单高级语言(如BASIC语言)采用这种解释方式,大部分高级语言都采用编译方式。现在也有一些高级语言采用编译方式和解释方式相结合的工作方式。

编译软件(或称编译系统)已成为目前计算机系统最重要的系统软件之一。