分析华南农业大学编译原理题库Word格式.docx
- 文档编号:17001307
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:25
- 大小:24.51KB
分析华南农业大学编译原理题库Word格式.docx
《分析华南农业大学编译原理题库Word格式.docx》由会员分享,可在线阅读,更多相关《分析华南农业大学编译原理题库Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
(2).画出该代码序列的流图,每个基本块用
(1)的序号表示;
(3).若有循环,列出构成循环的节点(基本块)。
(10分)
(1).如图分红四个基本块B1、B2、B3、B4
B1
(2).流图:
B4
B3
B2
(3).构成循环的基本块是{B2,B3}
15、有翻译模式如下:
S’→S{print(S.h)}
S→a{S.h=0}
S→(T){S.h=T.h+1}
T→T1,S{T.h=T1.h+S.h}
T→S{T.h=S.h}
采用移进归约的分析方法,当分析器的输入为(a,(a))时,画出其语法树(可以带注释、也可以不带注释),并求输出的结果。
输出结果是:
2
S
(
T
)
a
语法树:
二、构造识别下列语言的最小DFA(共20分):
1、正规式1(0|1)*0|0;
(7分)
1
D
B
A
C
求出NFA得4分,确定化了得6分,最小DFA的状态错漏一个扣1分,弧错漏一条扣0.5分。
2、以101结尾的二进制串;
(8分)
3、不以101结尾的二进制串。
(5分)
构造识别下列语言的最小DFA(共15分):
4、正规式(0|1)*(00|11)(0|1)*;
5、含有奇数个1或奇数个0的二进制串;
6、能被2整除的二进制串。
1、
2、
3、
构造下列正规式相应的DFA(用状态转换图表示)(15)(2008)
(7)1(0|1)*1
(8)
0,1
0*10*10*10*1
(9)letter(letter|digit)*
3
(7)
5
4
letter
(9)
digit
7、将下图NFA确定化。
(10分)(2013)
b
ε
{2}
{3}
确定化:
(可以给状态换名)
{0,1,3}
{1,2}
{1,2,3}
(确定化后再化简也不扣分,但要有说明)
8、将下图DFA化简。
(5分)(2013)
E
首先将DFA的状态集划分成终态集和非终态集{E}、{A,B,C,D};
由于{A,B,C,D}0={B,C,C,E},所以再分划成{A,B,C}、{D};
对于输入符号1,{A,B,C}1={Φ,D,D},所以再次分划成{A}、{B,C};
{B,C}0={C,C},{B,C}1={D,D},所以不用再分,B、C是等价状态。
得到最小的DFA如下:
9.有文法如下:
S→a|b|(T)
T→TeS|S
请给出(Sebe(a))的语法树、短语、直接短语、素短语、句柄。
(2分)短语:
(Sebe(a))、Sebe(a)、
Seb、(a)、S、b、a
(1分)直接短语:
S、b、a
(1分)素短语:
b、a
(1分)句柄:
e
10.有定义算术表达式的文法如下:
E→E+T|E-T|T
T→T*F|T/F|F
F→P↑F|P
P→(E)|i
构造句型E+T*P↑P-i的语法树;
并指出该句型的所有短语、直接短语、素短语、句柄。
语法分析树:
所有的短语:
E+T*P↑P-i、E+T*P↑P、i、T*P↑P、
P↑P、P
直接短语:
P、i
素短语:
P↑P、i
句柄:
P
F
-
+
*
i
↑
11、有文法如下:
(共15分)
S→aSe|ae
(1)构造文法的识别规范句型活前缀的DFA;
(2)分别写出上一步DFA各状态所识别的活前缀;
(3)给出符号串?
?
的LR移进-归约过程(包括状态栈、符号栈、输入串、分析动作)。
(1).(6分)拓广文法并给产生式编号:
S’→S①S→aSe②S→ae
文法的识别规范句型活前缀的DFA:
I5:
S→aSe.
I3:
S→aS.e
I4:
S→ae.
I2:
S→a.Se
S→a.e
S→.aSe
S→.ae
I1:
S’→S.
I0:
S’→.S
S→.aSe
S→.ae
(2).文法的所有规范句型的活前缀就是上一步DFA各状态所识别的符号串:
ε|S|aa*|a*aS|a*ae|a*aSe(3分)
(3).LR(0)分析表如下(6分):
ACTION
GOTO
#
S2
acc
S4
S5
r2
r1
空白处表示出错。
12.有定义算术表达式的文法如下:
构造句型P↑i*(E+F-T)的语法树;
并指出该句型所有的短语、直接短语、素短语以及句柄。
短语:
(2分)
P↑i*(E+F-T)、P↑i、i、
(E+F-T)、E+F-T、E+F、F
i、F(1分)
i、E+F(1分)
i(1分)
13、给出下面语言的相应文法:
(10)(2008)
L1={a2n+1bn+1|n≥1}L2={anbm+nam|n≥1,m≥0}
G1:
S→AB
A→aAb|ab
B→bBa|ε
S→aaSb|ab
14、设有文法G[A]:
(2008)
A→BCc|gDB
B→bCDE|ε
C→DaB|ca
D→dD|ε
E→gAf|c
(1)计算该文法的每一个非终结符的FIRST集和FOLLOW集;
(2)试判断该文法是否为LL
(1)文法。
(10)
FIRST
FOLLOW
a,b,c,d,g
b,ε
a,c,d
d,ε
c,g
f
a,c,d,f,g
c,d,g
a,b,c,f,g
a,c,d,f,g
是LL
(1)文法。
15、对表达式文法G:
E→E+T|T
T→T*F|F
F→(E)|I
(1)造各非终结符的FIRSTVT和LASTVT集合;
(2)构造文法的算符优先关系表。
(15)
FIRSTVT
LASTVT
*,+,(,i
*,(,i
(,i
*,+,),i
*,),i
),i
算符优先关系表
I
>
<
=
16、对下述文法:
(10)(2008)
S→a|(T)
T→T,S|S
构造一个翻译模式,统计输出配对的括号个数。
引入S、T的综合属性h来统计配对的括号个数,得到翻译模式如下:
S’→S{print(S.h)}
T→T1,S{T.h=T1.h+S.h}
17、有文法如下:
(共15分)
S→aB
B→aDd|d
D→Ab|ε
A→aD|e
(1)计算文法的每个非终结符的FIRST集合和FOLLOW集合;
(2)计算文法的每个候选产生式的SELECT集合;
(3)说明文法是LL
(1)文法的理由,并给出其预测分析表;
(4)给出符号串aaebd的预测分析过程(即最左推导过程)。
(1).(4分)FIRST(S)={a}FOLLOW(S)={#}
FIRST(B)={a,d}FOLLOW(B)={#}
FIRST(D)={a,e,ε}FOLLOW(D)={b,d}
FIRST(A)={a,e}FOLLOW(A)={b}
(2).(4分)SELECT(S→aB)={a}
SELECT(B→aDd)={a}SELECT(B→d)={d}
SELECT(D→Ab)={a,e}SELECT(D→ε)={b,d}
SELECT(A→aD)={a}SELECT(A→e)={e}
d
B→aDd
B→d
D→Ab
D→ε
D→Ab
A→aD
A→e
##结束
#dd#
#dbbd#
#dbeebd#A→e
#dbAebd#D→Ab
#dDebd#
#dDaaebd#B→aDd
#Baebd#
#Baaaebd#S→aB
#Saaebd#
分析栈输入串所用规则
符号串aaebd的最左推导过程:
S⇒aB⇒aaDd⇒aaAbd⇒aaebd
(3).(3分)符号串aaebd的预测分析过程:
(3).(4分)如上所求结果,定义非终结符B(或D或A)的两个规则的SELECT集合无交集,所以文法是LL
(1)文法,其预测分析表如下:
18、有文法如下:
(共10分)(2013)
S→aAB
B→a|d
A→bB|eA|ε
(1)计算文法的每个候选产生式的SELECT集合;
(2)说明文法是LL
(1)文法的理由,并给出其预测分析表。
(1)SELECT(S→aAB)={a}SELECT(B→a)={a}SELECT(B→d)={d}
SELECT(A→bB)={b}SELECT(A→eA)={e}SELECT(A→ε)={a,d}
(2)文法不含左递归,定义B的两条产生式的SELECT集没有交集,定义A的三条产生式的SELECT集两两不相交,所以文法是LL
(1)文法,预测分析表如下:
S→aAB
B→a
B→d
A→ε
A→bB
A→eA
19、有文法如下:
(共15分)(2011)
S→TL
T→int|float
L→idR
R→,idR|ε
(2)说明文法是LL
(1)文法的理由,并给出其预测分析表;
(6分)
(3)给出符号串intid,id的预测分析过程(包括分析栈、输入串、所用规则)。
(4分)
(1)SELECT(S→TL)={int,float}
SELECT(T→int)={int}SELECT(T→float)={float}
SELECT(L→idR)={id}
SELECT(R→,idR)={,}SELECT(R→ε)={$}
(2)文法不含左递归,并且SELECT(T→int)∩SELECT(T→float)=Φ
SELECT(R→,idR)∩SELECT(R→ε)=Φ
所以文法是LL
(1)文法,预测分析表如下:
int
float
,
id
$
T→int
T→float
L
R
R→,idR
R→ε
(3)符号串intid,id的预测分析过程:
分析栈输入串所用规则
$Sintid,id$S→TL
$LTintid,id$T→int
$Lintintid,id$int与int匹配
$Lid,id$L→idR
$Ridid,id$id与id匹配
$R,id$R→,idR
$Rid,,id$,与,匹配
$Ridid$id与id匹配
$R$R→ε
$$分析结束
20、有定义二进制串的文法如下:
S→L
L→0L1
L→01
(3)说明该文法是SLR
(1)文法的理由,并给出SLR
(1)分析表;
(4)给出符号串0011的LR移进-归约过程(包括状态栈、符号栈、输入串、
分析动作)。
(1).给产生式编号:
S→L①L→0L1②L→01
文法的识别规范句型活前缀的DFA(5分):
L→0L1.
S→L.
S→.L
L→.0L1
L→.01
L→0.L1
L→0.1
L→.0L1
L→.01
符号栈
状态栈
输入串
动作
0011#
#0
02
011#
#00
022
11#
#001
0224
1#
#0L
023
#0L1
0235
#L
01
(4)符号串0011的LR分析过程(3分):
(4)符号串aaee的LR分析过程(4分):
(3).(4分)因为上面DFA各状态都不含冲突,所以文法是LR(0)文法,也是SLR
(1)文法。
FOLLOW(L)={1,#},SLR
(1)分析表如下:
LR(0)分析表如下(5分):
(2).上一步DFA各状态所识别的活前缀(3分)分别是:
ε;
I1:
L;
I2:
00*;
I3:
0*0L;
I4:
0*01;
I5:
0*0L1;
L→01.
L→0L.1
21、有定义二进制串的文法如下:
(共20分)(2011)
L→LB|B
B→0|1
(4)给出符号串10的LR移进-归约过程(包括状态栈、符号栈、输入串、
对文法进行拓广并为产生式编号:
(0)S’→L
(1)L→LB
(2)L→B(3)B→0(4)B→1
(1)(6分)构造文法的识别活前缀的DFA如图:
S’→.L
L→.LB
L→.B
B→.0
B→.1
S’→L.
L→L.B
L→B.
B→0.
L→LB.
B→1.
(2)(4分)DFA各状态所识别的活前缀:
I0:
εI1:
LI2:
BI3:
0|L0I4:
1|L1I5:
LB
(3)(6分)I1中含移进-归约冲突,但FOLLOW(S’)={$},与待移进的符号集合{0,1}没有交集,所以是SLR
(1)文法。
FOLLOW(L)=FOLLOW(B)={0,1,$},SLR
(1)分析表如下:
状态
S3
r3
r4
(4)(4分)符号串10的LR分析过程:
状态栈符号栈输入串分析动作
0$10$S4
04$10$r4
02$B0$r2
01$L0$S3
013$L0$r3
015$LB$r1
01$L$acc
六、证明题(本题共2小题,每小题5分,共10分)
1、证明正规式b(ab)*与(ba)*b是等价的。
(5分)
证明:
因为两个正规式描述的正规集都是{b,bab,babab,bababab,babababab,……},所以等价。
(用文字描述正规集也可以。
或用等价的最小DFA一样来证明也可以,都是:
G[S]:
S→(AS)|(b)
A→(SaA)|(a)
2、有文法如:
证明符号串(((b)a(a))(b))是此文法的句子。
(5分)
因为存在最左推导序列(也可以用最右推导序列或语法树)
S⇒(AS)⇒((SaA)S)⇒(((b)aA)S)⇒(((b)a(a))S)⇒(((b)a(a))(b))
且符号串(((b)a(a))(b))中只含终结符,所以它是此文法的句子。
3、证明文法G[S]:
S→SS|a|b是二义的。
(2013)(5分)
对于文法的符号串aabb,有两棵不同的语法树如右,所以该文法是二义的。
4、证明下面的两个文法是等价的。
(2013)(5分)
S→D0|0
D→S1
G[A]:
A→0B|0
B→1C
C→0B|0
文法G[A]和文法G[S]定义的符号串集合都是0(10)*,所以两个文法是等价的。
(用其他的等价正规式、DFA、改写文法也可以)
5、有文法如:
证明符号串(A((SaA)(b)))是此文法的规范句型。
(5分)(2013)
对于符号串(A((SaA)(b)))存在如下最右推导(规范推导):
S⇒(AS)⇒(A(AS))⇒(A(A(b)))⇒(A((SaA)(b)))
根据定义,符号串(A((SaA)(b)))是此文法的规范句型。
四、应用题(本题共15分)
1、写一个文法,使其语言是二进制奇数的集合,且每个奇数不以0开头。
或G[S]:
S→1A|1
A→1|1A|0A
S→1|1A1
A→0A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分析 华南 农业大学 编译 原理 题库