奥鹏东师 编译原理网考考前练习题及答案 1docWord下载.docx
《奥鹏东师 编译原理网考考前练习题及答案 1docWord下载.docx》由会员分享,可在线阅读,更多相关《奥鹏东师 编译原理网考考前练习题及答案 1docWord下载.docx(30页珍藏版)》请在冰豆网上搜索。
D.初态
11.若消除文法中的ε-产生式,将会改变文法所定义的语言,故不能消除ε-产生式。
12.在语法分析处理中,FIRST集合、FOLLOW集合均是什么样的集合()。
A.非终极符集
B.终极符集
C.字母表
D.状态集
13.a-(b*c/(c-d)+(-b)*a)的逆波兰表示是什么()。
A.abc*cd-b-a*+/-
B.abc*cd-b-a*+/-
C.abc*cd-/b-a*+-
D.abc*/cd-b-a*+-
14.规范推导的每一步总是用产生式右边符号串替换句型中什么位置的非终结符号()。
A.最左
B.最右
C.最中
D.任意
15.对于状态转换图中用矢线连接的任意两个结点,把靠箭尾一侧的结点称为该矢线的什么结点()。
A.进入
B.射出
C.初态
D.终态
16.对源程序或其内部表示从头到尾扫视一次,并进行有关的加工处理工作的叫什么()。
A.扫描
B.遍
C.覆盖
D.模块
17.逆波兰表示只能用于表示表达式,不能用于表示其它的语法结构。
18.一个上下文无关文法的开始符号可以是终结符或非终结符。
19.存在一种算法,它能判别任意两个前后文无关文法是否等价。
20.是否存在能被确定的有穷自动机识别,但不能用正则表达式表示的语言()。
A.存在
B.不存在
C.可能存在
D.无法判定是否存在
21.利用状态转换图识别字符串时,要从状态转换图的哪个状态出发来进行分析()。
A.终态
B.初态
C.既非初态亦非终态
D.任意状态
22.有文法G=({S},{a},{S→SaS,S→e},S),该文法是哪一类文法()。
A.LL
(1)文法
B.算符优先文法
C.二义性文法
D.SL
(1)文法
23.编译程序与运行系统合称为什么()。
A.翻译系统
B.编译系统
C.实时系统
D.分布式系统
24.下列工作中,不是由扫描器完成的任务有哪个()。
A.分析源程序的结构
B.按词法规则分割出单词
C.删除注解
D.删除空格及无用字符
25.表达式(┐a∨b)∧(c∨d)的逆波兰表示是什么()。
A.┐ab∨∧cd∨
B.a┐b∨cd∨∧
C.ab∨┐cd∨∧
D.a┐b∨∧cd∨
26.已知文法G[S]:
S→A0|Bl,A→S1|1,B→S0|0;
该文法属于乔姆斯基定义的哪类文法()。
A.0型
B.1型
C.2型
D.3型
27.词法分析器的输入是什么()。
A.单词串
B.源程序
C.语法单位
D.目标程序
28.如果一个文法的产生式形式或是A→Ba或是A→a,其中A,B∈VN,a∈VT,则称此文法是左线性的。
29.一个NFA对符号串的识别是一个试探的过程。
不过,这种不确定性给识别过程带来的反复,不会影响到FA的工作效率。
30.汇编程序不是一种翻译程序。
31.设有文法G[T]:
T:
:
=T*F|F,F:
=F↑P|P,P:
=(T)|a,下列符号串中是该文法句型T*P↑(T*F)的直接短语是哪个()。
A.(T*F)
B.T*F
C.P↑
D.P↑(T*F)
32.词法分析器的输出是什么()。
A.字符串
B.二元式
C.三元式
D.四元式
33.算符优先法属于哪一类方法()。
A.自顶向下分析法
B.LL分析法
C.SLR分析法
D.自底向上分析法
34.每一个NFA都对应有唯一的一个最小化的DFA。
35.一个语言的文法是唯一的。
36.语义子程序的设计,不依赖于要产生什么形式的中间代码。
37.在一个循环中,如果属于同一族的归纳变量有多个,有时可以删去对其中的一些归纳变量的计算。
38.Chomsky定义的四种形式语言文法中,0型文法又称为什么文法()。
A.短语结构
B.前后文无关
C.前后文有关
D.正规
39.把一个高级语言程序翻译成机器可执行的目标程序的工作由什么完成()。
A.汇编程序
B.解释程序
C.编译程序
D.预处理程序
40.编译程序与解释程序的主要区别在于什么()。
A.单用户与多用户的差别
B.对用户程序的查错能力
C.机器执行效率
D.是否生成目标代码
41.设有文法G[S]:
S→SaT|T,T→TbR|R,R→PdR|P,P→fSg|e,考察该文法的句型SaTbfSgde,其中哪个是句柄()。
A.SaT
B.b
C.fSg
D.e
42.语法树中各结点只能以终结符号来标记。
43.两个正规式等价,当且仅当它们所描述的正规集相同。
44.把形如[A→α•β,a]的项目称为一个什么项目()。
A.LR
(1)
B.LR(0)
C.SLR
(1)
D.LALR
(1)
45.在进行自底向上的语法分析时,一旦句柄在分析栈形成,它就必然出现在栈顶,而决不会出现在栈顶之下。
46.正规式和正规集之间是否有一一对应的关系()。
C.描述
D.无法确定
47.词法分析程序无法自动生成,只能用手工的方式构造。
48.Σ={0,1}上的正规式(0|1)*表示什么()。
A.0开头的串
B.1开头的串
C.有一个0和一个1的串
D.由0、1组成的任意串
49.在构造DAG时,如果当前处理的四元式有A∶=B的形式,则不必建立新的结点,只须把A附加到代表B的当前值的结点上去即可。
50.对于含有冲突的项目集I,在构造分析表时,如果能根据不同的什么符号a,将I中各项目所对应的分析动作加以区分,那么就有可能使冲突得到解决()。
A.输入
B.栈顶
C.向前
D.栈底
51.若给定文法G,则G是否是LR
(1)文法是可判定的。
52.文法G产生的什么的全体是该文法描述的语言()。
A.句型
B.终结符集
C.非终结符集
D.句子
53.利用含有左递归的文法进行自顶向下的语法分析,会使分析陷入循环不已的状态。
54.数组的存储通常有几种方式()。
A.1种
B.两种
C.3种
D.4种
55.文法的全部可归前缀可由与其相应的确定有限自动机识别。
56.在编译程序采用的优化方法中,什么不是在循环语句范围内进行的()。
A.循环不变运算外提
B.线性窥孔优化
C.消除归纳变量
D.削弱运算强度
57.在产生一个条件或无条件转移四元式时,即使它所要转向的那个四元式尚未产生,也能立即产生一个完全的控制转移四元式。
58.在BNF表示方法中,“→”表示什么()。
A.恒等于
B.不等于
C.取决于
D.定义为
59.根据文法等价的概念,可对文法进行等价改造,以期得到所需形式的文法。
60.有时若干个在外形上颇不相同的正规式可描述同一正规集。
61.Chmosky的3型语言是这样一种语言,其产生式限制为什么()。
A.A:
=α
B.A:
=a,A:
=Ab
C.α:
=β
D.αAβ:
=απβ
62.词法分析器输出的单词符号常常表示成什么样的二元式()。
A.(Class,Value)
B.(OP,Result)
C.(Class,Result)
D.(OP,Value)
63.两个有穷自动机等价是指它们的什么相等()。
A.状态数相等
B.有向弧数相等
C.所识别的语言相等
D.状态数和有向弧数相等
64.在下述的语法分析方法中,属于自顶向下的分析方法有哪些()。
A.简单优先分析
B.算符优先分析
C.递归下降分析
D.LR(k)分析
65.文法G[E]:
E→T|E+T,T→F|T*F,F→a|(E),下列符号串中是该文法句型E+F*(E+T)的简单短语的是哪个()。
A.(E+T)
B.E+T
C.E+F
D.F*(E+T)
66.文法G[S]:
S→aB,B→bB|b不是LR(0)文法。
67.无符号常数的识别和拼接工作通常都在什么阶段完成()。
A.词法分析
B.语法分析
C.语义分析
D.代码生成
68.作为词法分析的结果,通常是把从源程序中所识别出的各个单词转换成什么,并依次进行输出()。
A.内部表示
B.外部表示
C.类别码
D.词文
69.文法G:
S→xSx|y所识别的语言是()。
A.xy*x
B.(xyx)*
C.xx*yxx*
D.x*yx*
70.如果一个DFA的两个不同的状态s和t具有什么关系,则称s和t等价()。
A.已区分
B.待区分
C.可区分
D.不可区分
71.每个句型都有规范推导。
72.每个句子都有规范推导。
73.文法G[E]:
E→E+T|T,T→T*F|F,F→(E)|i是简单优先文法。
74.为提高代码的执行效率,对于那些循环中的不变运算,就不须在循环中反复地执行,而只须将它们移到循环的入口之前执行一次即可。
75.对一个什么文法G构造相应的优先矩阵,若此矩阵中无多重定义的元素,则可确认G为一算符优先文法()。
A.LL
(1)
B.LR
(1)
C.简单优先
D.算符
76.间接左递归性是没有办法消除的。
77.简单优先文法允许任意两个产生式具有相同右部。
78.三元式(i)(op,arg1,arg2)表示形式中,什么表示该三元式的运算结果()。
A.Op
B.arg1
C.arg2
D.序号(i)
79.算符优先文法是在什么之间定义优先关系()。
A.终结符号
B.非终结符号
C.所有符号
D.部分符号
80.语法结构分析上的不确定性,不会导致语义处理上的不确定性。
81.若G是已化简的文法,则G中的每一符号X至少在一个句子中出现。
82.语法制导翻译时,用形如X.ATTR的记号来表示文法符号X的相关什么属性()。
A.语法
B.词法
C.语义
D.语用
83.对一个布尔表达式而言,它必须至少有一个真出口,但可以没有假出口。
84.不存在这样的算法,它能判断任意的文法是否为LL
(1)文法。
85.正规表达式最适合描述什么()。
B.语义
C.词法
D.程序变换
86.如果一个文法含有过多的单产生式,将会增加编译程序在工作时所需的时间和存储空间,故在任何情况下都应设法予以消除。
87.通常把每个非终结符号的右部符号串称为该非终结符号的什么()。
A.推导项
B.选择式
C.规则项
D.候选式
88.文法G的一棵语法树叶结点的自左至右排列是G的一个什么()。
A.短语
B.句型
C.句柄
D.素短语
89.LR分析要求文法无二义性。
90.对于任何LL
(1)文法G,总能为G构造一个预测分析表。
91.即使构成循环的一组结点是强连通的,也会使其中有一部分不能被重复地执行。
92.自底向上分析时,若分析成功,则分析栈中只剩下什么()。
A.界符#及开始符号S
B.开始符号S
C.界符#号
D.当前的输入符号
93.与正规式(a|b)*等价的正规式是哪个()。
A.a*|b*
B.a*b*
C.(a*b*)*
D.(ab)*
94.逆波兰表示法表示表达式时,什么按实际计算顺序从左到右排列()。
A.运算符
B.运算对象
C.括号
D.代码
95.假设某程序语言的文法如下S→SaT∣T,T→TbR∣R,R→PdR∣P,P→fSg∣e,则终结符b和a之间的算符优先关系是什么()。
A.大于
B.小于
C.等于
D.无关系
96.状态转换矩阵的列标题表示状态图中的各个状态。
97.有的编译程序可以没有目标代码生成部分。
98.算符优先分析法每次都是对什么进行归约()。
A.最左短语
B.简单短语
C.最左素短浯
99.对于LL
(1)文法G所构造的预测分析表中,有时也会含有多重定义的元素。
100.欲按编译方式在计算机上执行用高级语言编写的程序,一般需经过两个阶段:
第一阶段称为编译阶段,第二阶段称为什么阶段()。
A.解释
B.翻译
C.汇编
D.运行
101.对于一个无二义性的文法,一棵语法树往往代表了多种最左推导过程。
102.在一个规范句型中,位于句柄右边的符号(如果有的话)必然是什么()。
A.非终结符号
B.终结符号
C.开始符号
D.空符号串
103.所谓递归下降法,是指对文法的每一个什么符号,都根据相应产生式各候选式的结构,为其编写一个子程序(或函数)()。
C.符号
D.开始符号
104.什么模式,既把语法分析与语义处理分开,又令其平行地进行,从而在同一遍扫描中同时完成语法分析和语义处理两项工作()。
A.语法制导翻译
B.中间代码生成
C.中间代码优化
D.目标代码生成
105.赋值语句X:
=-(a+b)/(c-d)-(a+b*c)的逆波兰表示是什么()。
A.Xab+cd-/-bc*a+-:
=
B.Xab+/cd--bc*a+--:
C.Xab+-cd-/abc*+-:
D.Xab+cd-/abc*+--:
106.设有文法G[I]:
I:
=I1|I0|Ia|Ic|a|b|c,下列符号串中是该文法的句子的是哪个()。
A.ab0
B.a0c01
C.1aba
D.0bc10
107.自顶向下的语法分析方法通常要求文法的产生式满足什么条件()。
A.不以非终结符开头
B.不以终结符开头
C.不含左递归
D.不含右递归
108.循环中的不变运算,是指运算对象之值不随循环的重复执行而改变的运算。
109.文法G所描述的语言是什么的集合()。
A.文法G的字汇表V中所有符号组成的符号串
B.文法G的字母表V的闭包V*中的所有符号串
C.由文法的开始符号推出的所有终结符串
D.由文法的开始符号推出的所有符号串
110.源程序中的每个变量有两种重要的属性,一是在数据区给它们分配的存储单元地址,二是在目标程序运行时存放在相应单元中的值。
111.每个文法都能改写为LL
(1)文法。
112.正则式的“·
”读作什么()。
A.并且
B.或者
C.连接
D.闭包
113.DFA中定义了一个从K×
Σ到K的单值映射f,指明若当前的状态为P,而输入字符为a时,则下一个状态是Q,f记为什么()。
A.f(P,Q)=a
B.f(P,a)=Q
C.f(Q,a)=P
D.f(a,P)=Q
114.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。
115.对任何一个编译程序来说,产生中间代码是不可缺少的。
116.在编译程序中进行语法检查的目的是为了什么()。
A.发现程序所用语言的语法错误
B.便于优化
C.发现程序中的所有错误
D.发现程序中的词法错误
117.设有文法G[S]:
S→Ac|b,A→cAS|bS,则文法G不满足LL
(1)文法的哪个条件()。
A.第一个
B.第二个
C.第三个
D.所有
118.使用语法制导翻译方法的编译程序能同时进行语法分析和语义分析。
119.合并表达式中的常量运算的目的是什么()。
A.合并常量,使表达式中的常量尽可能少
B.合并常量,使表达式尽可能简短
C.合并常量,使得生成的代码指令尽可能少
D.合并常量,使表达式的运算强度减弱。
120.在编译程序中安排生成中间代码的目的是为了什么()。
A.便于进行优化
B.便于进行寄存器分配
C.为了产生正确的目标代码
D.便于进行存贮空间的组织
121.一个复杂的表达式须由多个四元式构成的序列来表示。
122.最常用的中间代码形式是什么()。
A.C-代码
B.P-代码
C.四元式
D.树形表示
123.文法G[S]:
S→aSb|aSa|c是LR(0)文法。
124.在自底向上的语法分析方法中,分析的关键是什么()。
A.寻找句柄
B.寻找句型
C.消除递归
D.选择候选式
125.局部优化是在一个程序块内进行的优化。
126.若状态k含有项目“A→α•”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A→α”归约的语法分析方法是指哪一类方法()。
A.算符优先分析法
B.LR(0)分析法
C.LR
(1)分析法
D.SLR
(1)分析法
127.如果从流程图的什么到流程图中某一结点n的所有通路都要经过结点d,我们就说结点d控制了结点n()。
A.出口结点
B.入口结点
C.末端结点
D.首结点
128.一个句型的句柄一定是文法某产生式的右部。
129.在PASCAL语言中的FOR循环语句的代码结构中,需使用几个无条件转向四元式()。
A.0个
B.1个
C.2个
D.3个