编译器的主要工作过程是将以文本形式输入的代码逐步转化为各种形式,最终生成可执行代码。现代编译器主要关注编译过程和程序的中间表示,围绕程序的各种形态进行转化与处理。针对这种特征,现代编译器应该采用()架构风格最为合适。
第1题:
编译器和解释器是两种高级语言处理程序,与编译器相比,(29)。编译器对高级语言源程序的处理过程可以划分为问法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和(30)并不是每种编译器都必需的。词法分析的作用是识别源程序中的(31);语法分析中的预测分析法是(32)的一种语法分析方法;编译器在(33)阶段进行表达式的类型检查及类型转换。
A.解释器不参与运行控制,程序执行的速度慢
B.解释器参与运行控制,程序执行的速度慢
C.解释器参与运行控制,程序执行的速度不变
D.解释器不参与运行控制,程序执行的速度快
第2题:
“编译器”是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景:传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用顺序批处理架构风格比较合适。 随着编译、链接、调试、执行等开发过程的一体化趋势发展,集成开发环境(IDE)随之出现。IDE集成了编译器、连接器、调试器等多种工具,支持代码的增量修改与处理,能够实现不同工具之间的信息交互,覆盖整个软件开发生命周期。针对这种需求,IDE采用(50)架构风格比较合适。IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现,针对这种需求,通常采用(51)架构风格比较合适。
A.规则引擎
B.解释器
C.数据共享
D.黑板
第3题:
一个软件的架构设计是随着技术的不断进步而不断变化的。以编译器为例,其主流架构经历了管道—过滤器到数据共享为中心的转变过程。以下关于编译器架构的叙述中,错误的是______。
A.早期的编译器采用管道—过滤器架构风格,以文本形式输入的代码被逐步转化为各种形式,最终生成可执行代码
B.早期的编译器采用管道-过滤器架构风格,并且大多数编译器在词法分析时创造独立的符号表,在其后的阶段会不断修改符号表,因此符号表并不是程序数据的一部分
C.现代的编译器采用以数据共享为中心的架构风格,主要关心编译过程中程序的中间表示
D.现代的编译器采用以数据共享为中心的架构风格,但由于分析树是在语法分析阶段结束后才产生作为语义分析的输入,因此分析树不是数据中心的共享数据
第4题:
第5题:
第6题:
第7题:
第8题:
第9题:
第10题:
第11题:
第12题:
选择合适的算法和数据结构
编译器能够有效优化以转换成高效可执行代码的源代码
利用并行性
增加过程调用
第13题:
编译器和解释器是两种高级语言处理程序,与解释器相比,(186)。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,(187)和中间代码生成并不是每种编译器都必需的。词法分析的作用是识别源程序中的(188);语法分析中的预测分析法是(189)的一种语法分析方法;编译器在(190)阶段进行表达式的类型检查及类型转换。
A.编译器不参与运行控制,程序执行的速度慢
B.编译器参与运行控制,程序执行的速度慢
C.编译器参与运行控制,程序执行的速度快
D.编译器不参与运行控制,程序执行的速度快
第14题:
编译和解释是实现高级语言翻译的两种基本方式,相对应的程序分别称为编译器和 解释器。与编译器相比,解释器(28)。编译器对高级语言源程序的处理过程可以划 分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个 阶段;其中,代码优化和 (29) 并不是每种编译器都必需的。词法分析的作用是识 别源程序中的(30)。
A.不参与用户程序的运行控制,用户程序执行的速度更慢
B.参与用户程序的运行控制,用,,程序执行的速度更慢
C.参与用户程序的运行控制,用,,程序执行的速度更快
D.不参与用户程序的运行控制,月户程序执行的速度更快
第15题:
●编译器对高级语言源程序的处理过程可以划分为同法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段:其中,代码优化和 ()并不是每种编译器部必需的。()A.词法分析 B.语法分析 C.中间代码生成 D.语义分析
第16题:
第17题:
第18题:
第19题:
第20题:
第21题:
第22题:
第23题:
以下选项中不是编写高效程序需要的活动的是()。