第一章
一.单项选择
1.将编译程序分成若干“遍”,是为了()
A.提高程序的执行效率
B.使程序的结构更为清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
2.一个编译程序在编译时,大多数时间花在()上
A.出错处理
B.词法分析
C.目标代码生成
D.表格管理及处理
3. 下面代码不可能是目标代码的是()
A. 汇编指令代码
B. 可重定位指令代码
C. 中间代码
D. 绝对指令代码
4. 解释程序和翻译程序的根本区别
A. 是否生成中间代码
B. 是否有语义分析阶段
C. 是否生成目标代码
D. 是否有语法分析阶段
5. 下面编译阶段既可以作为编译器的前端,也可以作为编译器的后端的是:()
A. 语法分析阶段
B. 语义分析阶段
C. 中间代码生成阶段
D. 中间代码优化阶段
二.多项选择
1. 一个编译器可能有的阶段为()
A. 词法分析
B. 语法分析
C. 语义分析
D. 中间代码生成
E. 目标代码生成
2. 编译器的各个阶段的工作都涉及到()
A. 表格处理
B. 词法分析
C. 语法分析
D. 语义分析
E. 出错处理
3. 一般来说,编译器可分为前端和后端,下列编译阶段可被划分为编译的前端的有:()
A. 词法分析