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

admin2019-04-30  27

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

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

答案B

解析 计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。并不是所有的编译器都有中间代码阶段和代码优化阶段。词法分析阶段是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也称单词符号或符号)。预测分析法根据已经分析出的结果,对可能出现的情况进行预测,它是一种自顶向下的分析方法。语义分析阶段的任务是审查源程序有无语义错误。源程序中有些语法成分,按照语法规则去判断,它是正确的,但它不符合语义规则。比如使用了没有声明的变量;或者给一个过程名赋值;或者调用函数时参数类型不合适或者参加运算的两个变量类型不匹配等等。
转载请注明原文地址:https://kaotiyun.com/show/UNVZ777K
0

相关试题推荐
最新回复(0)