问题
单项选择题
编译程序与解释程序的不同之处是()。
A.解释程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码
B.编译程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码
C.编译程序不生成源程序的目标代码,而解释程序则产生源程序的目标代码
D.编译程序生成源程序的目标代码,而解释程序则不产生源程序的目标代码
答案
参考答案:D
解析:
本题考查程序语言翻译基础知识。 编译和解释方式是翻译高级程序设计语言的两种基本方式。编译过程一般划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成六个 阶段,以及贯穿编译全过程的符号表管理和出错管理。解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标 语言程序,然后在计算机上运行目标程序。这两种方式的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标 程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。简单来说,解释器翻译源 程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。