前言
语言处理程序是一类系统软件的总称,其主要作用是将高级语言或汇编语言编写的程序翻译成某种机器语言程序,使程序可在计算机上运行。语言处理程序主要分为汇编程序、编译程序和解释程序 3 中基本类型。
正文
1. 汇编语言三类语句
- 指令语句。指令语句又称为机器指令语句,将其汇编后能产生相应的机器代码,这些代码能被 CPU 直接识别并执行相应的操作。基本的指令有 ADD、SUB 和 AND 等,书写指令语句时必须遵循指令的格式要求。
- 伪指令语句。伪指令语句只是汇编程序在汇编程序时完成某些工作,例如为变量分配存储单元地址,给某个符号赋一个值等。伪指令语句与指令语句的区别是:伪指令语句经汇编后不产生机器代码,而指令语句经汇编后要产生对应的机器代码。另外,伪指令所指示的操作是在源程序被汇编时完成的,而指令语句的操作必须在程序运行时完成。
- 宏指令语句。在汇编语言中,还允许用户将多次重复使用的程序段定义为宏。宏的定义必须按照响应的规定进行,每个宏都有相应的宏名。在程序的任意位置,若需要使用这段程序,只要在相应的位置使用宏名,即相当于使用了这段程序。因此,宏指令语句就是宏引用。
2. 解释程序
- 解释程序。是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序和源程序的中间表示形式。因此,解释程序不产生源程序的目标程序,这是它和编译程序的主要区别。
- 解释程序的基本结构。解释程序通常可以分成两部分:第一部分是分析部分,包括通常的词法分析、语法分析和语义分析程序,经语义分析后把源程序翻译成成中间代码,中间代码采用逆波兰表示形式。第二部分是解释部分,用来对第一部分产生的中间代码进行解释执行。
3.高级语言编译与解释方式的比较
- 效率。编译比解释方式可能取得更高的效率。一般情况下,在解释方式下运行程序时,解释程序可能需要反复扫描源程序。在空间上,以解释方式运行程序需要更多的内存,因为系统不但需要为用户程序分配运行空间,而且要为解释程序及其支撑程序系统分配空间。虽然与仔细写出的机器程序相比,由编译程序创建的目标程序运行的时间一般更长,需要占用的存储空间更多,但源程序只需要被编译程序翻译一次就可以多次运行。因此,总体来将,编译方式比解释方式可能取得更高的效率。
- 灵活性。由于解释程序需要反复检查源程序,这也使得解释方式能够比编译方式更灵活。当解释程序直接运行源程序时,“在运行中”修改程序就称为可能。另外,当解释器直接在源程序上工作时,它可以对错误进行更精确地定位。
- 可移植性。解释器一般也是用某种程序设计语言编写的,因此只要对解释器进行重新编译,就可以使解释器运行在不同的环境中。