|
地大《编译原理与技术》在线作业一
一、单选题(共 25 道试题,共 100 分。)
1. Lx是由贝尔实验室M. Lsk和. Shmit开发的()。
. 词法分析器生成器
. 语法分析器生成器
. 语义分析器生成器
. 中间代码生成器
正确资料:
2. 第一个编译器是20世纪50年代后期出现的()语言编译器。
.
. PSL
. FORTRN
. SI
正确资料:
3. 常见的查表方法有顺序查表法、平分查表法和()。
. 散列查表法
. 排序查表法
正确资料:
4. ()的优点是可避免重复性工作,因此编译速度快。
. 一遍扫描法
. 多遍扫描法
正确资料:
5. 常量表达式是指取固定值的表达式,而其优化的意思是,把表达式的值由编译器()地计算出来并以此替换表达式。
. 静态
. 动态
正确资料:
6. 目标代码生成阶段最难处理和开销最大的问题是()的分配问题。
. 存储器
. 寄存器
. 处理器
. 外部设备
正确资料:
7. 栈式中间代码是适合栈式机的一种中间代码,通常称之为()。
. 前缀式
. 后缀式
. 中缀式
. 栈式
正确资料:
8. 编译程序的输入对象称为(),输出对象称为()。
. 目标程序;源程序
. 源程序;目标程序
. 源程序;源程序
. 目标程序;目标程序
正确资料:
9. LL(k)分析方法属于()分析方法。
. 自顶向下
. 自底向上
正确资料:
10. ()是用于代码生成的最一般的中间代码形式,开始主要用来表示语句中出现的表达式。
. 栈式
. 三元式
. 四元式
. 抽象语法树(GT)
正确资料:
11. S-属性文法是只有()的一种特殊的属性文法。
. 继承属性
. 综合属性
正确资料:
12. 变量声明是否生成中间代码要看情况,如果一个变量是用可变长类型来声明的,则()产生目标代码,因此()产生中间代码。
. 需要;需要
. 需要;不需要
. 不需要;不需要
. 不需要;需要
正确资料:
13. 在优化中,如果信息是从整个程序求得的,则称之为()方法。
. 局部优化
. 全局优化
正确资料:
14. 优化的主要对象是()。
. 深层循环
. 下标变量的地址计算
. 和
正确资料:
15. 属性分为继承属性和综合属性两类,其中开始符没有()属性,在开始时要确定。
. 继承属性
. 综合属性
正确资料:
16. 动作符可出现于产生式()的任何地方,其主要作用是用来指明某种语义动作。
. 左部
. 右部
. 上部
. 下部
正确资料:
17. 代码生成部分主要与目标机有关,因此称之为编译器的()。
. 前端
. 后端
正确资料:
18. ()的主要思想是:首先对于每个语法符号引进相关的属性符号;其次对于每个产生式写出计算属性值的属性规则。
. 动作文法
. 属性文法
正确资料:
19. 程序结构的描述方法主要有两种:一是用所谓的巴克斯范式(NF);一是用所谓的()。
. 词法图
. 文法图
. 语法图
. 自动机
正确资料:
20. ()是源程序的一个执行系统,而()是源程序的一个转换系统。
. 编译器;解释器
. 解释器;编译器
. 解释器;解释器
. 编译器;编译器
正确资料:
21. 类型的等价性有按名等价和按结构等价两类。()等价是:如果类型是个类型名,则两个类型等价当且仅当其名字相同。
. 按名等价
. 按结构等价
正确资料:
22. 编译器通常按需要把寄存器分为三组使用:可分配寄存器、保留寄存器和零用寄存器,其中()是用来打“短工”的寿命非常短的寄存器。
. 可分配寄存器
. 保留寄存器
. 零用寄存器
. 以上全对
正确资料:
23. Y(Yt nothr ompilr-ompilr)是()分析器的自动生成器。
. LLR(1)
. SLR(1)
. LL(1)
. LR(1)
正确资料:
24. 主要的优化包括常量表达式优化(合并常数),(),除此之外还有消除无用代码、复写传播、数学变换、窥孔优化等。
. 公共表达式优化(消除重复操作)
. 不变表达式的循环外提
. 削减运算强度
. 以上全对
正确资料:
25. 使用中间代码的主要好处是:便于移植,以及()。
. 便于修改
. 便于优化
. 便于掌握
. 以上全对
正确资料:
|
|