编译原理复习题及答案Word下载.docx
- 文档编号:16882265
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:30
- 大小:63.42KB
编译原理复习题及答案Word下载.docx
《编译原理复习题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《编译原理复习题及答案Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
D.符号执行器
16.编译程序绝大多数时间花在(D)上。
A.出错处理B.词法分析C.目标代码生成D.表格管理
17.源程序是句子的集合,(B)可以较好地反映句子的结构。
A.线性表B.树C.完全图D.堆栈
18.词法分析器的输出结果是(D)。
A、单词自身值B、单词在符号表中的位置
C、单词的种别编码D、单词的种别编码和自身值
19.词法分析器不能(D)
A.识别出数值常量B.过滤源程序中的注释
C.扫描源程序并识别记号D.发现括号不匹配
20.文法:
G:
S→xSx|y所识别的语言是(D)。
A、xyxB、(xyx)*C、x*yx*D、xnyxn(n≥0)
21.如果文法G是无二义的,则它的任何句子α(A)
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但它们对应的语法树相同
22.正则文法(A)二义性的。
A.可以是B.一定不是C.一定是
23.(B)这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。
A.存在B.不存在C.无法判定是否存在
24.给定文法A→bA|ca,为该文法句子的是(C)
A.bbaB.cabC.bcaD.cba
25.设有文法G[S]:
SS1|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有(D)
A.ab0B.a0c01C.a0b0aD.bc10
26.文法G产生的(D)的全体是该文法描述的语言。
A.句型B.终结符集C.非终结符集D.句子
27.若文法G定义的语言是无限集,则文法必然是(A)
A.递归的B.上下文无关的C.二义性的D.无二义性的
28.描述一个语言的文法是(B)
A.唯一的B.不唯一的C.可能唯一
29.一个文法所描述的语言是(A)
30.采用自上而下分析,必须(A)。
A、消除回溯B、消除左递归
C、消除右递归D、提取公共左因子
31.编译过程中,语法分析器的任务是(A)
1分析单词的构成
2分析单词串如何构成语句
3分析语句是如何构成程序
4分析程序的结构
A.②③B.④C.①②③④D.②③④
32.词法分析器的输入是(A)。
A.符号串B.源程序C.语法单位D.目标程序
33.两个有穷自动机等价是指它们的(C)。
A.状态数相等B.有向弧数相等
C.所识别的语言相等D.状态数和有向弧数相等
34.若状态k含有项目“A→α·
”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A→α”归约的语法分析方法是(D)。
A.LALR分析法B.LR(0)分析法C.LR
(1)分析法D.SLR
(1)分析法
35.若a为终结符,则A→α·
aβ为(B)项目。
A.归约B.移进C.接受D.待约
36.在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分(A)错误。
A.语法B.语义C.语用D.运行
37.乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。
其中3型文法是(B)
A.非限制文法B.正则文法C.上下文有关文法D.上下文无关文法
38.一个句型中的(A)称为该句型的句柄。
A.最左直接短语B.最右直接短语C.终结符D.非终结符
39.在自底向上的语法分析方法中,分析的关键是(D)
A.寻找句柄B.寻找句型C.消除递归D.选择候选式
40.在自顶向下的语法分析方法中,分析的关键是(C)
41.在LR分析法中,分析栈中存放的状态是识别规范句型(C)的DFA状态。
A.句柄B.前缀C.活前缀D.LR(0)项目
42.一个上下文无关文法G包括四个组成部分,它们是一组非终结符号,一组终结符号,一个开始符号,以及一组(B)
A.句子B.产生式C.单词D.句型
43.词法分析器用于识别(C)
44.编译程序是一种(B)
A.汇编程序B.翻译程序C.解释程序D.目标程序
45.按逻辑上划分,编译程序第三步工作是(A)
A.语义分析B.词法分析C.语法分析D.代码生成
46.在语法分析处理中,FIRST集合、FOLLOW集合均是(B)
A.非终结符集B.终结符集C.字母表D.状态集
47.编译程序中语法分析器接收以(A)为单位的输入。
A.单词B.表达式C.产生式D.句子
48.编译过程中,语法分析器的任务就是(B)
A.分析单词是怎样构成的B.分析单词串是如何构成语句和说明的
C.分析语句和说明是如何构成程序的D.分析程序的结构
49.若一个文法是递归的,则它所产生的语言的句子(A)。
A.是无穷多个B.是有穷多个C.是可枚举的D.个数是常量
50.识别上下文无关语言的自动机是(C)
A.下推自动机B.NFAC.DFAD.图灵机
51.编译原理各阶段工作都涉及(B)
A.词法分析B.表格管理C.语法分析D.语义分析
52.正则表达式R1和R2等价是指(C)
A.R1和R2都是定义在一个字母表上的正则表达式
B.R1和R2中使用的运算符相同
C.R1和R2代表同一正则集
D.R1和R2代表不同正则集
53.已知文法G[S]:
S→A1,A→A1|S0|0。
与G等价的正规式是(C)
A.0(0|1)*B.1*|0*1C.0(1|10)*1D.1(10|01)*0
54.与(a|b)*(a|b)等价的正规式是(C)。
A.a*|b*B.(ab)*(a|b)C.(a|b)(a|b)*D.(a|b)*
55.(D)文法不是LL
(1)的。
A.递归B.右递归C.2型D.含有公共左因子的
56.给定文法A→bA|cc,则符号串①cc②bcbc③bcbcc④bccbcc⑤bbbcc中,是该文法句子的是(D)
A.①B.③④⑤C.②④D.①⑤
57.LR
(1)文法都是()
A.无二义性且无左递归B.可能有二义性但无左递归
C.无二义性但可能是左递归D.可以既有二义性又有左递归
58.文法E→E+E|E*E|i的句子i*i+i*i有(C)棵不同的语法树。
A.1B.3C.5D.7
59.文法S→aaS|abc定义的语言是(C)。
A.{a2kbc|k>
0}B.{akbc|k>
0}C.{a2k-1bc|k>
0}D.{akakbc|k>
0}
60.若B为非终结符,则A→.B为(D)。
A.移进项目B.归约项目C.接受项目D.待约项目
61.同心集合并可能会产生新的(D)冲突。
A.二义B.移进/移进C.移进/归约D.归约/归约
62.就文法的描述能力来说,有(C)
A.SLR
(1)⊂LR(0)B.LR
(1)⊂LR(0)C.SLR
(1)⊂LR
(1)D.无二义文法⊂LR
(1)
63.如图所示自动机M,请问下列哪个字符串不是M所能识别的(D)。
A.bbaaB.abbaC.ababD.aabb
64.有限状态自动机能识别(C)
A.上下文无关语言B.上下文有关语言C.正规语言D.0型文法定义的语言
65.已知文法G是无二义的,则对G的任意句型α(A)
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能相同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但他们对应的语法树相同
66.(B)不是DFA的成分
A.有穷字母表B.多个初始状态的集合C.多个终态的集合D.转换函数
67.与逆波兰式(后缀表达式)ab+c*d+对应的中缀表达式是(B)
A.a+b+c*dB.(a+b)*c+dC.(a+b)*(c+d)D.a+b*c+d
68.后缀式abc−+−d+可用表达式(B)来表示。
A.(−(a+b)−c)+dB.−(a+(b−c))+dC.−(a−(b+c))+dD.(a−(−b+c))+d
69.表达式A*(B-C*(C/D))的后缀式为(B)。
A.ABC-CD/**B.ABCCD/*-*C.ABC-*CD/*D.以上都不对
70.(D)不是NFA的成分。
A.有穷字母表B.初始状态集合C.终止状态集合D.有限状态集合
二、问答题
1.将文法G[S]改写为等价的G′[S],使G′[S]不含左递归和左公共因子。
G[S]:
S→bSAe|bA
A→Ab|d
答:
文法G[S]改写为等价的不含左递归和左公共因子的G'
[S]为:
S→bB
B→SAe|A
A→dA'
A'
→bA'
|ε
2.将文法G[S]改写为等价的G'
[S],使G'
[S]不含左递归和左公共因子。
S→SAe|Ae
A→dAbA|dA|d
S→AeS'
S'
→AeS'
|ε
A→dA'
A'
→AB|ε
B→bA|ε
3.将文法G[S]改写为等价的G'
S→[A
A→B]|AS
B→aB|a
S→[A
A→B]A′
A′→SA′|ε
B→aB′
B′→B|ε
4.判断下面文法是否为LL
(1)文法,若是,请构造相应的LL
(1)分析表。
S→aH
H→aMd|d
M→Ab|ε
A→aM|e
首先计算文法的FIRST集和FOLLOW集如下表。
文法的FIRST集和FOLLOW集
非终结符
FIRST集
FOLLOW集
S
{a}.........
{#}...
H
{a,d}.....
M
{a,e,ε}
{d,b}
A
{a,e}.....
{b}....
由于predict(H→aMd)∩predict(H→d)={a}∩{d}=
predict(M→Ab)∩predict(M→ε)={a,e}∩{d,b}=
predict(A→aM)∩predict(A→e)={a}∩{e}=
所以该文法是LL
(1)文法,LL
(1)分析表如下表。
a
d
b
e
#
→aH.
→aMd
→d.
→Ab.
→ε
→Ab
→aM.
→e.
5.判断下面文法是否为LL
(1)文法,若是,请构造相应的LL
(1)分析表。
S→aD
D→STe|ε
T→bH|H
H→d|ε
{a}
{#,b,d,e}.
D
{a,ε}
{#,b,d,e}
T
{b,d,ε}
{e}
{d,ε}
由于predict(D→STe)∩predict(D→ε)={a}∩{#,b,d,e}=
predict(T→bH)∩predict(T→H)={b}∩{e}=
predict(H→d)∩predict(H→ε)={d}∩{e}=
所以该文法是LL
(1)文法,LL
(1)分析表如下表:
→aD.
→STe
→H.
→bH
6.判断下面文法是否为LL
(1)文法,若是,请构造相应的LL
(1)分析表。
T→bM
M→bH
H→M|ε
文法的FIRST集和FOLLOW集
{a}.....
{#,b}
{a,ε}
{b}.....
{e}....
{b,ε}
由于predict(D→STe)∩predict(D→ε)={a}∩{#,b}=
predict(H→M)∩predict(H→ε)={b}∩{e}=
→bM
→M.
7.某语言的拓广文法G′为:
(0)S′→S
(1)S→Db|B
(2)D→d|ε
(3)B→Ba|ε
证明G不是LR(0)文法而是SLR
(1)文法,请给出SLR
(1)分析表。
拓广文法G'
,增加产生式S'
→S
在项目集I0中:
有移进项目D→·
d
归约项目D→·
和B→·
存在移进-归约和归约-归约冲突,所以G不是LR(0)文法。
若产生式排序为:
(0)S'
(1)S→Db
(2)S→B
(3)D→d
(4)D→ε
(5)B→Ba
(6)B→ε
G′的LR(0)项目集族及识别活前缀的DFA如下图:
由产生式知
Follow(S)={#}
Follow(D)={b}
Follow(B)={a,#}
在I0中:
Follow(D)∩{d}={b}∩{d}=
Follow(B)∩{d}={a,#}∩{d}=
Follow(D)∩Follow(B)={b}∩{a,#}=
在I3中:
Follow(S)∩{a}={#}∩{a}=
所以在I0,I3中的移进-归约和归约-归约冲突可以由Follow集解决,所以G是SLR
(1)文法,
构造的SLR
(1)分析表如下表:
状态
ACTION
GOTO
B
r4
S4
r6
1
2
3
acc
S5
S6
r2
4
r3
5
r1
6
r5
8.给出与正规式R=(ab)*(a|b*)ba等价的NFA。
与正规式R等价的NFA如下图
9.给出与正规式R=((ab)*|b)*(a|(ba)*)a等价的NFA。
10.给出与正规式R=(aba)*((ba)*|b)b等价的NFA。
11.将下图的NFA确定化为DFA。
用子集法确定化如下表
I
Ia
Ib
{X,1,2}
{1,2}..
{1,2,3}
{1,2,Y}
X
确定化后如下图:
12.将下图的NFA确定化为DFA。
{X,0,1,3}
{0,1,3}..
{2,3,Y}..
{1,3}....
{2,Y}....
{Y}......
{0,1,3}
{1,3}..
.....
{2,3,Y}
{Y}....
{2,Y}..
....
Y
确定化后如下图
13.某语言的拓广文法G′为:
(0)S′→T
(1)T→aBd|ε
(2)B→Tb|ε
→T
有移进项目T→·
aBd和归约项目T→·
存在移进-归约冲突,所以G不是LR(0)文法。
→T
(1)T→aBd
(2)T→ε
(3)B→Tb
(4)B→ε
G'
的LR(0)项目集族及识别活前缀的DFA如下图所示:
识别G′活前缀的DFA
由产生式知:
Follow(T)={#,b}
Follow(B)={d}
在I0中:
Follow(T)∩{a}={#,b}∩{a}=
在I2中:
Follow(B)∩{a}={d}∩{a}=
Follow(B)∩Follow(T)={d}∩{#,b}=
所以在I0,I2,中的移进-归约和归约-归约冲突可以由Follow集解决,所以G是SLR
(1)文法。
构造的SLR
(1)分析表如下表。
SLR
(1)分析表
name
S2
14.某语言的文法G为:
E→aTd|ε
T→Eb|a
证明G不是LR(0)文法而是SLR
(1)文法,请给出该文法的SLR
(1)分析表。
→E
有移进项目E→·
aTd
和归约项目E→·
.
(0)S′→E
(1)E→aTd
(2)E→ε
(3)T→Eb
(4)T→a
Follow(E)={#,b}
Follow(T)={d}
在I0,I2中:
Follow(E)∩{a}={#,b}∩{a}=
在I5中:
Follow(T)∩{a}={d}∩{a}=
Follow(T)∩Follow(E)={d}∩{#,b}=
所以在I0,I2,I5中的移进-归约和归约-归约冲突可以由Follow集解决,所以G′是SLR
(1)文法。
E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 复习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)