编译过程中,对高级语言程序语名的翻译主要考虑声明语名和可执行语句。对声明语句,主

题库2022-08-02  59

问题 编译过程中,对高级语言程序语名的翻译主要考虑声明语名和可执行语句。对声明语句,主要是将所需要的信息正确地填入合理组织的(  )中;对可执行语句,则是(  )。问题1选项A.符号表B.栈C.队列D.树问题2选项A.翻译成机器代码并加以执行B.转换成语法树C.翻译成中间代码或目标代码D.转换成有限自动机

选项

答案 AC

解析 编译程序的功能是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(汇编语言或机器语言)的翻译过程。工作过程分为6个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。
各个阶段逻辑上可以分为前端和后端。前端主要负责解析输入的源代码,由语法分析器和语意分析器协同工作。语法分析器负责把源代码中的‘单词’找出来,语义分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式、语句、函数等等。前端还负责语义的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树,这样后端可以在此基础上进一步优化处理。
后端编译器后端主要负责分析,优化中间代码以及生成机器代码。
对于声明语句,需要记录符号信息,因此应该填入合理组织的符号表,而对于可执行语句,需要翻译成中间代码或目标代码。
转载请注明原文地址:https://tihaiku.com/congyezige/2409893.html

最新回复(0)