1 / 33
文档名称:

第1章 编译原理绪论.ppt

格式:ppt   大小:249KB   页数:33页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第1章 编译原理绪论.ppt

上传人:xxj16588 2017/2/20 文件大小:249 KB

下载得到文件列表

第1章 编译原理绪论.ppt

文档介绍

文档介绍:第1章绪论第1章绪论 编译程序概述 编译程序的工作过程与结构 编译程序的开发 构造编译程序所应掌握的内容第1章绪论 编译程序概述为了处理和解决实际问题,每一种计算机都具有其特定的功能,而这些功能是通过计算机执行一系列相应的操作来实现的。计算机所能执行的每一种操作称为一条指令,计算机能够执行的全部指令集合就是该计算机的指令系统。由于计算机硬件的器件特性, 决定了计算机本身只能直接接受由 0和1 编码的二进制指令和数据,这种二进制形式的指令集合称为该计算机的机器语言,它是计算机惟一能够直接识别并接受的语言。第1章绪论用机器语言编写程序很不方便且容易出错,编写出来的程序也难以调试、阅读和交流。为此,出现了用助记符代替机器语言二进制编码的另外一种语言, 这就是汇编语言。汇编语言是建立在机器语言之上的, 因为它是机器语言的符号化形式,所以较机器语言直观;但是计算机并不能直接识别这种符号化语言,用汇编语言编写的程序必须翻译成机器语言之后才能执行,这种“翻译”是通过专门的软件——汇编程序实现的。第1章绪论尽管汇编语言与机器语言相比在阅读和理解上有了长足的进步,但其依赖具体机器的特性是无法改变的,这给程序设计增加了难度。随着计算机应用需求的不断增长,出现了更加接近人类自然语言的功能更强、抽象级别更高的面向各种应用的高级语言。高级语言已经从具体机器中抽象出来,摆脱了依赖具体机器的问题。用高级语言编制的程序几乎能够在不改动的情况下在不同种类的计算机上运行且不易出错,这是汇编语言难以做到的,但高级语言程序翻译(编译) 成最终能够直接执行的机器语言程序的难度却大大增加了。第1章绪论由于汇编语言和机器语言一样都是面向机器的, 故相对于面向用户的高级语言来说,它们都称之为低级语言,而 FORTRAN 、 PASCAL 、C、 ADA 、 Java 这类面向应用的语言则称之为高级语言。因此,编译程序就是指这样一种程序,通过它能够将用高级语言编写的源程序转换成与之在逻辑上等价的低级语言形式的目标程序,见图 1–1。第1章绪论图 1-1 编译程序的功能高级语言程序( 源程序) 编译程序计算机低级语言程序( 目标程序) 第1章绪论一个高级语言程序的执行通常分为两个阶段,即编译阶段和运行阶段,如图 1–2 所示。编译阶段将源程序变换成目标程序;运行阶段则由所生成的目标程序连同运行系统(数据空间分配子程序、标准函数程序等)接受程序的初始数据作为输入,运行后输出计算结果。如果编译生成的目标程序是汇编语言形式,那么在编译与运行阶段之间还要添加一个汇编阶段,它将编译生成的汇编语言目标程序再经过汇编程序变换成机器语言目标程序,如图 1–3所示。第1章绪论图 1-2 源程序的编译和运行阶段源程序( 高级语言) 编译程序计算机目标程序( 机器语言) 编译阶段初始数据目标程序计算机运行系统计算结果运行阶段第1章绪论图1–3 源程序的编译、汇编和运行阶段源程序( 高级语言) 编译程序计算机目标程序( 汇编语言) 汇编程序计算机目标程序( 机器语言) 运行系统计算机计算结果初始数据编译阶段汇编阶段运行阶段第1章绪论用高级语言编写的程序也可通过解释程序来执行。解释程序也是一种翻译程序,它将源程序作为输入, 一条语句一条语句地读入并解释执行,如图 1–4 所示。解释程序与编译程序的主要区别是:编译程序是将源程序翻译成目标程序后再执行该目标程序,而解释程序则是逐条读出源程序中的语句并解释执行,即在解释程序的执行过程中并不产生目标程序。典型的解释型高级语言是 BASIC 语言。