西安交通大学计算机科学与技术专业《编译原理》作业及答案1
1、如果一个编译程序能产生不同于其宿主机的机器代码,则称它为()。
A.诊断编译程序
B.优化编译程序
C.交叉编译程序
D.可变目标编译程序
本题答案:
C
C
2、()不是编译程序的组成部分。
A.词法分析程序
B.代码生成程序
C.设备管理程序
D.语法分析程序
本题答案:
C
C
3、现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个()把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A.重定位程序
B.解释程序
C.连接装配程序
D.诊断程序
本题答案:
C
C
4、一个数据类型通常包括三种要素,下面()不是
A.用于区别这种类型的数据对象的属性
B.这种类型的数据对象可以具有的值
C.对这种类型的数据对象的内存分配
D.可以作用于这种类型的数据对象的操作
本题答案:
C
C
5、Chomsky把文法分成四种类型,其中,()也称正规文法。
A.0型
B.1型
C.2型
D.3型
本题答案:
D
D
6、语言的词法规则一般用Chomsky的()型文法来描述
A.1
B.2
C.3
本题答案:
D
D
7、程序语言的单词符号一般可以分为5种,下面()不需要超前搜索。
A.关键字
B.标识符
C.常数
D.算符和界符
本题答案:
B
B
8、从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多()
A.4
B.2
C.1
本题答案:
D
D
9、正规表达式(ε|a|b)2表示的集合是()
A.{ε,ab,ba,aa,bb}
B.{ab,ba,aa,bb}
C.{a,b,ab,aa,ba,bb}
D.{ε,a,b,aa,bb,ab,ba}
本题答案:
D
D
10、上下文无关文法可以用()来描述。
A.正则表达式
B.正规文法
C.扩展的BNF
D.翻译模式
本题答案:
C
C
11、自上而下分析面临的四个问题中,不包括()。
A.需消除左递归
B.存在回朔
C.虚假匹配
D.寻找可归约串
本题答案:
D
D
12、语法分析器接收以()为单位的输入,并产生有关信息供以后各阶段使用。
A.表达式
B.产生式
C.单词
D.语句
本题答案:
C
C
13、LR语法分析栈中存放的状态是识别()的DFA状态。
A.前缀
B.可归前缀
C.项目
D.句柄
本题答案:
B
B
14、算符优先分析法每次都是对()进行归约
A.句柄
B.最左素短语
C.素短语
D.简单短语
本题答案:
B
B
15、有文法G=({S},{a},{S→SaS,S→ε},S),该文法是()。
A.LL(1)文法
B.二义性文法
C.算符优先文法
D.SLR(1)文法
本题答案:
B
B
17、对应于产生式A→XY继承属性Y.y的属性计算,可能正确的语义规则是()。
A.a:=f(X.x,Y.y)
B.Y.y:=f(a,Y.y)
C.Y.y:=f(X.x)
D.a:=f(Y.y)
18、布尔表达式计算时可以采用某种优化措施,比如A and B用if-then-else可解释为()。
A.if A then true else B
B.if A then B else false
C.if A then false else true
D.if A then true else false