解释程序(Interpreter)是一种 语言处理程序,它在运行用户程序时直接执行源程序或源程序的内部形式,因此 不产生目标程序。这与编译程序不同,编译程序会在程序运行前将整个源程序翻译成机器语言的目标程序。
解释程序的工作原理通常包括以下步骤:
初始准备工作:
由总控程序执行初始准备工作,置工作初态。
语句取读与语法检查:
从源程序中取一个语句,并进行语法检查。如果语法有错,则输出错误信息;否则,根据所确定的语句类型转去执行相应的执行子程序。
执行子程序:
执行相应的执行子程序,输出中间结果或最终结果。
解释程序的一般结构可以分为解释模块和运行模块两个主要模块:
解释模块:按源程序动态执行顺序逐个输入语句,并对单个语句进行分析和解释。
运行模块:运行语句的翻译代码,并输出中间结果或最终结果。
需要注意的是,有些解释程序可能会先将源程序翻译成某种中间代码形式,然后对中间代码进行解释和实现用户程序的运行,这种方式下,解释程序仍然不直接产生目标程序,而是产生中间代码。
总结:
解释程序:直接执行源程序或源程序的内部形式,不产生目标程序。
编译程序:将源程序翻译成目标程序,然后执行目标程序。
因此,解释程序并不产生目标程序,这是它与编译程序的主要区别。