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

admin2019-05-23  25

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

选项 A、词法分析
B、语法分析
C、语义分析
D、目标代码生成

答案C

解析 编译器和解释器是两种高级语言处理程序,编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样,运行时,计算机可以直接以机器语言来运行此程序,速度很快,编译器不参与运行控制。解释器则是只在执行程序时,才一条一条的解释成机器语言让计算机执行,所以运行速度是不如编译后的程序运行得快,解释器参与了运行控制。本题第1空的正确答案为选项B。
   编译过程涉及如下阶段:
   ①词法分析阶段。这个阶段中,对源程序从前到后进行扫描,从中识别出一个个“单词”符号。本题第3空的正确答案为选项B。
   ②语法分析阶段。在词法分析的基础上,根据语言的语法规则,将单词符号序列分解为各类语法单位。语法分析中,有自顶向下分析和自底向上分析。预测分析法是自顶向下的语法分析方法。第4空的正确答案为选项B。
   ③语义分析阶段。主要检查源程序中是否存在语义错误,并收集类型信息,供后面的代码生成阶段使用。只有语法和语义都正确的源程序,才能翻译为正确的目标代码。语法分析阶段的一个主要任务是进行类型分析和检查。编译器在这个阶段进行表达式的类型检查及类型转换。第5空的正确答案为选项C。
   ④中间代码生成阶段。在这个阶段中,根据语义分析的输出,生成中间代码。
   ⑤代码优化阶段。因为中间代码在时间和空间上都有很大的浪费,代码优化阶段的任务是,生成高效的目标代码。
   ⑥目标代码生成阶段。把中间代码变换为特定机器上的绝对指令代码、可重定位的指令代码和汇编指令代码。
   其中,代码优化和中间代码生成阶段,并不是每个编译器都必须的。第2空的正确答案为选项C。
转载请注明原文地址:https://kaotiyun.com/show/UaVZ777K
0

最新回复(0)