软件水平考试

编译器和解释器是两种基本的高级语言处理程序。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,其中,( )并不是每个编译器都必需的 A.词法分析和语法分析 B.语义分析和中间代码生成 C.中间代码生成和代码优化 D.代码优化和目标代码生成

题目
编译器和解释器是两种基本的高级语言处理程序。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,其中,( )并不是每个编译器都必需的

A.词法分析和语法分析
B.语义分析和中间代码生成
C.中间代码生成和代码优化
D.代码优化和目标代码生成
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

试题(22)

编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中, (22) 并不是每种编译器都必需的。

(22)

A. 词法分析和语法分析

B. 语义分析和中间代码生成

C. 中间代码生成和代码优化

D. 代码优化和目标代码生成


正确答案:C
试题(22)分析
本题考查程序语言翻译基础知识。
编译器对高级语言源程序的处理过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,以及符号表管理模块和出错处理模块。在编译器的分析综合模式中,前端将源程序翻译成一种中间表示,后端根据这个中间表示生成目标代码。目标语言的细节尽可能限制在后端。尽管可以将源程序直接翻译成目标语言代码,但使用与机器无关的中间表示形式具有以下优点:
① 重置目标比较容易。不同机器上的编译器可以在已有前端的基础上附加一个适合这个机器的后端来生成。
② 可以在中间表示上应用与机器无关的代码优化器。
参考答案
(22)C

第2题:

编译器和解释器是两种高级语言处理程序,与解释器相比,(186)。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,(187)和中间代码生成并不是每种编译器都必需的。词法分析的作用是识别源程序中的(188);语法分析中的预测分析法是(189)的一种语法分析方法;编译器在(190)阶段进行表达式的类型检查及类型转换。

A.编译器不参与运行控制,程序执行的速度慢

B.编译器参与运行控制,程序执行的速度慢

C.编译器参与运行控制,程序执行的速度快

D.编译器不参与运行控制,程序执行的速度快


正确答案:D

第3题:

●编译器和解释器是两种高级语言处理程序,与编译器相比, (29) 。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和 (30) 并不是每种编译器都必需的。词法分析的作用是识别源程序中的 (31) ;语法分析中的预测分析法是 (32) 的一种语法分析方法;编译器在 (33) 阶段进行表达式的类型检查及类型转换。

(29) A.解释器不参与运行控制,程序执行的速度慢

B.解释器参与运行控制,程序执行的速度慢

C.解释器参与运行控制,程序执行的速度不变

D.解释器不参与运行控制,程序执行的速度快

(30) A.词法分析

B.语义分析

C.中间代码生成

D.语法分析

(31) A.字符串

B.单词

C.语句

D.标识符

(32) A.自左至右

B.自顶向下

C.自底向上

D.自右至左

(33) A.词法分析

B.语法分析

C.语义分析

D.中间代码生成


正确答案:B,C,B,B,C
【解析】在编译方式下,源程序的编译和目标代码的执行是两个独立的阶段,即编译器不参与目标代码的执行。而在解释方式下,解释器将源程序逐句地进行翻译,并立即执行。因此,解释器参与运行控制。由于解释器将两个过程一次完成,所以速度较慢。并不是所有的编译器都经过中间代码阶段和代码优化阶段,可以直接生成目标代码,然后不经过优化便执行。 词法分析的任务是读入一个字符串,根据词法规则,将字符串划分成有意义的单词。预测分析法根据已经分析的结果预测下一句可能出现的情况,是一种自顶向下的分析方法。语义分析主要是根据语义规则以及词法分析的结果,对源程序进行语义检查,包括类型方面检查,运算合法性检查等语义检查。

第4题:

●编译器对高级语言源程序的处理过程可以划分为同法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和 ()并不是每种编译器部必需的。()A.词法分析 B.语法分析 C.中间代码生成 D.语义分析


正确答案:C
中间代码生成:在语法和语义分析的基础上,将源程序转变为一种内部表示形式(中间语言、中间代码),它通常易于生成、易于翻译成目标代码。不过,并不是所有的语言都必须经过这一步。
代码优化:对前阶段生成的中间代码进行变换或改造,以使生成的目标代码更节省时间和空间。不过,这个工作也并非是每种编译器都需要的。

第5题:

在编译器和解释器的工作过程中,( )是指对高级语言源程序进行分析以识别出记号的过程。

A.词法分析 B.语法分析 C.语义分析 D.代码优化


正确答案:A

第6题:

