解释程序
解释程序(英文:Interpreter)是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时它直接执行源程序或源程序的内部形式,因此解释程序并不产生目标程序,这是它和编译程序的主要区别。解释程序的一般结构可以分为解释模块和运行模块两个主要模块,解释模块的职能是按源程序动态执行顺序逐个输入语句,并对单个语句进行分析和解释。运行模块的职能是运行语句的翻译代码,并输出中间结果或最终结果。
基本信息
- 中文名
解释程序
- 外文名
interpreter
- 类型
系统程序
- 别称
解释器
工作原理
解释程序由一个总控程序和若干个执行 子程序组成。解释程序的工作过程如下:首先,由总控程序执行初始准备工作,置工作初态;然后,从 源程序中取一个语句S,并进行语法检查。如果语法有错,则输出 错误信息;否则,根据所确定的语句类型转去执行相应的执行 子程序。返回后检查解释工作是否完成,如果未完成,则继续解释下一语句;否则,进行必要的善后处理工作。
功能特点
特点
解释程序的工作方式非常适于人通过 终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。
这的确是很方便的,很适合于一些 小型机的计算问题。但解释程序执行速度很慢,例如 源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。
对 源程序边解释翻译成机器代码边执行的高级语言程序。所以,解释程序的功能是:解释执行高级语言程序。由于它的方便性和 交互性较好,早期一些高级语言采用这种方式,如BASIC、dBASE。但它的弱点是运行效率低,程序的运行依赖于 开发环境,不能直接在操作系统下运行。
解释程序的突出优点是可简单地实现,且易于在 解释执行过程中灵活、方便地插入修改和调试措施,但最大缺点是执行效率很低。例如,需要多次重复执行的语句,采用 编译程序时只需要翻译一次;但在解释程序中却需要重复翻译,重复执行。
适用范围
根据这些特点,解释程序适用于如下场合:
随着超大规模集成电路的迅速发展,不少人提出用微程序设计方法实现高级 程序设计语言解释程序的想法,随之出现了如 “FORTRAN机”之类的高级语言机器的概念。