●编译器和解释器是两种高级语言处理程序,与编译器相比, (29) 。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和 (30) 并不是每种编译器都必需的。词法分析的作用是识别源程序中的 (31) ;语法分析中的预测分析法是 (32) 的一种语法分析方法;编译器在 (33) 阶段进行表达式的类型检查及类型转换。解释器不参与运行控制,程序执行的速度慢解释器参与运行控制,程序执行的速度慢解释器参与运行控制,程序执行的速度不变解释器不参与运行控制,程序执行的速度快(30)
A、词法分析
B、语义分析
C、中间代码生成
D、语法分析(31) A.字符串B.单词C.语句D.标识符(32) A.自左至右B.自顶向下C.自底向上D.自右至左(33) A.词法分析B.语法分析C.语义分析D.中间代码生成
查看答案
正确答案
试题解析
【解析】在编译方式下,源程序的编译和目标代码的执行是两个独立的阶段,即编译器不参与目标代码的执行。而在解释方式下,解释器将源程序逐句地进行翻译,并立即执行。因此,解释器参与运行控制。由于解释器将两个过程一次完成,所以速度较慢。并不是所有的编译器都经过中间代码阶段和代码优化阶段,可以直接生成目标代码,然后不经过优化便执行。 词法分析的任务是读入一个字符串,根据词法规则,将字符串划分成有意义的单词。预测分析法根据已经分析的结果预测下一句可能出现的情况,是一种自顶向下的分析方法。语义分析主要是根据语义规则以及词法分析的结果,对源程序进行语义检查,包括类型方面检查,运算合法性检查等语义检查。