在以阶段划分的编译器中,贯穿于编译器工作始终的是_____________。

admin2013-07-03  27

问题 在以阶段划分的编译器中,贯穿于编译器工作始终的是_____________。

选项 A、词法分析和语法分析
B、语法分析和语义分析
C、符号表管理和出错处理
D、代码优化

答案C

解析 本题考查的是编译器各阶段工作相关知识。词法分析器的任务是把源文件的字符流转换成记号流。语法分析器根据语法规则识别出记号流中的结构(短语、句子),并构造一棵能够正确反映该结构的语法树。语义分析器根据语义规则对语法树中的语法单元进行静态语义检查,如果类型检查和转换等,其目的在于保证语法正确的结构在语义上也是合法的。符号表管理的作用是记录源程序中符号的必要信息,并加以合理组织,从而在编译器的各个阶段能对它们进行快速、准确的查找和操作。出错处理:用户编写的源程序中往往会有一些错误,可分为静态错误和动态错误两类。所谓动态错误,是指源程序中的逻辑错误,它们发生在程序运行的时候,也被称作动态语义错误,如变量取值为零时作为除数,数组元素引用时下标出界等。静态错误又可分为语法错误和静态语义错误。语法错误是指有关语青结构上的错误,如单词拼写错、表达式中缺少操作数等。代码优化是编译器的一个重要组成部分,由于编译器将源程序翻译成中间代码的工作是机械的、按固定模式进行的,因此,生成的中间代码往往在时间和空间上有很大浪费。当需要生成高效目标代码时,就必须进行优化。故选择C。
转载请注明原文地址:https://jikaoti.com/ti/iKL7FFFM
0

最新回复(0)