1 北航本科编译原理课件课本 张莉
第一章 概 论
• 编译的起源:程序设计语言的发展
• 编译的起源:程序设计语言的发展
• 基本概念
• 基本概念
• 编译过程和编译程序构造
• 编译过程和编译程序构造
• 编译技术的应用
• 编译技术的应用
北京航空航天大学计算机学院 1
1.1 程序设计语言的发展
1.1 程序设计语言的发展
机器语言 汇编语言 面向用户 面向问题
(机器指令) 的语言 的语言
低级语言 高级语言
北京航空航天大学计算机学院 2
• 低级语言 (Low level Language)
– 字位码、机器语言、汇编语言
– 特点:与特定的机器有关,效率高、灵活,但使用复
杂、繁琐、编写费时、易出错
• 高级语言
-- Fortran、Pascal 、C 语言等
– 特点:不依赖具体机器,移植性好、便于描述问题处
理过程和算法、易使用、易维护等。
用高级语言编制的程序,计算机不能立即执行,
必须通过一个“翻译程序”加工,转化为与其等价的
机器语言程序,机器才能执行。
这种翻译程序,称之为“编译程序”。
北京航空航天大学计算机学院 3
1.2 基本概念
1.2 基本概念
• 源程序
用汇编语言或高级语言编写的程序称为源程序。
• 目标程序
用目标语言所表示的程序。
目标语言:可以是某种机器的机器语言或汇编语言,
也可以是介于源语言和机器语言之间的“ 中间语言” ,
甚至可以是另一种高级语言。
• 翻译程序
将源程序转换为 目标程序的程序称为翻译程序。
它是指各种语言的翻译器,包括汇编程序和编译程序,
是汇编程序、编译程序以及各种变换程序的总称。
北京航空航天大学计算机学院 4
源程序、翻译程序、目标程序 三者关系:
源程序 翻译程序 目标程序
SOURCE TRANSLATER OBJECT
PROGRAM PROGRAM
即源程序是翻译程序的输入,目标程序是翻译程序的输出
北京航空航天大学计算机学院 5
• 汇编程序
若源程序用汇编语言书写,经过翻译程序得到用机器语言
表示的程序,这时的翻译程序就称之为汇编程序,这种翻译过
程称为“汇编”(Assemble )
• 编译程序
若源程序是用高级语言书写,经加工后得到目标程序,
这种翻译过程称“编译” (Compile)
汇编程序与编译程序都是翻译程序,主要区别是加工对象的
不同。
北京航空航天大学计算机学院 6
源程序的编译和运行
源程序的编译和运行