编译原理复习资料.docx
- 文档编号:26422283
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:44
- 大小:311.49KB
编译原理复习资料.docx
《编译原理复习资料.docx》由会员分享,可在线阅读,更多相关《编译原理复习资料.docx(44页珍藏版)》请在冰豆网上搜索。
编译原理复习资料
第3章文法和语言
第1题
文法G=({A,B,S},{a,b,c},P,S)其中P为:
SAc|aB
AabBbc
写出L(G[S])的全部元素。
答案:
L(G[S])={abc}
第11题
令文法G[E]为:
ET|E+T|E-TTF|T*F|T/F
F(E)|i
证明E+T*F是它的一个句型,指出这个句型的所有短语、直接短语和句柄。
答案:
此句型对应语法树如右,故为此文法一个句型。
或者:
因为存在推导序列:
E=>E+T=>E+T*F,所
以E+T*F句型
此句型相对于E的短语有:
E+T*F;相对于T的短语
有T*F
直接短语为:
T*F
句柄为:
T*F
第13题
一个上下文无关文法生成句子abbaa的推导树如下:
(1)给出串abbaa最左推导、最右推导。
(2)该文法的产生式集合P可能有哪些元素?
(3)找出该句子的所有短语、直接短语、句柄。
A
S
a
S
B
B
b
B
b
A
a
S
a
盛威网()专业的计算机学习网站6
《编译原理》课后习题答案第三章
答案:
(1)串abbaa最左推导:
S=>ABS=>aBS=>aSBBS=>aBBS=>abBS=>abbS=>abbAa=>abbaa
最右推导:
S=>ABS=>ABAa=>ABaa=>ASBBaa=>ASBbaa=>ASbbaa=>Abbaa=>abbaa
(2)产生式有:
SABS|Aa|AaBSBB|b
可能元素有:
aaab
(3)该句子的短语有:
a是相对A的短语是相对S的短语b是相对B的短语
bb是相对B的短语
aa是相对S的短语
abbaa是相对S的短语
直接短语有:
ab
句柄是:
a
abbaaaaabbaa
第14题
给出生成下述语言的上下文无关文法:
(1){anbnambm|n,m>=0}
(2){1n0m1m0n|n,m>=0}
(3){WaWr|W属于{0|a}*,Wr表示W的逆}
答案:
(1)
SAA
AaAb|
(2)
S1S0|A
A0A1|
(3)
S0S0|1S1|
第16题
给出生成下述语言的三型文法:
(1){an|n>=0}
(2){anbm|n,m>=1}
(3){anbmck|n,m,k>=0}
答案:
(1)SaS|
(2)
SaA
AaA|BBbB|b
(3)
AaA|BBbB|C
问题6:
已知文法G[E]:
EET+|TTTF*|F
FF^|a
试证:
FF^^*是文法的句型,指出该句型的短语、简单短语和句柄.
答案:
该句型对应的语法树如下:
该句型相对于E的短语有FF^^*
相对于T的短语有FF^^*,F
相对于F的短语有F^;F^^
简单短语有F;F^句柄为F.
CcC|
第4章词法分析
第1题
构造下列正规式相应的DFA.
(1)1(0|1) *101
(2)1(1010*|1(010)*1)*0
(3)a((a|b)*|ab*a)*b
(4)b((ab)*|bb)*ab
答案:
(1)先构造NFA:
用子集法将NFA确定化
.
XA
ABAC
ABY
0
.
A
AC
A
AC
1
A
ABAB
ABY
AB
除X,A外,重新命名其他状态,令AB为B、AC为C、ABY为D,因为D含有Y(NFA
的终态),所以D为终态。
.01
X.AAABBCBCADDCB
DFA的状态图:
:
盛威网()专业的计算机学习网站1
《编译原理》课后习题答案第四章
(2)先构造NFA:
0
X
1
A
B
1
C
0
D
1
E
L
0
Y
F
用子集法将NFA确定化
1
G
0
H
1
I
0
J
1
K
X
T0=X
A
T1=ABFL
Y
CG
T2=Y
T3=CGJ
DH
K
T4=DH
EI
T5=ABFKL
T6=ABEFIL
EJY
T7=ABEFGJLY
EHY
CGK
T8=ABEFHLY
EY
CGI
T9=ABCFGJKL
DHY
T10=ABEFLY
T11=CGJI
DHJ
T12=DHY
T13=DHJ
EIK
T14=ABEFIKL
X
ABFL
Y
CGJ
DH
ABFKL
ABEFIL
ABEFGJLY
ABEFHLY
ABCFGJKL
ABEFLY
CGJI
DHY
DHJ
ABEFIKL
0
Y
DH
Y
EJY
EHY
EY
DHY
EY
DHJ
EJY
1
A
CG
K
EI
CG
CG
CGK
CGI
CGK
CG
K
EI
EIK
CG
盛威网()专业的计算机学习网站2
《编译原理》课后习题答案第四章
将T0、T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14重新命名,分别用0、
1、2、3、4、5、6、7、8、9、10、11、12、13、14表示。
因为2、7、8、10、12中含有Y,
所以它们都为终态。
0
123456789
1011121314
0
2
4
2
78
10121013
7
1
13
5
6339
119356
14
3
0
1
1
1
1
3
4
1
0
1
0
1
1
1
2
5
6
0
0
1
1
10
0
0
7
0
8
1
0
1
9
11
1
0
0
12
13
1
14
盛威网()专业的计算机学习网站3
《编译原理》课后习题答案第四章
(3)先构造NFA:
先构造NFA:
a,b
X
a
A
B
D
a
E
b
a
F
C
b
Y
用子集法将NFA确定化
X
T0=X
A
T1=ABCD
BE
BY
T2=ABCDE
BEF
BEY
T3=ABCDY
T4=ABCDEFT5=ABCDEY
X
ABCD
ABCDE
ABCDY
ABCDEF
ABCDEY
a
A
BE
BEF
BE
BEFBEF
b
BY
BEY
BY
BEYBEY
将T0、T1、T2、T3、T4、T5重新命名,分别用0、1、2、3、4、5表示。
因为3、5中含有Y,
所以它们都为终态。
0
12345
0
a
a
124244
1
b
3
b
b
3
5355
2
a
a
a
4
a
bb
a
b
5
盛威网()专业的计算机学习网站4
《编译原理》课后习题答案第四章
(4)先构造NFA:
X
b
A
B
a
C
b
D
E
a
I
b
Y
F
b
G
b
H
用子集法将NFA确定化:
ab
X
T0=X
A
T1=ABDEF
CI
G
T2=CI
DY
T3=G
H
T4=ABDEFY
T5=ABEFH
X
ABDEF
CI
G
ABDEFY
ABEFH
CI
CI
CI
A
G
DY
H
G
G
将T0、T1、T2、T3、T4、T5重新命名,分别用0、1、2、3、4、5表示。
因为4中含有Y,
所以它为终态。
ab
011232435423523
DFA的状态图:
5
《编译原理》课后习题答案第四章
0
b
1
2
a
b
b
3
b
b
b
5
用子集法将NFA确定化:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 复习资料