编译原理课后答案第三版Word文件下载.docx
- 文档编号:21164240
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:15
- 大小:127.88KB
编译原理课后答案第三版Word文件下载.docx
《编译原理课后答案第三版Word文件下载.docx》由会员分享,可在线阅读,更多相关《编译原理课后答案第三版Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
{2,4}a={0,1}{2,4}b={3,5}
{3,5}a={3,5}{3,5}b={2,4}
0代表{0,1},2代表{2,4},3代表{3,5}得最少化为:
aba
14.构造一个DFA,它接收∑={0,1}上所有满足如下条件的字符串:
每个1都有0直接跟在右边。
构造正规式为:
(0|10)*
则可构造如下NFA:
ε
0
εε
ε10
ε
列出状态转换矩阵如下:
01
A{q0,F,A,C,qf}{B,G,F,A,C,qf}{D}
B{B,G,F,A,C,qf}{B,G,F,A,C,qf}{D}
C{D}{E,G,F,A,B,C,qf}ø
D{E,G,F,A,B,C,qf}{B,G,F,A,C,qf}{D}
则得DFA如下:
1
10
1
最少化得{A,B,D}0={B}{A,B,D}1={C}
1
15.给定右线性文法G:
S->
0S|1S|1A|0B
A->
1C|1
B->
0C|0
C->
0C|1C|0|1
求出一个与G等价的左线性文法。
由G得NFA=<
{S,A,B,C}∪{f},{0,1},δ,S,{f}>
0,111
0,10,1
00
由NFA得左线性文法:
GL=<
{0,1},{A,B,C,f},f,ρ’>
ρ’:
A->
B->
C->
A1|B0|C0|C1
f->
四
1.考虑下面文法G:
S->
a|^|(T)
T->
T,S|S
(1)消除G的左递归
(2)改写后的文法是否是LL
(1)的?
给出预分析表。
(1)S->
T->
ST’
T’->
ST’|ε
(2)
FIRSTFOLLOW
Sa,^,(#,,,)
Ta,^,()
T’,,ε)
预分析表:
a^(),#
SS->
aS->
^S->
(T)
TT->
ST’T->
ST’T->
T’T’->
εT->
ST’
是LL
(1)的。
五
5.文法S->
AS|b
A->
SA|a
(1)列出所有LR(0)项目
(2)构造LR(0)项目集规范族及识别活前缀的DFA
(3)
该文法是SLR的么?
若是构造它的SLR分析表。
扩展文法:
S’->
SS
S->
A->
SA|ab
A
S
SbA
bbS
aa
AbA
aaS
(3)
FollowFirst
S’#a,b
S#,a,ba,b
Aa,ba,b
冲突项目I1中:
有接受项目和移进冲突,可解决.
#a,b
I5,I7存在移进,归约冲突,不可解决.
∵Follow(S)∩a∩b≠○
所以,该文法不是SLR的
8.证明下面的文法S->
AaAb|BbBa
是LL
(1)文法。
①不含左递归;
②First(α1)∩First(α2)∩…=○
③First(A)∩Follow(A)=○
∴该文法是LL
(1)文法
七
1.给出下面表达式的逆波兰表示(后缀式):
a*(-b+c)
a+b*(c+d/e)
notAornot(CornotD)
(AandB)or(notCorD)
后缀式分别为:
ab-c+*
abcde/+*+
AnotCDnotornotor
ABandCnotDoror
3.请将表达式-(a+b)*(c+d)-(a+b+c)分别表示成三元式、间接三元式和四元式序列。
三元式:
(0)(+,a,b)
(1)(-,(0),_)
(2)(+,c,d)
(3)(*,
(1),
(2))
(4)(+,a,b)
(5)(+,(4),c)
(6)(-,(3),(5))
间接三元式:
(1)(+,a,b)
(2)(-,
(1),_)
(3)(+,c,d)
(4)(*,
(2),(3))
(5)(+,
(1),c)
(6)(-,(4),(5))
间接代码:
(1)
(2)
(4)
(5)
(6)
四元式:
(0)(+,a,b,T1)
(1)(-,T1,_,T2)
(2)(+,c,d,T3)
(3)(*,T2,T3,T4)
(4)(+,a,b,T5)
(5)(+,T5,c,T6)
(6)(-,T4,T6,T7)
7.用7.5.1节的方法,把下面语句翻译成四元式序列:
WhileA<
CandB<
Ddo
IfA=1thenC:
=C+1
ElsewhileA≤DdoA:
=A+2;
100(j<
A,C,102)
101(j,_,_,115)
102(j<
B,D,104)
103(j,_,_,115)
104(j=,A,1,106)
105(j,_,_,109)
106(+,C,1,T1)
107(:
=,T1,_,C)
108(j,_,_,114)
109(j≤,A,D,111)
110(j,_,_,115)
111(+,A,2,T2)
112(:
=,T2,_,A)
113(j,_,_,109)
114(j,_,_,100)
115
十
3.试对以下基本块B1和B2:
B1:
A:
=B*C
D:
=B/C
F:
=2*E
G:
H:
=G*G
=H*G
L:
=F
M:
=L
B2:
B:
=3
=A+C
E:
=A*C
=B*F
I:
J:
=H+I
K:
=B*5
=K+J
分别应用DAG对它们进行优化,并就以下两种情况分别写出优化后的四元式序列:
(1)假设只有G,L,M在基本块后面还要被引用;
(2)假设只有L在基本块后面还要被引用。
F,L,M
*E
H
2+
*
A,GD
/
*
BC
B1优化后:
=B*C
(1)G:
=B*C
(2)G:
D:
=B/CH:
=G*GH:
E:
=A+DL:
=G*HL:
=G*H
G:
=AM:
H:
F:
L:
M:
L,M
+
+
E,I
D,H
G
+*
*K
B
F315AC
„‘
B2优化后:
=3
(1)G:
=3*F
(2)H:
=A+CH:
=A+CI:
=A*CI:
=A*CJ:
G:
=B*FJ:
=H+IL:
=15+J
H:
=DL:
=15+J
I:
=EM:
J:
K:
=15
L:
M:
5.以下程序是某程序的最内循环,试对它进行循环优化
=0
=1
L1:
=J+1
C:
=B+I
=C+A
IfI=100GOTOL2
=I+1
GOTOL1
L2:
代码外提:
B:
删除归纳变量I:
由C:
=B+I可知I和C成线性关系
所以I=100和C=B+100等价,即替换为:
R:
=100+B
IFC=BGOTOL2
同理I:
=I+1可替换成C:
综上所述代码优化后为:
=B+1
=100+B
IfC=RGOTOL2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课后 答案 第三
![提示](https://static.bdocx.com/images/bang_tan.gif)