理论教育 编译原理与程序设计语言处理系统

编译原理与程序设计语言处理系统

时间:2023-11-24 理论教育 版权反馈
【摘要】:负责完成这些转换功能的软件就是汇编器、编译器、解释器等,它们统称为程序设计语言处理系统。图3-6 汇编器2.编译器用高级语言编写的程序称为高级语言源程序,把用高级语言编写的源程序翻译成机器语言目标程序的过程称为编译,完成编译工作的软件称为编译器。可执行程序全部由能被机器理解并执行的机器指令组成,运行时不再需要源程序和编译器,运行速度快。但这种方式不够灵活,每次修改源程序后,都必须重新编译和连接。

编译原理与程序设计语言处理系统

机器语言发展到汇编语言,再由汇编语言发展到高级语言,人们编写程序越来越便捷。但实际上,计算机真正能理解的语言只有机器语言,无论是用汇编语言还是高级语言,编写出的程序都必须先被转换成相应等价的机器语言程序才能被计算机理解执行。

这种翻译工作都由专门的语言处理系统来完成。语言处理系统的作用就是把用高级语言或汇编语言编写的程序转换成可被计算机理解执行的机器程序。负责完成这些转换功能的软件就是汇编器、编译器、解释器等,它们统称为程序设计语言处理系统。

1.汇编器

用汇编语言编写的程序称为汇编语言源程序,转换成的机器语言程序称为目标程序。汇编语言源程序需要由一种“翻译”程序来将源程序转换为机器语言目标程序,这种翻译程序被称为汇编器或者汇编程序。汇编语言语句与机器语言语句具有一一对应性,一条汇编语言助记符指令对应一条机器指令,如图3-6所示。

图3-6 汇编器

2.编译器

用高级语言编写的程序称为高级语言源程序,把用高级语言编写的源程序翻译成机器语言目标程序的过程称为编译,完成编译工作的软件称为编译器。一条高级语言语句往往可由若干条机器语言语句实现,如图3-7所示。(www.daowen.com)

图3-7 编译器

以上所说的编译器是广义的编译器,能将高级语言源程序转换成机器语言目标程序。实际上编译器通常由两部分组成:编译程序和汇编程序,如图3-8所示。

图3-8 编译器实现

编译器在实际工作中,首先将高级语言源程序通过编译程序转换成汇编语言源程序,然后再通过汇编器的作用,将汇编语言源程序转换成机器语言目标程序。将汇编器集成到编译器,能大大降低编译器的制作难度。

源程序经过编译后,若无错误就会生成一个等价的目标程序,由于一个大型程序通常被分为多个部分进行编译,会形成多个目标程序,因此还需要链接器将多个目标程序连接到一起,形成真正能在机器上运行的可执行程序。可执行程序全部由能被机器理解并执行的机器指令组成,运行时不再需要源程序和编译器,运行速度快。但这种方式不够灵活,每次修改源程序后,都必须重新编译和连接。目前使用的FORTRAN、C、Pascal等高级语言都采用这种方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