1、解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。
2、解释程序的一般结构可以分为解释模块和运行模块两个主要模块。前者的职能是按源程序动态执行顺序逐个输入语句,并对单个语句进行分析和解释,包括语法和语义的正确性检验、生成等价的中间代码或机器语言代码,以及错误信息提供等处理。后者的职能是运行语句的翻译代码,并输出中间结果或最终结果。
3、由于解释程序的设计思想不同,运行模块的执行方式也不同。一种方法是解释模块直接生成源程序语句等价的机器语言代码;通常一个语句生成多条机器指令的代码段。运行模块负责控制这段代码的执行并处理中间结果(保存或输出)。另一种方法是,解释模块生成语句等价的中间代码(但不是机器语言代码),如程序调用及其参数形式。运行模块负责选择相应功能部分并控制中间代码的执行,并处理相关运行结果。
迷你百科简约而不简单