文档介绍:计算机软件
武汉大学计算机学院
《编译原理》课程组
计算机软件包括
系统软件
支持软件
工具软件
计算机系统软件
计算机系统软件是计算机系统中最接近硬件的一层软件,它与具体的应用领域无关,如操作系统和编译程序等。
计算机系统中的其他软件一般都通过系统软件发挥作用。在任何计算机系统的设计中,系统软件都要予以优先考虑。如果没有系统软件,计算机就很难发挥效用。
程序设计语言翻译系统
计算机硬件只能识别并执行机器指令,但人们普遍习惯于使用高级程序设计语言或汇编语言来编写程序。为了让计算机能够理解高级程序设计语言或汇编语言并执行用它编写的程序,必须要为它配置一个“翻译”,这就是所谓的程序设计语言翻译系统。
程序设计语言翻译系统是一类系统软件,它能够将使用某一种源语言编写的程序翻译成与其等价的使用另一种目标语言编写的程序。
使用源语言编写的程序称为源程序,使用目标语言编写的程序称为目标程序。源程序是程序设计语言翻译系统加工的“原材料”,而目标程序则是程序设计语言翻译系统加工的“最终产品”。
不同的程序设计语言需要有不同的程序语言翻译系统,同一种程序设计语言在不同类型计算机上也需要配置不同的程序设计语言翻译系统。因此,如果有M种程序设计语言,有N种不同类型的计算机,则需要有M×N种程序设计语言翻译系统。
所谓某种类型的计算机种配置了某种程序设计语言,是指该计算机上已经配置了该语言的翻译系统。
程序设计语言翻译系统可以分成3种:
汇编语言翻译系统、
高级语言源程序翻译系统
高级语言源程序解释系统。
这些翻译系统之间的不同之处主要体现在
它们生成计算机可以执行的机器语言的过程中。
汇编语言翻译系统
其主要功能是将用汇编语言书写的程序翻译成用二进制表示的等价的机器语言程序,形成计算机可以执行的机器指令代码,如图3-1所示。
图 3-1
汇编源程序
汇编程序
翻译器
机器语言程序
汇编程序的具体翻译工作如下:
用机器操作码代替符号化的操作符。
用数值地址代替符号名字。
将常数翻译为机器的内部表示。
分配指令和数据的存储单元。