编译和解释是实现高级程序设计语言翻译的两种基本形式。以下关于编译与解释的叙述中,

免费题库2022-08-02  50

问题 编译和解释是实现高级程序设计语言翻译的两种基本形式。以下关于编译与解释的叙述中,正确的是(  )。A.在解释方式下,对源程序不进行词法分析和语法分析,直接进行语义分析B.在解释方式下,无需进行词法、语法和语义分析,而是直接产生源程序的目标代码C.在编译方式下,必须进行词法、语法和语义分析,然后再产生源程序的目标代码D.在编译方式下,必须先形成源程序的中间代码,然后再产生与机器对应的目标代码

选项 A.在解释方式下,对源程序不进行词法分析和语法分析,直接进行语义分析
B.在解释方式下,无需进行词法、语法和语义分析,而是直接产生源程序的目标代码
C.在编译方式下,必须进行词法、语法和语义分析,然后再产生源程序的目标代码
D.在编译方式下,必须先形成源程序的中间代码,然后再产生与机器对应的目标代码

答案 C

解析 编译和解释是语言处理的两种基本方式。编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段,以及符号表管理与出错处理模块。
解释过程在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序或源程序的内部形式。
这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源码程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。
在编译方式下,词法、语法和语义分析是必须要进行的工作,而生产中间代码和优化则是可以进行也可以不进行。
转载请注明原文地址:https://tihaiku.com/congyezige/2410255.html

最新回复(0)