编译器和解释器是两种高级语言处理程序,与编译器相比,(29)。编译器对高级语言源程序的处理过程可以划分为问法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和(30)并不是每种编译器都必需的。词法分析的作用是识别源程序中的(31);语法分析中的预测分析法是(32)的一种语法分析方法;编译器在(33)阶段进行表达式的类型检查及类型转换。

A.解释器不参与运行控制,程序执行的速度慢

B.解释器参与运行控制,程序执行的速度慢

C.解释器参与运行控制,程序执行的速度不变

D.解释器不参与运行控制,程序执行的速度快


正确答案:B
解析:在编译方式下,源程序的编译和目标代码的执行是两个独立的阶段,即编译器不参与目标代码的执行。而在解释方式下,解释器将源程序逐句地进行翻译,并立即执行。因此,解释器参与运行控制。由于解释器将两个过程一次完成,所以速度较慢。并不是所有的编译器都经过中间代码阶段和代码优化阶段,可以直接生成目标代码,然后不经过优化便执行。词法分析的任务是读入一个字符串,根据词法规则,将字符串划分成有意义的单词。预测分析法根据已经分析的结果预测下一句可能出现的情况,是一种自顶向下的分析方法。语义分析主要是根据语义规则以及词法分析的结果,对源程序进行语义检查,包括类型方面检查,运算合法性检查等语义检查。

第7题:

编译器和解释器是两种高级语言处理程序,与编译器相比,(1)。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和(2)并不是每种编译器都必需的。词法分析的作用是识别源程序中的(3);语法分析中的预测分析法是(4)的一种语法分析方法:编译器在(5)阶段进行表达式的类型检查及类型转换。

A.解释器不参与运行控制,程序执行的速度慢

B.解释器参与运行控制,程序执行的速度慢

C.解释器参与运行控制,程序执行的速度快

D.解释器不参与运行控制,程序执行的速度快


正确答案:B

第8题:

编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中,(22)并不是每种编译器都必需的。

A.词法分析和语法分析

B.语义分析和中间代码生成

C.中间代码生成和代码优化

D.代码优化和目标代码生成


正确答案:C
解析:本题考查程序语言翻译基础知识。编译器对高级语言源程序的处理过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,以及符号表管理模块和出错处理模块。在编译器的分析综合模式中,前端将源程序翻译成一种中间表示,后端根据这个中间表示生成目标代码。目标语言的细节尽可能限制在后端。尽管可以将源程序直接翻译成目标语言代码,但使用与机器无关的中间表示形式具有以下优点:①重置目标比较容易。不同机器上的编译器可以在已有前端的基础上附加一个适合这个机器的后端来生成。②可以在中间表示上应用与机器无关的代码优化器。

第9题:

编译和解释是实现高级语言翻译的两种基本方式,相对应的程序分别称为编译器和 解释器。与编译器相比,解释器(28)。编译器对高级语言源程序的处理过程可以划 分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个 阶段;其中,代码优化和 (29) 并不是每种编译器都必需的。词法分析的作用是识 别源程序中的(30)。

A.不参与用户程序的运行控制,用户程序执行的速度更慢

B.参与用户程序的运行控制,用,,程序执行的速度更慢

C.参与用户程序的运行控制,用,,程序执行的速度更快

D.不参与用户程序的运行控制,月户程序执行的速度更快


正确答案:B
本题考查程序语言基础知识。在实现程序语言的编译和解释两种方式中,编译方式下会生成用户源程序的目标代码,而解释方式下则不产生目标代码。目标代码经链接后产生可执行代码,可执行代码可独立加载运行,与源程序和编译程序都不再相关。而在解释方式下,在解释器的控制下执行源程序或其中间代码,因此相对而言,用户程序执行的速度更慢。中间代码生成和优化不是编译过程中必需的阶段。对用户源程序依次进行了词法分析、语法分析和语义分析后,原则上就可以产生目标代码了,只是目标代码的质量和效率可能不够高。词法分析时编译或解释用户源程序过程中唯一与源程序打交道的阶段,其主要功能是按顺序分析出源程序的记号。

第10题:

编译器和解释器是两种基本的高级语言处理程序。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,其中,(请作答此空)并不是每个编译器都是必需的。与编译器相比,解释器 ( ) 。

A.词法分析和语法分析
B.语义分析和中间代码生成
C.中间代码生成和代码优化
D.代码优化和目标代码生成

答案:C
解析:
本题考查程序语言基础知识。解释程序也称为解释器,它可以直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,然后在计算机上运行目标程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。分阶段编译器的工作过程如下图所示。其中,中间代码生成和代码优化不是必需的。

更多相关问题