第一章 编译概述
导言
由于每种计算机都有着独特的指令系统,在没有翻译程序前,它只能执行用机器语言编写的程序。这种方式很不方便,为了让我们能够更好地用接近自然语言的高级语言来编写程序调用计算机资源,现代计算机不能直接接受和执行用高级语言的程序,因此,一种用于将高级语言翻译成机器语言程序的翻译程序出现了
翻译程序、编译程序、解释程序
翻译程序:把源语言所写的源程序翻译成与之等价的目标语言的程序(目标程序)。
解释程序:将源程序作为输入边解释边执行,按照源语言的定义解释执行源程序本身。
编译程序:如果源语言是高级语言(Pascal,C,Ada,Java),目标语言是汇编语言或机器语言等的低级语言,则这种翻译程序是编译程序。
编译程序的分阶段运行
一般分为编译阶段和运行阶段。
编译阶段:源程序通过编译程序翻译为机器语言目标程序
运行阶段:机器语言目标程序在输入的初始数据基础上在运行系统上运行,得出结果。
如果编译阶段生成的是汇编语言程序,则编译阶段后是汇编阶段。
汇编阶段:将汇编语言目标程序通过汇编程序翻译为机器语言目标程序。
编译程序的结构和功能
翻译的过程类似外文的翻译过程。
编译程序是将一种语言形式翻译成另一种语言形式