问题详情

试题(22)编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中, (22) 并不是每种编译器都必需的。(22)


A、词法分析和语法分析

B、语义分析和中间代码生成

C、中间代码生成和代码优化

D、代码优化和目标代码生成

时间:2022-01-11 23:47 关键词:

答案解析

C
试题(22)分析本题考查程序语言翻译基础知识。编译器对高级语言源程序的处理过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,以及符号表管理模块和出错处理模块。在编译器的分析综合模式中,前端将源程序翻译成一种中间表示,后端根据这个中间表示生成目标代码。目标语言的细节尽可能限制在后端。尽管可以将源程序直接翻译成目标语言代码,但使用与机器无关的中间表示形式具有以下优点:① 重置目标比较容易。不同机器上的编译器可以在已有前端的基础上附加一个适合这个机器的后端来生成。② 可以在中间表示上应用与机器无关的代码优化器。参考答案(22)C