12秋中国地质大学《编译原理与技术》在线作业二

所属学校:中国地质大学 科目:编译原理与技术 2015-03-17 14:50:14

地大《编译原理与技术》在线作业二
试卷总分:100
单选题


一、单选题(共 25 道试题,共 100 分。)
1.如果在推导时选择的是句型中的最左非终极符,则称这中推导为最()推导。
A. 左
B. 右

2.通常见到的中间代码是()。
A. 后缀式中间代码
B. 三地址中间代码
C. 图结构中间代码
D. 以上全对
此题选: D
3.()的优点是可避免重复性工作,因此编译速度快。
A. 一遍扫描法
B. 多遍扫描法

4.动作符可出现于产生式()的任何地方,其主要作用是用来指明某种语义动作。
A. 左部
B. 右部
C. 上部
D. 下部

5.词法分析器可有两种,一种是它作为语法分析的一个子程序,另一种是它作为编译器的独立一遍任务。实际的编译器一般都采用()方式。
A. 子程序
B. 独立一遍

6.L-属性文法的最大特点就是产生式右部符号的()不依赖于其右部符号的任何属性。
A. 继承属性
B. 综合属性

7.循环优化中,对于每个循环一般都要识别其(),需要时还要识别循环的必经点等信息。
A. 入口部分
B. 重复部分
C. 出口部分
D. 以上全对
此题选: D
8.Lex是由贝尔实验室M.E Lesk和E. Schmidt开发的()。
A. 词法分析器生成器
B. 语法分析器生成器
C. 语义分析器生成器
D. 中间代码生成器

9.有限自动机(简称自动机)分为确定有限自动机()和非确定有限自动机()。
A. DFA;NFA
B. NFA;DFA

10.Yacc(Yet another compiler-compiler)是()分析器的自动生成器。
A. LALR(1)
B. SLR(1)
C. LL(1)
D. LR(1)

11.代码生成部分主要与目标机有关,因此称之为编译器的()。
A. 前端
B. 后端

12.()可出现于表达式中,而()则不可出现于表达式中。
A. 函数调用;过程调用
B. 过程调用;函数调用

13.常量表达式是指取固定值的表达式,而其优化的意思是,把表达式的值由编译器()地计算出来并以此替换表达式。
A. 静态
B. 动态

14.编译器通常按需要把寄存器分为三组使用:可分配寄存器、保留寄存器和零用寄存器,其中()是用来打“短工”的寿命非常短的寄存器。
A. 可分配寄存器
B. 保留寄存器
C. 零用寄存器
D. 以上全对

15.程序设计语言的描述主要包括两部分,其一是()描述部分,其二是语义描述部分。
A. 词法
B. 文法

16.编译程序通常分为前端和后端,通常()是指词法分析到中间代码生成的整个阶段。
A. 前端
B. 后端

17.栈式中间代码是适合栈式机的一种中间代码,通常称之为()。
A. 前缀式
B. 后缀式
C. 中缀式
D. 栈式

18.程序主要由声明和语句两部分组成,而语义分析的工作主要是在()部分的处理。
A. 声明
B. 语句

19.优化的主要对象是()。
A. 深层循环
B. 下标变量的地址计算
C. A和B

20.基本块是这样一个程序段,即它有()入口和()出口。
A. 一个;一个
B. 一个;N个
C. N个;一个
D. N个;N个

21.()的主要思想是:首先对于每个语法符号引进相关的属性符号;其次对于每个产生式写出计算属性值的属性规则。
A. 动作文法
B. 属性文法

22.S-属性文法是只有()的一种特殊的属性文法。
A. 继承属性
B. 综合属性

23.程序设计语言的语义可分为静态语义和动态语义。所谓()语义是指在编译阶段能检查的语义。
A. 静态
B. 动态

24.识别保留字的方法可以分为两大类:一类是用();另一类是不用保留字表。
A. 保留字表
B. 关键字表

25.目标代码生成阶段最难处理和开销最大的问题是()的分配问题。
A. 存储器
B. 寄存器
C. 处理器
D. 外部设备






版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: