西交《编译原理》22秋在线作业-00003
试卷总分100 得分100
一、单选题 (共 30 道试题,共 60 分)
1.语言是()的集合
A.句子
B.产生式
C.符号串
D.句型
答案A
2.采用自上而下分析,必须( )。
A.消除回溯
B.消除左递归
C.消除右递归
D.提取公共左因子
答案A
3.程序基本块是指( )。
A.一个子程序
B.一个仅有一个入口和一个出口的语句
C.一个没有嵌套的程序段
D.一组顺序执行的程序段,仅有一个入口和一个出口
答案D
4.语法分析器接收以( )为单位的输入,并产生有关信息供以后各阶段使用。
A.表达式
B.产生式
C.单词
D.语句
答案C
5.对应于产生式A→XY继承属性Y.y的属性计算,可能正确的语义规则是( )。
A.a=f(X.x,Y.y)
B.Y.y=f(A.a,Y.y)
C.Y.y=f(X.x)
D.a=f(Y.y);
答案C
6.构造编译程序应掌握( )。
A.源程序
B.目标语言
C.编译方法
D.其他三项都是
答案D
7.由文法的开始符经0步或多步推导产生的文法符号序列是( )。
A.短语
B.句柄
C.句型
D.句子
答案C
8.合并表达式中常量运算的目的是( )。
A.使表达式中的常量尽可能少
B.是表达式尽可能简短
C.将可在编译时刻计算的常量运算在编译时刻计算出来,然后用所计算出来的值替换表达式中出现的所有这种常量运算,使得生成的代码指令尽可能少
D.其他都是
答案D
9.在目标代码生成阶段,符号表用于( )。
A.目标代码生成
B.语义检查
C.语法检查
D.地址分配
答案D
10.乔姆斯基(Chomsky)把文法分为四种类型,即0型.1型.2型.3型。其中3型文法是( )
A.非限制文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
答案B
11.语言的词法规则一般用Chomsky的( )型文法来描述
A.0
B.1
C.2
D.3
答案D
12.以绝对机器代码为输出,所有地址均已定位,这种代码的优点是( )。
A.可立即执行
B.可进一步优化
C.目标代码简短
D.目标代码执行效率高
答案A
13.( )是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。
A.语义错误
B.语法错误
C.短语错误
D.短句错误
答案A
14.四元式表示法的优点为( )。
A.不便于优化处理,但便于表的更动
B.不便于优化处理,但节省存储空间
C.便于优化处理,也便于表的更动
D.便于表的更动,也节省存储空间
答案C
15.上下文无关文法可以用( )来描述。
A.正则表达式
B.正规文法
C.扩展的BNF
D.翻译模式
答案C
16.算符优先分析法每次都是对________进行归约:
A.句柄
B.最左素短语
C.素短语
D.简单短语
答案B
17.按逻辑上划分,编译程序第三步工作是( )
A.语义分析
B.词法分析
C.语法分析
D.代码生成
答案A
18.设G为算符优先文法,G的任意终结符对a、b有以下关系成立( )。
A.若f(a)g(b),则ab
B.若f(a)g(b),则ab
C.a~b都不一定成立
D.a~b一定成立
答案C
19.( )是一种典型的解释型语言。
A.BASIC
B.C
C.FORTRAN
D.PASCAL
答案A
20.将编译程序分成若干个“遍”是为了( )。
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
答案B
21.把汇编语言程序翻译成机器可执行的目标程序的工作是由( )完成的。
A.编译器
B.汇编器
C.解释器
D.预处理器
答案B
22.终结符具有( )属性。
A.传递
B.继承
C.抽象
D.综合
答案D
23.在整个编译期间,对符号表的操作大致都有( )。
A.查询给定名字
B.填入新名字
C.访问给定名字的信息
D.更新给定名字的信息
答案B
24.两个有穷自动机等价是指它们的( )。
A.状态数相等
B.有向弧数相等
C.所识别的语言相等
D.状态数和有向弧数相等
答案C
25.在运行空间的划分中有一个单独的区域叫堆,用来存放( )。
A.目标代码
B.静态数据
C.动态数据
D.过程参数
答案C
26.若文法G定义的语言是无限集,则文法必然是()
A.前后文无关文法
B.正规文法
C.二义性文法
D.递归文法
答案D
27.最适合动态建立数据实体的内存分配方式是()
A.栈式分配
B.堆式分配
C.编译时预先分配
D.其他三种均可
答案B
28.词法分析器的输入是( )。
A.单词符号串
B.源程序
C.语法单位
D.目标程序
答案B
29.许多广为使用的语言,如Fortran、C、Pascal等,属于( )。
A.强制式语言
B.应用式语言
C.基于规则的语言
D.面向对象的语言
答案A
30.文法E→E+EEEi的句子ii+ii有( )棵不同的语法树。
A.1
B.3
C.5
D.7
答案C
二、判断题 (共 20 道试题,共 40 分)
31.在归约过程的任一时刻,一个上下文无关文法的任何句型的直接短语一般都不是唯一的。( )
答案正确
32.算符优先分析法不是一种规范规约法。( )
答案正确
33.LL(1)文法不能用LR(1)分析器来分析。( )
答案错误
34.可能有两个不同的文法G和G′,期中一个是二义的而另一个是无二义的,但是却有L(G)=L(G′)。( )
答案正确
35.存在一种算法,能判定任何上下文无关文法是否是LL(1)的。 ( )
答案正确
36.算符优先分析法是一种规范规约法。( )
答案错误
37.把循环中的乘法运算用递归加法运算来替换就是一种强度削弱。( )
答案正确
38.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。
答案错误
39.若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。( )
答案错误
40.一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。 ( )
答案正确
41.对于每一个左线性文法G1,不一定存在一个右线性文法G2,使得L(G1)=L(G2)。( )
答案错误
42.只含有继承属性的属性文法称为-L属性文法。( )
答案错误
43.二义文法是上下文无关文法。( )
答案正确
44.对任何一个NFAM,都存在一个DFAM',使得L(M')=L(M)。( )
答案正确
45.通过建立一个变量地址描述数组AVALUE,来动态记录变量在运行过程中值的变化。( )
答案错误
46.上下文无关文法比正规文法有更差的描述能力。( )
答案错误
47.对一个右线性文法G,必存在一个左线性文法G',使得L(G)=L(G'),反之亦然。( )
答案正确
48.确定的自动机以及不确定的自动机都能正确地识别正规集。( )
答案正确
49.在程序设计语言中,一般来说,布尔表达式仅仅用于条件、循环等控制流语句中的条件表达式计算。( )
答案错误
50.一个文法所有句型的集合形成该文法所能接受的语言。( )
答案错误