西安交通大学17年9月课程《编译原理》作业考核答案
西安交通大学17年9月课程考试《编译原理》作业考核试题一、单选题:
1.LR(1)文法都是( ) (满分:2)
A. 无二义性且无左递归
B. 可能有二义性但无左递归
C. 无二义性但可能是左递归
D. 可以既有二义性又有左递归
2.文法开始符号的所有( )作为属性计算前的初始值。 (满分:2)
A. 综合属性
B. 继承属性
C. 继承属性和综合属性
D. 都不是
3.一个( )指明了在分析过程中的某时刻所能看到产生式多大一部分。 (满分:2)
A. 活前缀
B. 前缀
C. 项目
D. 项目集
4.( )文法不是LL(1)的。 (满分:2)
A. 递归
B. 右递归
C. 2型
D. 含有公共左因子的
5.如果文法G是无二义的,则它的任何句子( ) (满分:2)
A. 最左推导和最右推导对应的语法树必定相同
B. 最左推导和最右推导对应的语法树可能不同
C. 最左推导和最右推导必定相同
D. 可能存在两个不同的最左推导,但它们对应的语法树相同
6.正则文法( )二义性的。 (满分:2)
A. 可以是
B. 一定不是
C. 一定是
D. 没有正确答案
7.Fortran语言的编译程序采用( )分配策略。 (满分:2)
A. 静态
B. 最佳
C. 堆式动态
D. 栈式动态
8.四元式表示法的优点为( )。 (满分:2)
A. 不便于优化处理,但便于表的更动
B. 不便于优化处理,但节省存储空间
C. 便于优化处理,也便于表的更动
D. 便于表的更动,也节省存储空间
9.使用三元式是为了( )。 (满分:2)
A. 便于代码优化处理
B. 避免把临时变量填入符号表
C. 节省存储代码的空间
D. 提高访问代码的速度
10.乔姆斯基(Chomsky)把文法分为四种类型,即0型.1型.2型.3型。其中3型文法是( ) (满分:2)
A. 非限制文法
B. 正则文法
C. 上下文有关文法
D. 上下文无关文法
11.词法分析器的输出结果是( )。 (满分:2)
A. 单词自身值
B. 单词在符号表中的位置
C. 单词的种别编码
D. 单词的种别编码和自身值
12.变量应当( )。 (满分:2)
A. 持有左值
B. 持有右值
C. 既持有左值又持有右值
D. 既不持有左值也不持有右值
13.堆式动态分配申请和释放存储空间遵守( )原则。 (满分:2)
A. 先请先放
B. 先请后放
C. 后请先放
D. 任意
14.一个数据类型通常包括三种要素,下面( )不是 (满分:2)
A. 用于区别这种类型的数据对象的属性
B. 这种类型的数据对象可以具有的值
C. 对这种类型的数据对象的内存分配
D. 可以作用于这种类型的数据对象的操作
15.评价一个代码生成器最重要的指标是( )。 (满分:2)
A. 代码的正确性
B. 代码的高效性
C. 代码的简洁性
D. 代码的维护性
16.在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则( )。 (满分:2)
A. 该行必定填满rj
B. 该行未填满rj
C. 其他行也有rj
D. goto子表中也有rj
17.Pascal中过程说明的局部变量地址分配在( )。 (满分:2)
A. 调用者的数据区中
B. 被调用者的数据区中
C. 主程序的数据区中
D. 公共数据区中
18.LR(k)文法( ) (满分:2)
A. 都是无二义性的
B. 都是二义性的
C. 一部分是二义性的
D. 无法判定
19.四元式之间的联系是通过( )实现的。 (满分:2)
A. 指示器
B. 临时变量
C. 符号表
D. 程序变量
20.产生正则语言的文法为( )。 (满分:2)
A. 0型
B. 1型
C. 2型
D. 3型
21.在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分( )错误。 (满分:2)
A. 语法
B. 语义
C. 语用
D. 运行
22.编译程序使用( )区别标识符的作用域。 (满分:2)
A. 说明标识符的过程或函数名
B. 说明标识符的过程或函数的静态层次
C. 说明标识符的过程或函数的动态层次
D. 标识符的行号
23.从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多( )。 (满分:2)
A. 4
B. 2
C. 0
D. 1
24.程序基本块是指( )。 (满分:2)
A. 一个子程序
B. 一个仅有一个入口和一个出口的语句
C. 一个没有嵌套的程序段
D. 一组顺序执行的程序段,仅有一个入口和一个出口
25.一个句型中的( )称为该句型的句柄。 (满分:2)
A. 最左直接短语
B. 最右直接短语
C. 终结符
D. 非终结符
26.教材介绍了三种符号表的构造和处理方法,其中( )中常把符号表组织成二叉树形式。 (满分:2)
A. 线性组织
B. 排序组织和二分法
C. 杂凑(散列)组织
D. 非线性组织
27.有限状态自动机能识别( )。 (满分:2)
A. 上下文无关文法
B. 上下文有关文法
C. 正规文法
D. 短语文法
28.按逻辑上划分,编译程序第三步工作是( ) (满分:2)
A. 语义分析
B. 词法分析
C. 语法分析
D. 代码生成
29.描述一个语言的文法是( ) (满分:2)
A. 唯一的
B. 不唯一的
C. 可能唯一
D. 都不正确
30.表达式作为实在参数可以传递给被调用的过程,替换过程体中的( )。 (满分:2)
A. 局部变量
B. 形式参数
C. 全局变量
D. 实在参数
三、判断题:
1.NFAM的非确定性表现在它有多个终态。( ) (满分:2)
A. 错误
B. 正确
2.对任何正则表达式r,都存在一个DFAM,满足L(M)=L(r)。( ) (满分:2)
A. 错误
B. 正确
3.在自下而上的语法分析中,语法树与分析树一定相同。( ) (满分:2)
A. 错误
B. 正确
4.规范归约和规范推导是互逆的两个过程。( ) (满分:2)
A. 错误
B. 正确
5.二义文法是上下文无关文法。( ) (满分:2)
A. 错误
B. 正确
6.可能有两个不同的文法G和G′,期中一个是二义的而另一个是无二义的,但是却有L(G)=L(G′)。( ) (满分:2)
A. 错误
B. 正确
7.在编译过程中,既可以将几个不同的阶段合为一遍,也可以把一个阶段的工作分为若干遍。( ) (满分:2)
A. 错误
B. 正确
8.上下文无关文法比正规文法有更差的描述能力。( ) (满分:2)
A. 错误
B. 正确
9.非终结符除综合属性,还有其他属性。( ) (满分:2)
A. 错误
B. 正确
10.编译程序生成的目标程序都是可执行的程序。( ) (满分:2)
A. 错误
B. 正确
11.复写传播的目的使对某些变量的赋值变为无用。( ) (满分:2)
A. 错误
B. 正确
12.中间代码是独立于机器的,复杂性介于源语言和机器语言之间,便于进行与机器无关调换代码优化工作。( ) (满分:2)
A. 错误
B. 正确
13.若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。( ) (满分:2)
A. 错误
B. 正确
14.“回填”技术用于对过程中的说明语句进行处理时把计算出的有关符号的属性填入符号表。 (满分:2)
A. 错误
B. 正确
15.对任何一个NFAM,都存在一个DFAM',使得L(M')=L(M)。( ) (满分:2)
A. 错误 B. 正确
16.只含有综合属性的属性文法是S-属性文法。( ) (满分:2)
A. 错误
B. 正确
17.在程序设计语言中,一般来说,布尔表达式仅仅用于条件.循环等控制流语句中的条件表达式计算。( ) (满分:2)
A. 错误
B. 正确
18.把循环中的乘法运算用递归加法运算来替换就是一种强度削弱。( ) (满分:2)
A. 错误
B. 正确
19.在允许嵌套的词法作用域的语言中,过程不能作为参数,原因时不能建立其运行环境的存取链。( ) (满分:2)
A. 错误
B. 正确
20.如果E是一个常量或变量,则E的逆波兰式是E自身。 (满分:2)
A. 错误
B. 正确
页:
[1]