一请选择符合题目描述和要求的选项如果答案中包含多个选项解读.docx
- 文档编号:27423088
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:25
- 大小:54.40KB
一请选择符合题目描述和要求的选项如果答案中包含多个选项解读.docx
《一请选择符合题目描述和要求的选项如果答案中包含多个选项解读.docx》由会员分享,可在线阅读,更多相关《一请选择符合题目描述和要求的选项如果答案中包含多个选项解读.docx(25页珍藏版)》请在冰豆网上搜索。
一请选择符合题目描述和要求的选项如果答案中包含多个选项解读
一、请选择符合题目描述和要求的选项,如果答案中包含多个选项,注意选项的次序。
1、如果一个文法满足,则称该文法是二义文法。
A.文法的某一句自存在两棵(包括两棵)以上不同的语法树
B.文法中存在某个句子,它有两个(包括两个)以上不同的最右(或最左)推导
C.文法中存在某个句子,它有两个(包括两个)以上不同的最右(或最左)归约
D.在进行归约时,文法的某些规范句型的句柄不惟一
解ABCD
2、一个句型的最左称为该句型的句柄。
A.短语B.直接(简单)短语C.素短语D.终结符
解B
3、在编译的过程中,符号表的主要作用是。
A.帮助错误处理B.辅助语法错误的检查
C.辅助语义的(即上下文有关的)正确性检查
D.辅助代码生成E.辅助对目标程序的优化
解CD
4、在编译过程中,编译程序可以找出源程序的全部错误和部分错误。
A.语法B.语义C.语用D.运行
解AB
5、一个上下文无关文法G包括四个组成部分,他们依次为:
一个表示语言的基本符号的集合,一个表示语言的语法成分的集合,一个以及一个集合。
A.字符串B.字母数字串C.产生式D.结束符号E.开始符号
F.文法G.非终结符号H.终结符号
解HGEC
6、下述语言中属于上下文无关语言的是。
A.L1={wcw-1|w-1为w的逆序,w∈{a,b}*}B.L2={anbmcndm|n≥1,m≥1}
C.L3={anbncn|n≥0}D.L4={anbmcmdn|n≥1,m≥1}
解AD
7、设有文法G[S]:
S→Ax∣By
A→By∣Cw
B→x∣Bw
C→y
下列正规表达式中与文法G[S]定义同一语言的正规表达式是。
A.xw*y|xw*yx|ywxB.xw*y|xwxyz|ywx
C.xwy|xw*xyx|ywxD.xwxy|xww*y|ywx
解A
8、设有如图1所示的自动机。
下列正规表达式中不是自动机所识别语言的子集的是。
A.0*(11)*0*B.0*1(10*1)*1C.0*1(10*1)*10*
D.0*1(10*1)*0(100)*E.(0*1(10*1)*10*|0*)*
解D
图1自动机
9、下列描述括号匹配的文法中,属于LL(l)文法的是:
。
A.S→(SS’|ε
S’→)|ε
B.S→(S)S|ε
C.S→S(S)S|ε
D.S→(S|S’
S’→(S’)|ε
解B
10、在LR分析方法中,语法分析栈中存放的状态是识别规范句型的DFA状态。
A.前缀B.活前缀C.项目D.句柄
解B
11、代码优化的主要目的是。
A.如何提高目标程序的运行速度B.如何减少目标程序运行所需的空间
C.如何协调a和bD.如何使生成的目标代码尽可能简短
解ABC
12、在编译程序采用的优化方法中,是在循环语句范围没进行的。
A.合并已知常量B.删除多余运算C.删除归纳变量
D.强度削弱E.代码外提
解CDE
13、下面三个文法中,为SLR(l)文法的是。
G1P→PaP|b
G2P→bPb|cPc|b|c
G3P→bPb|bPc|d
可选项有
A.仅G1B.仅G2C.仅G3D.G2和G3E.都不是
解C
14、动态存储分配时,可以采用的分配方法有。
A.以过程为单位的栈式动态存储分配
B.堆式存储分配
C.最佳分配方式
解AB
15、编译程序必须完成的工作有。
A.词法分析B.语法分析C.语义分析
D.代码分析E.中间代码生成F.代码优化
解ABED
16、某程序设计语言的表达式由运算符θ1、θ2、θ3标识、(和)组成。
其中θ1、θ2的优先级相同,θ3的优先级低于θ1、θ2。
优先级相同的运算符从右向左计算,可以用括号改变运算顺序,则这种表达式的文法可描述为。
(设E为识别符号,文法字母表V={E,T,F,(,),θ1、θ2、θ3,i})。
A.E→T|Eθ1T|Eθ2T
T→F|Tθ3F
F→(E)|i
B.E→T|Tθ1E∣Tθ2E
T→F|Fθ3T
F→(E)|I
C.E→T|Eθ3T
T→F|Tθ1F|Tθ2F
F→(E)|i
D.E→T|Tθ3E
T→F|Fθ1T|Fθ2T
F→(E)|I
解D
17、考虑下述文法,S为开始符号
G1[S]:
S→A
A→aAb|ab
G2[S]:
S→A
A→Aa|a|ε
下列结论中正确的是。
A.G1是LR(0)文法,G2不是LR(l)文法
B.G2是LR(0)文法,G1不是LR(l)文法
C.G2是LR
(1)文法,G1不是LR(l)文法
D.G1和G2都不是LR(0)文法
E.G1和G2都是LR
(1)文法
解A
18、BNF范式是一种广泛采用的的工具。
A.描述产生式B.描述语言C.描述文法D.描述句子
解C
19、在编译过程中,编译程序可以找出源程序的全部错误和部分错误。
A.语法B.语义C.语用D.运行
解AB
20、设文法G[
则下列符号串中为该文法句子的是。
A.aB.ab0C.a0c01D.0aE.11F.aaa
解ACF
21、下述语言中属于上下文无关语言的是。
A.L1={wcw-1|w-1为w的逆序,w∈{a,b}*}B.L2={anbmcndm|n≥1,m≥1}
C.L3={anbncn|n≥0}D.L4={anbmcmdn|n≥1,m≥1}
解AD
22、已知文法G定义为G=({S,W,X,Y,Z},{x,y,z},P,S)其中,P为:
S→WZ
W→XcY
X→x︱xX
Y→y︱yY
Z→z︱zZ
与该文法描述相同语言的正规表达式有 。
A.xx*|yy*︱zz*B.(xx*︱yy*)zz*C.xx*(yy*︱zz*)
D.(xx︱yy)*zz*E.xx*yy*zz*
解B
23、设有穷自动机如图B1所示。
其中状态①为开始状态,状态③为终止状态。
下述正规表达式中可被该有穷自动机接受。
A.0(10)*0B.11(01)*1C.1(101)*00
图B1有穷自动机
解AB
24、符合算符优先文法定义的选项是。
A.没有形如U→…VW…的产生式
B.终结符号集VT中任意两个符号对之间至多有一种优先关系成立
C.没有相同的产生式右部
D.没有形如U→ε的产生式
解ABD
25、在LR分析方法中,语法分析栈中存放的状态是识别规范句型的DFA状态。
A.前缀B.活前缀C.项目D.句柄
解B
26、素短语是指的短语。
A.至少包含一个符号B.至少包含一个终结符号
C.至少包含一个非终结符号D.除自身外不再包含其它终结符号
E.除自身外不再包含其它非终结符号F.除自身外不再包含其它短语
G.除自身外不再包含其它素短语
解BG
27、过程信息表中至少应该包括有。
A.过程名B.过程的静态层次C.过程入口地址
D.过程首部在源程序的序号E.有关过程参数的信息
解ACE
28、如果一个文件満足,称该文法是二义文法。
A.或者方法的某一个句子存在两棵(包括两棵)以上的语法树。
B.或者文法中存在某个句子,它有两个(包括两个)以上的最右(或最左)推导
C.或者文法中存在某个句子,它有两个(包括两个)以上的最右(或最左)归约
D.或者在进行归约时,文法的某些规范句型的句柄不唯一。
解A,B,C,D
29、编译程序是一种常用的软件。
A.应用B.系统C.实用D.重要
解B
30、文法G所描述的语言是的集合。
A.文法G的字汇表V中所有符号组成的符号串。
B.文法G的字汇表V的闭包V*中的所有符号串。
C.由文法的识别符号推出的所有符号串。
D.由文法的识别符号推出的所有终结符号串。
解D
31、LL
(1)文法的条件是:
。
A.对形如U→X1︱X2︱…︱Xn的产生式,要求FIRST(Xi)∩FIRST(Xi)=,(i≠j)
B.对形如U→X1︱X2︱…︱Xn的产生式,若Xi
ε,要求FIRST(Xi)∩FOLLOW(U)=
C.A和B
D.都不是
解C
32、下述正规表达式中, 描述了字母表{0,1}上所有长度不为3的符号串。
A.(ε︱0︱1︱00︱01︱11︱10)((0︱1)(0︱1)*
B.ε︱0︱1︱00︱01︱11︱10︱(0︱1)(0︱1)+
C.ε︱0︱1(00︱01︱11︱10)+(0︱1)*
D.ε︱0︱1(00︱01︱11︱10)*
E.没有一个
解E
33、设有穷自动机如图C1所示。
其中状态①为开始状态,状态⑤为终止状态。
假设digit代表数字0到9,则下述实数中可被该有穷自动机接受。
A.+47B.-1C..5D.–11.47E.至少两个
图C1有穷自动机
解D
34、合并表达式中的常量运算的目的是。
A.合并常量,使表达式中的常量尽可能少
B.合并常量,使表达式尽可能简短
C.将可在编译时刻计算的运算在编译时刻计算出来,用所计算出来的值替换表达式中出现的所有这种运算,使得生成的代码指令尽可能减少。
D.提高编译过程的效率
解C
35、编译程序中安排生成中间代码的目的是:
。
A.便于进行存储空间的组织B.利于目标代码优化
C.利于编译程序的移植D.利于目标代码的移植
E.利于提高目标代码的质量
解BC
36、有下列文法是:
。
S→Pa︱Pb︱c
S→Pd︱Se︱f
A.LLR
(1)文法B.SLR
(1)文法C.A和BD.都不是
解B
37、文法G=({S,A,B},{a,b},P,S),其中P由下列产生式组成:
S→AB,A→BSB|BB|b,B→aAb|a|ε(注:
ε为空串),该文法是。
A.LR(0)文法B.SLR
(1)文法
C.LR
(1)文法D.LALR
(1)文法E.都不是
解E
38、编译方法中自下而上语法分析法有 ,自上而下语法分析法有。
A.简单优先分析方法 B.算符优先分析法 C.递归子程序法
D.LL(K)分析法 E.SLR法 F.LR(K)法
G.LALR(K)法 H.预测分析法
解A,B,E,F,G;C,D,H
二、填空题。
1、高级程序设计语言的翻译主要有两种方式:
和。
二者的根本区别在于。
解编译方式解释方式是否生成目标代码
2、优化根据所涉及程序的范围,可分为局部优化、和全局优化三种。
局部优化是局限于一个范围内的一种优化。
解循环优化基本块
3、先分析方法每次归约当前句型的,算符号优先方法每次归约当前句型的,二者都是不断移进输入符号,直到符号栈顶出现的尾,再向前找到它的头,然后归约。
解句柄最左素短语可归约串
4、假设G是一个文法,S是文法的开始符号,如果S⇒x,则称x是该文法G的。
解句型
5、词法分析程序的输出形式为,每一个由和两部分组成。
解单词单词类别单词自身值
6、自下而上语法分析的基本思想是:
从待输入的符串开始,利用文法的产生式步步向上进行,力求到文法的。
解直接归约归约识别符号
7、LL
(1)分析法中,第一个L的含义是,第二个L的含义是,“1”的含义是。
解从左到右进行分析每次进行最左推导对输入符号串后看一个符号
8、程序中标识符对应的内存地址都是由编译程序在时或由其生成的目标程序在时进行分配。
解编译运行
9、若一个翻译程序的源程序是用语言编写的,其目标程序是语言或者
语言的程序,则称该翻译程序为编译程序。
解高级机器汇编
10、对编译程序而言,输入数据是,输出结果是。
解源程序目标程序
11、过程信息表中必须包括、、。
解过程名参数信息过程入口地址
12、编译程序的工作过程一般可以划分为等几个基本阶段,同时还会伴有
和。
解词法分析、语法分析、语义分析、代码生成、代码优化
表格处理出错处理
13、代码生成需要考虑的两个问题:
一是;二是。
解如何使生成的目标代码较短如何充分利用计算机的寄存器,减少目标代码中访问存储单元的次数
14、编译过程中扫描器所完成的任务是从字符串形式的中识别出一个个具有独立含义的最小语法单位。
解源程序单词
15、自上而下语法分析方法的基本思想是:
从出发,不断建立,试图构造一个推导序列,最终推导出与输入符号串相同的。
解识别符号直接符号终结符号
16、LL
(1)分析法中,第一个L的含义是,第二个L的含义是,“1”的含义是。
解从左到右进行分析每次进行最左推导向输入符号串中看一个符号
17、确定的有穷自动机是一个,通常表示为。
解五元组(五元式)DFC={K,∑,M,S,Z
18、代码优化依据的是,其目的是:
提高目标程序的质量,即:
使目标代码运行时所需的时间尽可能,所占用的存储空间尽可能。
解程序的等价变换规则;短;少;
19、设文法G[
则文法的终结符号集合VT= ,非终结符号集合VN=。
解{a,b,c,0,1};{
20、表达式x+y≤z∨a>0∧(8+z)>3的逆波兰表示为__________。
解xy+z≤a0>8z+3>∧∨
21、词法分析程序的输出形式为,每一个由和两部分组成。
答案:
单词;单词类别;单词自身值;
22、简单优先分析法每次归约当前句型的,算符优先分析法每次归约当前句型的,二者都是不断移进输入符号,直到符号栈顶出现的尾,再向前找其头部,然后归约。
解句柄;最左素短语;可归约串;
23、编译过程中,常见的中间语言形式有、、和。
解逆波兰表示;三元式;四元式;树形表示;
24、两个过程之间信息交换的方法是和。
解全局量的使用;参数传递;
25、一个文法G[Z]若存在推导序列Z…Z…则称G是 文法,这类文法所产生的句子有 个。
解递归;无数;
三、判断题,正确的请打“”,错误的请打“”。
1、一个语言的文法是唯一的。
()
2、若一个语言的句子有无穷多个,则其对应的文法必定是递归的。
()
3、正规文法不能产生语言L={anbn︱n≥1}。
()
4、存在这样一些语言,它们能被确定的有穷自动机识别,但不能用正规表达式表示。
()
5、编译程序的输入是高级语言程序,输出是机器语言程序。
()
6、LR(K)文法都是无二义性的。
()
7、文法G[S]:
S→1S0︱1S1︱2是LR(0)文法。
()
8、语法制导翻译由语法分析来制导语义分析,故须用一遍扫描来实现。
()
9、对每个过程指定顺序号,目的是为了确定过程里名字的作用域。
()
10、具有优化功能的编译程序的效率高。
()
11、解释的程序是用来逐句分析、执行源程序语句的计算机程序。
()
12、LL
(1)文法一定不含左递归。
()
13、任何文法的任何句型的句柄都是唯一的。
()
14、算符优先关系表不一定存在对应的优先函数。
()
15、任何句型都存在一个规范推导,任何句子也存在一个规范推导。
()
16、文法字汇表(VN∪VT)中的符号组成的有穷序列的集合即是该文法描述的语言。
()
17、LL
(1)文法都是无二义性的。
()
18、任何左线性文法都是无二义性文法。
()
19、出现在LR分析栈顶、和某产生式右部一样的符号串一定是句柄。
()
20、LL(k)文法所产生的语言类和LR(k)文法所产生的语言类相比,LL(k)文法所产生的语言类小。
()
四、简答题。
1、叙述正规式(00|11)*((01|10)(01|10)*(01|10)(00|11)*)*描述的语言。
解:
该正规式所描述的语言是,所有由偶数个0和偶数个1构成的串。
2、已知文法G[S]:
S→dAB
A→aA|a
B→Bb|ε
G[S]产生的语言是什么?
G[S]能否改写为等价的正规文法?
解:
首先分析G[S]产生的语言,得
L(G[S])={danbm|n≥1,m≥0}
根据语言的特点:
a,b的个数n与m没有相互制约关系,所以为产生an与bm分别凑出规则A→aA|a和B→bB|b,由于a至少有一个,而b可以为0个,所以最后得到正规文法如下:
G[S]:
S→dA
A→aA|aB|a
B→Bb|b
3、已知文法G1:
P→PaP|PbP|cP|Pe|f
证明文法G1是二义性文法。
解:
因为文法存在句子fbfbf,此句子有两棵不同的语法树,如图2所示,所以该文法是二义性的。
图2句型fbfbf的语法树
4、计算机执行用高级语言编写的程序有哪些途径?
它们之间的主要区别是什么?
解计算机执行用高等语言编写的程序有两种途径:
一是编译方式,二是解释方式,前者对源程序的执行需要经过翻译阶段(将高级语言的源程序翻译成机器语言的程序)和运算阶段(在运行子程序的辅助下运行机器语言的目标程序)才能计算得到结果,后者直接对源程序进行解释执行,并得到计算结果。
5、构造一个文法G,它产生的语言为:
L(G)={w|w∈{a,b}*,w中a和b的个数相等}。
解:
文法为:
S→aBS|bAS|ε
A→a|bAA
B→b|aBB
6、设文法G[A]:
A→[B
B→X]|BA
X→Xa|Xb|a|b
试求出文法G[A]产生的语言所对应的正规表达式。
解:
G[A]产生的语言对应的正规表达式为:
([(a|b)+])+
五、已知文法G[A]为:
A→aABe|a
B→Bb|d
(1)试给出与G[A]等价的LL
(1)文法G’[A]。
(2)构造G’[A]的预测分析法,预测分析表就是LL
(1)分析表。
解:
(1)存在产生式A→aABe|a,使得
FIRST(aABe)∩FIRST(a)={a}≠空集
存在含有左递归的产生式B→Bb|d
对产生式A→aABe|a修改为
A→aC
C→ABe|ε
对产生式B→Bb|d修改为
B→dB’
B’→bB’|ε
因此得到文法G’[A];
A→aC
B→dB’
B’→bB’|ε
C→ABe|ε
(2)求每一个非终结符号的FIRST集:
FIRST(A)={a}FIRST(B’)={b,ε}
FIRST(B)={d}FIRST(C)={a,ε}
求每一个非终结符号的FOLLOW集:
FOLLOW(A)={#}∪FIRST(Be)={#,d}FOLLOW(B)=FIRST(e)={e}
FOLLOW(B’)=FOLLOW(B)∪FOLLOW(B’)={e}FOLLOW(C)=FOLLOW(A)={﹟,d}
再求各产生式的SELECT集合:
SELECT(A→aC)={a}SELECT(B→dB’)={d}SELECT(B’→bB’)={b}
SELECT(B’→ε)={e}SELECT(C→Abe)={a}SELECT(C→ε)={#,d}
文法G’[A]的预测分析表
a
b
d
e
#
A
A→aC
B
B→dB’
B’
B’→bB’
B’→ε
C
C→ABe
C→ε
C→ε
六、已知文法G[A]:
A→aAd|aAb|ε
判断该文法是否是SLR
(1)文法,若是构造相应分析表,并对输入串ab#给出分析过程。
解:
拓广文法为G′,增加产生式S′→A,若产生式排序为:
(0)S'→A
(1)A→aAd
(2)A→aAb(3)A→ε
由产生式知:
First(S')={ε,a}
First(A)={ε,a}
Follow(S')={#}
Follow(A)={d,b,#}
G′的LR(0)项目集族及识别活前缀的DFA如图所示:
在I0中:
A→.aAd和A→.aAb为移进项目,A→.为归约项目,存在移进-归约冲突,因此所给文法不是LR(0)文法。
在I0、I2中:
Follow(A)∩{a}={d,b,#}∩{a}=
所以在I0、I2中的移进-归约冲突可以由Follow集解决,所以G是SLR
(1)文法。
构造的SLR
(1)分析表如下:
其SLR
(1)分析表:
状态(State)
Action
Goto
a d b #
A
0
1
2
3
4
5
S2 r3 r3 r3
acc
S2 r3 r3 r3
S4 S5
r1 r1 r1
r2 r2 r2
1
.
3
对输入串ab#的分析过程:
状态栈
文法符号栈
剩余输入串
动作(action)
0
02
023
023
01
#
#a
#aA
#aAb
#A
ab#....
b#....
b#....
#....
#....
Shift
Reduceby:
A→ε
Shift
Reduceby:
A→aAb
分析成功,说明输入串ab是G[A]文法的句子。
七、已知文法G的产生式为
S→S;D|D
D→D(T)|H
H→a|(S)
T→T+S|S
其中,VN={S,D,T,H},VT={;,(,),a,+},S为开始符号,该文法的算符优先关系矩阵如表B1所示。
表B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 符合 题目 描述 要求 选项 如果 答案 包含 解读
![提示](https://static.bdocx.com/images/bang_tan.gif)