组成模块
解释程序的一般结构可以分为解释模块和运行模块两个主要模块。前者的职能是按源程序动态执行顺序逐个输入语句,并对单个语句进行分析和解释,包括语法和语义的正确性检验、生成等价的中间代码或机器语言代码,以及错误信息提供等处理。后者的职能是运行语句的翻译代码,并输出中间结果或最终结果。由于解释程序的设计思想不同,运行模块的执行方式也不同。一种方法是解释模块直接生成源程序语句等价的机器语言代码;通常一个语句生成多条机器指令的代码段。运行模块负责控制这段代码的执行并处理中间结果(保存或输出)。另一种方法是,解释模块生成语句等价的中间代码(但不是机器语言代码),如程序调用及其参数形式。运行模块负责选择相应功能部分并控制中间代码的执行,并处理相关运行结果。
实现方法
解释程序与编译程序的主要区别是解释程序不产生目标代码,它逐条地取出源程序中的语句,边解释,边执行。实现解释程序可以分为两遍扫描完成;
第一遍读入源程序,由扫描器和部分语法分析器完成,其主要工作是:
·对源程序进行词法检查和部分语法检查;
·把源程序字符串转化为内部形式的源程序(单词符号串);
·建立各种符号表,为解释执行阶段做准备。
第二遍解释执行,由解释执行程序完成,其主要工作是:
·使用第一阶段形成的符号表对内部源程序逐条解释执行;
·在解释执行过程中,进行全部语法检查。
----菏泽软件公司----
上一篇:中央处理器-多线程及控制器
下一篇:没有了