西交《编译原理》在线作业
试卷总分:100 得分:22
一、单选题 (共 30 道试题,共 60 分)
1.( )是一种典型的解释型语言。
A.BASIC
B.C
C.FORTRAN
D.PASCAL
2.算符优先分析法每次都是对( )进行归约:
A.句柄
B.最左素短语
C.素短语
D.简单短语
3.不是编译程序的组成部分。
A.词法分析程序
B.代码生成程序
C.设备管理程序
D.语法分析程序
4.构造编译程序应掌握( )。
A.源程序
B.目标语言
C.编译方法
D.其他三项都是
5.Pascal的if语句满足( )。
A.最远匹配原则
B.动态作用域规则
C.静态作用域规则
D.最近匹配原则
6.语义分析与中间代码产生所依循的是( )。
A.正规式
B.上下文无关文法
C.语言的语义规则
D.有限自动机
7.上下文无关文法可以用( )来描述。
A.正则表达式
B.正规文法
C.扩展的BNF
D.翻译模式
8.( )文法不是LL(1)的。
A.递归
B.右递归
C.2型
D.含有公共左因子的
9.一个文法所描述的语言是()。
A.唯一的
B.不唯一的
C.可能唯一,好可能不唯一
10.过程信息表不包含( )。
A.过程入口地址
B.过程的静态层次
C.过程名
D.过程参数信息
11.使用三元式是为了( )。
A.便于代码优化处理
B.避免把临时变量填入符号表
C.节省存储代码的空间
D.提高访问代码的速度
12.使用( )可以定义一个程序的意义。
A.语义规则
B.词法规则
C.产生规则
D.词法规则
13.所谓在程序中某个给定点是活跃的,是指如果在程序中,( )。
A.该点以后被引用
B.该点以后被计算
C.该点正在被计算
D.该点一直被计算
14.算符优先分析法每次都是对________进行归约:
A.句柄
B.最左素短语
C.素短语
D.简单短语
15.编译程序使用________区别标识符的作用域。
A.说明标识符的过程或函数名;
B.说明标识符的过程或函数的静态层次;
C.说明标识符的过程或函数的动态层次;
D.标识符的行号;
奥鹏作业答案请进open5.net或请联系QQ/微信:18866732
16.LR(k)文法( )
A.都是无二义性的
B.都是二义性的
C.一部分是二义性的
D.无法判定
17.在语法分析处理中,FIRST集合.FOLLOW集合均是( )
A.非终结符集
B.终结符集
C.字母表
D.状态集
18.描述一个语言的文法是( )
A.唯一的
B.不唯一的
C.可能唯一
D.都不正确
19.词法分析器用于识别( )
A.句子
B.产生式
C.单词
D.句型
20.文法S→aaS|abc定义的语言是( )。
A.{a2kbc|k>0}
B.{akbc|k>0}
C.{a2k-1bc|k>0}
D.{akakbc|k>0}
21.有文法G[S]:S→aA|a|bC A→aS|bB B→aC|bA|b C→aB|bS则( )为L(G)中的句子。
A.a100b50ab100
B.a1000b500aba
C.a500b50aab2a
D.a100b40ab10aa
22.编译程序是对( )。
A.汇编程序的翻译
B.高级语言程序的解释执行
C.机器语言的执行
D.高级语言的翻译
23.一个上下文无关文法G包括四个组成部分,它们是一组非终结符号,一组终结符号,一个开始符号,以及一组( )
A.句子
B.产生式
C.单词
D.句型
24.( )不是编译程序的组成部分。
A.词法分析程序
B.代码生成程序
C.设备管理程序
D.语法分析程序
25.编译程序是一种( )
A.汇编程序
B.翻译程序
C.解释程序
D.目标程序
26.在运行空间的划分中有一个单独的区域叫堆,用来存放________。
A.目标代码;
B.静态数据;
C.动态数据;
D.过程参数;
27.有文法G=({S},{a},{S→SaS,S→ε},S),该文法是( )。
A.LL(1)文法;
B.二义性文法;
C.算符优先文法;
D.SLR(1)文法;
28.两个有穷自动机等价是指它们的( )。
A.状态数相等
B.有向弧数相等
C.所识别的语言相等
D.状态数和有向弧数相等
29.自上而下分析面临的四个问题中,不包括( )
A.需消除左递归;
B.存在回朔;
C.虚假匹配;
D.寻找可归约串
30.许多广为使用的语言,如Fortran、C、Pascal等,属于( )。
A.强制式语言
B.应用式语言
C.基于规则的语言
D.面向对象的语言
二、判断题 (共 20 道试题,共 40 分)
31.任何算符优先文法的句型中一定会有两个相邻的非终结符号。( )
32.对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。( )
33.若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。( )
34.算符优先文法的句型中可能会有两个相邻的非终结符号。( )
35.设M是一个NFA,并且L(M)={x,y,z},则M的状态数至少为4个。( )
36.把循环中的乘法运算用递归加法运算来替换就是一种强度削弱。( )
37.任何一种算法,不能判定任何上下文无关文法是否是LL(1)的。( )
38.在程序设计语言中,一般来说,布尔表达式仅仅用于条件、循环等控制流语句中的条件表达式计算。( )
39.一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。 ( )
40.窥孔优化方法是通过考察一小段目标指令,并把这些指令替换为更短和更快的一段指令,从而提高目标代码的质量。( )
41.一个文法所有句型的集合形成该文法所能接受的语言。( )
42.对于每一个左线性文法G1,不一定存在一个右线性文法G2,使得L(G1)=L(G2)。( )
43.中间代码是独立于机器的,复杂性介于源语言和机器语言之间,便于进行与机器无关调换代码优化工作。( )
44.编译前端主要由与源语言和目标机相关的那些部分组成。( )
45.复写传播的目的使对某些变量的赋值变为无用。( )
46.通过建立一个变量地址描述数组AVALUE,来动态记录变量在运行过程中值的变化。( )
47.一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。 ( )
48.优化的任务在于对前端编译所产生的中间代码进行加工和变换,以其能产生运行结果更为准确的目标代码。( )
49.存在一种算法,能判定任何上下文无关文法是否是LL(1)的。 ( )
50.正则文法一定不是二义的。( )
转载请注明:奥鹏作业之家 » 【奥鹏】21年春西交《编译原理》在线作业