编译原理试题Word文件下载.docx
《编译原理试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《编译原理试题Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
A、(a*|b*)(c|d)B、(a*|b*)*(c|d)C、(ab)*(d|c)D、(a*b*)(cd)
9、算符优先分析法每次都是对进行归约。
A、最左短语B、直接短语C、句柄D、素短语E、最左素短语
10、简单优先分析法每次都是对进行归约
11、下列文法G[S]]:
S—AAA—Aa|a不是LR
(1)文法,理由是
A.、FIRST(S)AFIRST(A)工B、FIRST(A)AFOLLOW(A)工
C、FIRST(Aa)AFIRST(a)工D、都不是
12、设有文法G[E]:
E—E*E|E+E|(E)|a该文法LR
(1)文法
13、对于文法G[A]:
A—aABe|BaB—dB|
有人说,因为FIRST(aABe)AFOLLOW(A)工并且FIRST(Ba)AFOLLOW(A)
工,所以文法G[A]不是LL
(1)文法。
这种说法
A、正确B、不正确
14、素短语是指的短语。
1至少包含一个符号
2至少包含一个非终结符号
3至少包含一个终结符号
4除自身外不再包含其它终结符号
5除自身外不再包含其它非终结符号
6除自身外不再包含其它短语
7除自身外不再包含其它素短语
可选项有:
C、①⑥D、②④E、③⑤F、③⑦G、②⑦
(C/D))的逆波兰式为
B、ABCCD/*-*
D、都不正确
A、①④B、①⑤
15、表达式A*(B-C*
A、ABC-CD/**
C、ABC-*CD/*
三、简答题(共35分)
1、(10分)现有文法G[E]:
E—E+T|E-T|TT—T*F|T/F|FF—(E)|i
画出句型E+F*(E+i)的语法树,找出它的短语,直接短语,句柄和素短语
2、
(5分)对下面的文法G[S]构造状态转换图,并说明符号串aaba是否是该文法接受的句子:
S—aAS—BA—abSA—bBB—bB—cCC—DD—dD—bB
3、
(10分)将下面具有的NFA确定化
4、
5、
四、
1、
(5分)求出下列文法所产生语言对应的正规式。
S—aAA—bA|aB|bB—aA。
(5分)构造识别下面正规式的NFA(a|b)*ba。
综合题(共40分)
10分)下面的文法G[S]是否是LL
(1)文法,说明理由,构造LL
(1)分析表
S—aBc|bABA—aAb|BbB—cB|
(5分)消除下列文法的左递归,消除左递归后判断是否是LL
(1)文法。
S—SaB|bBA—S|aB—Ac
(5分)构造下面算符文法的优先矩阵,判断是否是算符优先文法
S—A[]A—[A—aAA—B]B—a
10分)将表达式A+B*(C-D)-E/FTG分别表示为三元式、四元式、逆波兰式序列
10分)现有文法如下:
S—aS|bS|a判断该文法是哪一类LR文法,说明理由,并构造相应的分析表。
学年第—学期)
(本大题共20小题,每小题1分,共20分)
翻译成;
编译程序是将
a、汇编语言程序b、机器语言程序c、咼级语言程序d汇编语言或机器语言程序
2、描述一个语言的文法是。
a、唯一的b、不唯一的c、个数有限的
3、生成非0开头的正偶数集的文法是
c、Z:
:
=ABC|2|4|6|8
C:
=0|2|4|6|8
B:
=BA|B0|0
A:
=1|2|3|4|5|6|7|8|9
d、Z:
=BA|BO|£
a、Z:
=ABC
b、Z:
4、设有文法G[I]:
ItIO|I1|Ia|lc|a|b|c
下列符号串中是该文法的句子的有_
1ab0②a0c01③aaa④bc10可选项有a、①b、②③④c、③④d、①②③④
5、现有前缀表示的表达式文法G1:
E:
=-EEE:
=-EE:
=a|b|c
则文法的句子—a-bc的所有可能语法树有棵。
а、1b、2c、3d、4
б、一个上下文无关文法G包括四个组成部分依次为:
一组、一个、一组、一组
a、字符串b、字母数字串c、产生式d、结束符号e、开始符号f、文法g、非终结符
号h、终结符号
7、语法分析的常用方法是:
1自顶向下②自底向上③自左向右④自右向左可选项有:
a、①②③④b、①②c、③④d、①②③
8、下列文法二义文法
=EiT|TT:
=T+F|iF|FF:
=E*|(
a、是b、不是c、无法判断。
9、素短语是指的短语。
a、①④b、①⑤c、①⑥d、②④e、③⑤f、③⑦g、②⑦
10、LR(K)文法是。
a、从左到右分析,共经过K步的一种编译方法。
b、从左到右分析,每次向前预测K步的一种编译方法。
c、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法。
d、从左到右分析,每次走K步的一种编译方法。
11、在编译中产生语法树是为了。
a、语法分析b、语义分析c、词法分析d、产生目标代码
12、文法的二义性和语言的二义性是两个概念。
a、不同b、相同c、无法判断
13、下述正规表达式中与(a*+b)*(c+d)等价。
1a*(c+d)+b(c+d)
2a*(c+d)*+b(c+d)*
3a*(c+d)+b*(c+d)
4(a+b)*c+(a+b)*d
5(a*+b)*c+(a*+b)*d
a、①b、②c、③d、④e、⑤f、④⑤g、③④⑤
14、这样的语言,他们能被确定的有限自动机识别,但不能用正规表达式表示:
a、存在b、不存在c、无法判疋是否存在
15、LL(K)文法二义性的。
a、都是b、都不是c、不一定都是
16、下面的文法是。
S:
=aAa|aBb|bAb|bBaA:
=xB:
=x
a、LR
(1)文法b、LALR
(1)文法c、都不是d、a和b
17、编译过程中,比较常见的中间语言有。
1波兰表示
2逆波兰表示
3三兀式
4四元式
5树形表示
a①③④b、②③④c、③④①⑤d、②③④⑤
18、-a-(b*c/(c-d)+(-b)*a)的逆波兰表示是。
a、abc*cd-b-a*+/--b、a-bc*cd-b-a*+/-
c、a-bc*cd-/b-a*+-d、a-bc*/cd-b-a*+-
19、在编译程序中安排中间代码生成的目的是。
1便于进行存储空间的组织
2利于目标代码优化
3利于编译程序的移植
4利于目标代码的移植
5利于提高目标代码的质量
a、②④b、①②③c、③④①d、②③④⑤
20、代码优化的主要目标是。
1如何提高目标程序的运行速度
2如何减少目标程序运行所需的空间。
3如何协调①和②
4如何使生成的目标代码尽可能简短
а、②④b、①②③c、③④①d、②③④
三、简答题:
(每小题5分,共35分)
1、证明下面文法是二义性的。
S:
=ibtSeS|ibtS|a
2、现有文法S:
=SaA|AA:
=AbB|BB:
=cSd|e
请证实是文法的一个句型,并写出该句型的所有短语、素短语以及句柄。
3、求出下列文法所产生语言对应的正规式。
=bS|aAA:
=aA|bBB:
=aA|bC|bC:
=bS|aA
4、将表达式((a*d+c)/d+e)*f+g分别表示三元式、四元式、逆波兰式序列
5、消除下列文法的左递归。
=SaP|Sf|PP:
=QbP|QQ:
б、给出与下图的NFA等价的正规文法。
D:
=A+CE:
=A*CF:
=E+DG:
=B*F
H:
=A+C
I:
=A*CJ:
=H+IK:
=B*5L:
=K+J
M:
=L
假定只有L在基本块出口之后活跃,写出优化后的四元式序列。
四、问答题:
(共计45分)
1、已知文法GA:
=aABe|aB:
=Bb|d
(1)给出与上述文法等价的LL
(1)文法G。
(2)构造预测分析表并给出输入串aade#分析过程。
(10分)
2、设已给文法G:
E:
=E+TE:
=TT:
=T*FT:
=FF:
=PfFF:
=PP:
=(E)P:
=i
构造此文法的算符优先矩阵。
(10分)
3、有正规式babb(abb)
(1)构造该正规式所对应的NFA(画出状态转换图)。
(2)将所求的NFA确定化。
(画出确定化的状态转换图)。
(3)将所求的NFA最小化。
(画出最小化后的状态转换图)。
4、若有文法G(S)的产生式如下:
=L=RS:
=RL:
=*RL:
=iR:
=L,构造识别所有项目集规
范族的
DFA(15分)
(1)
判断该文法是否是
LR(0)文法,说明理由。
(2)
SLR
(1)文法,说明理由。
(3)
LR
(1)文法,说明理由。
(4)
LALR
(1)文法,说明理由
(3
至
学年第
学期)
考试对象:
试卷类型:
(1)考试时间:
分钟
一、单项选择题(20分,每小题1分)
1、文法G1:
P—aPQR|abRRQ—QR,BQ—bb,bR—bc,cR—cc,它是Chomsky哪一型文法?
A、0型B、1型C、2型D、3型
2、编译程序必须完成的工作有
①词法分析②语法分析③语义分析④代码生成⑤中间代码生成⑥代码优化
①②③④B、①②③④⑤C、①②③④⑥D、①②③④⑤⑥
3、LR(K)文法二义性的。
A、都是B、都不是C、不一定都是
4、语法分析的常用方法是。
①自顶向下②自底向上③自左向右④自右向左
5、用高级语言书写的源程序都必须经过编译,产生目标代码后才能投入运行,这种说法
A、不正确B、正确
6、生成非0开头的正偶数集的文法是。
C、Z:
7、文法G所描述的语言是
A、文法G的字汇表V中所有符号组成的符号串
B、文法G的字汇表V的闭包V*中的所有符号串
C、由文法的开始符号推出的所有符号串
D、由文法的开始符号推出的所有终结符号串。
8给定文法G[l]:
l-l1|IO|la|lc|a|b|c,下面符号串中,为该文法句子的是。
①abO②a0c01③aaa④bc1O
A、①B、②③④C、③④D、①②③④
9、这样的语言,他们能被确定的有限自动机识别,但不能用正规表达式表示:
A、存在B、不存在C、无法判定是否存在
10、LR(K)文法是。
A、从左到右分析,共经过K步的一种编译方法。
B、从左到右分析,每次向前预测K步的一种编译方法。
C、从左到右分析,每次向貌似句柄的符号串后看K个输入符号的一种编译方法。
D、从左到右分析,每次走K步的一种编译方法。
11、-a-(b*c/(c-d)+(-b)*a)的逆波兰表示是。
A、a-bc*cd-/b-a*+-B、a-bc*/cd-b-a*+-
C、abc*cd-b-a*+/--D、a-bc*cd-b-a*+/-
12、设有文法G[S]=({b},{S,B},S,{S-b|bB,B-bS}),该文法描述的语言是
A、{b2i+1|i>
1}B、{b2i+1|i>
0}C、{bi1i>
0}D、{b2i|i>
13、素短语是指的短语。
7除自身外不再包含其它素短语可选项有:
A、①④B、①⑤C、①⑥D、②④E、③⑤F、③⑦G、②⑦
14、算符优先分析属于分析方法。
A、自顶向下B、自底向上C、自左向右D、自右向左
15、简单优先分析法每次都是对进行归约
16、文法G[S]:
S-aSS-WS-UU-aV-bVV-acW-aW
其中的全部无用符号是
A、W,V,UB、V,bC、W,V,a,b,cD、W,V,b,c
17、程序基本块是指
A、一个子程序B、一个仅有一个入口和一个出口的语句
C、一个没有嵌套的程序段
D、一组顺序执行的程序段,仅有一个入口和一个出口
18、设有文法G[Z]:
Z-Z*Z|Z+Z|(Z)|a该文法二义性文法
19、下列正规表达式中与(a|b)*(c|d)等价。
A、(a*|b*)(c|d)B、(a*|b*)*(c|d)C、(ab)*(d|c)D、(a*b*)(cd)
20、语法分析的任务是
①分析单词是怎样构成的②分析单词串是如何构成语句和说明的③分析语句和说明是如何构成程序的④分析程序的结构
A、②③B、②③④C、③④D、①②③④
二、(简答题,共计20分)
1、(10分)已知文法G(T):
T—T*F|FF-FTP|PP—(T)|i
(1)写出句型T*PT(T*F)推导过程,画出语法树;
(2)写出句型T*PT(T*F)的短语、直接短语、句柄和素短语。
2、(5分)构造识别下面正规式的NFA
b(aa|bb)*ab
3、(5分)消除文法G[S]的左递归
G[S]:
S—ABA—bB|AaB—Sb|a
三、(综合题,共计30分)
Z—aBA—aBB—bBB—aAB—b
构造状态转换图,并说明符号串aaaabbb是否是该文法接受的句子
(2)写出G[Z]文法相应的正规式:
3、(10分)设有以下文法G[S]:
S—aAbDe|dA—BSD|eB—SAc|cD|D—Se|
(1)求出文法中每个非终结符的FOLLOW集
(2)该文法是LL
(1)文法吗?
构造LL
(1)分析表
四、(综合题,共计30分)
1、(10分)将表达式((B*D+A)/E+D)*F+G分别表示为三元式、四元式、逆波兰式序列
2、(10分)对基本块P画出DAG图
=3
=A*C
F:
=E+D
G:
J:
=H+I
K:
=B*5
L:
3、(10分)对于文法G[S]:
S—aBb|aAa|bAb|bBaA—xB—x
(1)判断该文法是否是LR
(1)文法,构造LR
(1)分析表
(2)判断该文法是否是LALR
(1)文法,说明理由
(4至学年第—学期)
一、选择题(本大题共20小题,每小题1分,共20分)
1、描述一个语言的文法是。
a、唯一的b、不是唯一的c、个数有限的
2、简单优先分析法每次都是对进行归约。
a、最左短语b、直接短语c、句柄d、素短语e、最左素短语
3、设有文法G[I]:
I—10|I1|IaIc|a|b|c
下列符号串中是该文法的句子的有。
1abO②a0c01③aaa④bc10
可选项有
a①b、②③④c、③④d、①②③④
4、LR(K)文法二义性的。
a都是b、都不是c、不一定都是
5、一个上下文无关文法G包括四个组成部分依次为:
一组、一个、一组、一组
a、字符串b、字母数字串c、产生式d、结束符号e、开始符号f、文法g、非终
结符号h、终结符号
6、文法G所描述的语言是的集合
a文法G的字汇表V中所有符号组成的符号串
b、文法G的字汇表V的闭包V*中的所有符号串
c、由文法的开始符号推出的所有符号串
d、由文法的开始符号推出的所有终结符号串。
7、设有文法G[Z]:
ZtZ*Z|Z+Z|(Z)|a该文法二义性文法
a、是b、不是c、无法判断
8、语法分析的常用方法是:
1自顶向下②自底向上③自左向右④自右向左
a、①②③④b、①②c、③④d、①②③
9、LR(K)文法是。
10、素短语是指的短语。
11、文法的二义性和语言的二义性是两个概念。
12、在编译中产生语法树是为了。
13、下列正规表达式中与(a|b)*(c|d)等价。
a、(a*|b*)(c|d)b、(a*|b*)*(c|d)c、(ab)*(d|c)d、(a*b*)(cd)
15、这样的语言,他们能被确定的有限自动机识别,但不能用正规表达式表示:
StaSStWStUUtaVtbVVtacWtaW
其中的全部无用符号是()
a、(W,V,U)b、(V,b)c、(W,V,a,b,c)d、(W,V,b,c)
16、ab3的另一种表示方法是()
a、abbbb、abababc、abbaabd、aaabbb
3三元式
a、①③④b、②③④c、③④①⑤d、②③④⑤
18、-a-(b*c/(c-d)+(-b)*a)的逆波兰表示是。
a、abc*cd-b-a*+/--b、a-bc*cd-b-a*+/-
c、a-bc*cd-/b-a*+-d、a-bc*/cd-b-a*+-
①便于进行存储空间的组织
a、②④⑤b、①②③c、③④①d、②③④⑤
20、设有文法G[S]=({b},{S,B},S,{Stb|bB,BbS}),该文法描述的语言是()。
a、{b2i+1|i>
1}b、{b2i+1|i>
0}c、{bi|i>
0}d、{b2i|i>
0}
二、简答题:
(每小题5分,共30分)
PtPaP|PbP|cP|Pe|f
2、设一文法EtT|E+T|E-TTtF|T*F|T/FFt(E)|i证明E+T*(E-T)是它的一个句型,并指出该句型的全部短语,直接短语,句柄和素短语。
StbS|aAAtaA|bBBtaA|bC