将编译器的工作过程划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成时,语法分析阶段的输入是(18)________。若程序中的括号不配对,则会在(19)________阶段检查出该错误。 (19)

admin2021-03-25  57

问题 将编译器的工作过程划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成时,语法分析阶段的输入是(18)________。若程序中的括号不配对,则会在(19)________阶段检查出该错误。
(19)

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

答案B

解析 本题考查程序语言基础知识。   
编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或机器语言)。编译程序的工作过程可以分为6个阶段,如右图所示,在实际的编译器中可能会将其中的某些阶段结合在一起进行处理。   
源程序可以简单地被看成是一个多行的字符串。词法分析阶段的任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号,称为记号。

在词法分析的基础上,语法分析的任务是根据语言的语法规则将记号(单词符号)序列分解成各类语法单位,如“表达式”  “语句”和“程序”等。   
语义分析阶段分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息供后面的代码生成阶段使用。只有语法和语义都正确的源程序才能翻译成正确的目标代码。    括号不匹配属于语法错误,在语法分析阶段可以发现该错误。
转载请注明原文地址:https://jikaoti.com/ti/oLI7FFFM
0

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