编译原理课后答案16页Word格式文档下载.docx
- 文档编号:13717747
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:19
- 大小:1.12MB
编译原理课后答案16页Word格式文档下载.docx
《编译原理课后答案16页Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《编译原理课后答案16页Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
E+T是相对于E的短语;
F是相对于T的短语;
i是相对于F的短语;
T*F是相对于T的短语;
E+T+T是相对于E的短语;
E+T+F是相对于E的短语;
E+T+i是相对于E的短语;
E+T*F是相对于E的短语;
E+T*F*F是相对于E的短语;
E+T*F*i是相对于E的短语;
E+T*F*i+i是相对于E的短语.
简单短语:
E+T是相对于E的简单短语;
F是相对于T的简单短语;
i是相对于F的简单短语;
T*F是相对于T的简单短语;
5.解:
L(G[A])={bn-1a|n=1,2…}
L(G[W])={bn-1a2|n=1,2…}
证明:
当n=1时,,显然结论成立;
假设n=k时;
则当n=k+1时,
综上,结论对一切n>
=1成立,即
在上面的规纳证明中,利用文法的一切规则且仅用了文法中的规则,
因此,该文法产生的语言L(G[W])={bn-1a2|n=1,2…}
6.
(1)Z:
:
=aAd|aZd
A:
=bc|bAc
(2)Z:
=AB
=ab|aAb
B:
=b|Bb
7.解:
题中要求文法是:
Z:
=1|3|5|7|9|Z1|Z3|Z5|Z7|Z9|A1|A3|A5|A7|A9
=2|4|6|8|A0|A2|A4|A6|A8|Z0|Z2|Z4|Z6|Z8
习题5
2.最左推导:
最右:
最右推导是规范分析,最右推导每一步的句柄是:
①(;
②T;
③(;
④S;
⑤b;
⑥S;
⑦a
4.
(2)证明:
从上面两个语法树中可得出对于文法G[S]:
S:
=iScS|iS|i的句子iiici有两个不同的语法树,故得出该文法是二义性的.
5.
(1)方法一:
自顶向下
最右推导:
方法二:
自底向上
最左归约:
习题6
3.解:
DFAD=({A,B,C,D,E,F},{0,1},M,A,{E,F})
M:
M(A,0)=B
M(B,0)=DM(B,1)=C
M(C,0)=AM(C,1)=F
M(D,0)=AM(D,1)=C
M(E,0)=DM(E,1)=C
M(F,0)=EM(F,1)=A
对于字符串0011011运行DFAD有:
M(A,0011011)
=M(M(A,0),011011)
=M(M(B,0),11011)
=M(M(D,1),1011)
=M(M(C,1),011)
=M(M(F,0),11)
=M(M(E,1),1)
=M(C,1)
=F
∴DFAD能接受字符串0011011
8.解:
将状态转换图列表,即:
由左图可知,该状态转换图直接对应的是确定有穷状态自动机DFA
DFAD=({0,1,2,3,4,5},{a,b},M,0,{0,1})
M:
M(0,a)=1M(0,b)=2
M(1,a)=1M(1,b)=4
M(2,a)=1M(2,b)=3
M(3,a)=3M(3,b)=2
M(4,a)=0M(4,b)=5
M(5,a)=5M(5,b)=1
化简:
1.分化
①{0,1}{2,3,4,5}
②{0,1}{2,4}{3,5}
2.合并
3.删除
没有无用状态和死状态,所以化简到此结束
状态最小化图:
9.
(1)证明:
e1|e2=e2|e1
|e1|e2|=|e1|∪|e2|=|e2|∪|e1|=|e2|e1|
∴e1|e2=e2|e1
(2)证明:
(e1|e2)e3=e1e3|e2e3
|(e1|e2)e3|=|(e1|e2)||e3|=|e1|e2||e3|=(|e1|∪|e2|)|e3|
=|e1||e3|∪|e2||e3|=|e1e3|∪|e2e3|=|e1e3|e2e3|
∴(e1|e2)e3=e1e3|e2e3
10.证明:
e=b|ae当且仅当e={a}b
证:
充分性:
正则表达式e=b|ae的值是这样一个正则集,以无数个小a开头,后跟
一个小b。
即:
e={a}b。
必要性:
|{a}b|=|{a}||b|=|a|*|b|
∴e=b|ae当且仅当e={a}b
11.
(1)从e构造转换系统:
去ε弧及无用状态和死状态:
由状态转换图构造NFA:
NFAA=({S,A,B,C,D,F,Z},{0,1},M,{S},{Z})
由NFA产生DFA:
分化:
①{[S],[C],[A],[AD],[AF],[ABF]}{[AFZ]}
②{[S]}{[C]}{[A],[AF],[ABF]}{[AD]}{[AFZ]}
最小化:
(2)由e构造转换系统:
去ε弧及无用状态和死状态:
因为现在只有一个状态,所以无需再最小化,此时就是最小化.
13.解:
建立方程组如下:
W=Ua+Vb①
U=Va+c②
V=Ub+c③
把③代入②得,U=(Ub+c)a+c=Uba+ca+c
把它改写成U=(ca+c){ba},因此U=(ca|c){ba}④
把②代入③得,V=(Va+c)b+c=Vab+cb+c
把它改写成V=(cb+c){ab},因此V=(cb|c){ab}⑤
把④⑤代入①得,W=Ua+Vb=(ca|c){ba}a+(cb|c){ab}b
因此W=(ca|c){ba}a|(cb|c){ab}b
习题七
6.试消去文法G[S]:
4.试为文法G[P]:
P∷=beginSendS∷=A|C
A∷=V:
=EC∷=ifEthenS
E∷=VE∷=E+VV∷=i
采用某种程序设计语言构造递归下降识别程序。
解:
由于文法存在左递归,进行文法等价变换,得到等价文法G′[P]:
E∷=VE′E′∷=+VE′|εV∷=i
流程图如下:
8.设文法G[E]:
E∷=T+E|T-E|T
T∷=F*T|F/T|F
F∷=(E)|i
试问能否直接应用预测分析技术来实现其识别程序?
简略说明原因。
请设法为该文法构造预测分析表,给出构造过程,并识别输入符号串i*i-(i+i)/i是否该文法的句子。
不能直接应用预测分析技术来实现其识别程序。
原因:
该文法存在回溯性
消回溯:
E∷=TE′
E′∷=+E|-E|ε
T∷=FT′
T′∷=*T|/T|ε
first(E)={(,i}
first(E′)={+,-,ε}
first(T)={(,i}
first(T′)={*,/,ε}
first(F)={(,i}
follow(E)={#,)}
follow(E′)={#,)}
follow(T)={#,),+,-}
follow(T′)={#,),+,-}
follow(F)={*,/,#,),+,-}
识别输入符号串i*i-(i+i)/i,则识别过程
步骤栈输入输出
0#Ei*i-(i+i)/i#E∷=TE′
1#E′Ti*i-(i+i)/i#T∷=FT′
2#E′T′Fi*i-(i+i)/i#
3#E′T′i*i-(i+i)/i#
4#E′T′*i-(i+i)/i#T′∷=*T
5#E′T**i-(i+i)/i#
6#E′Ti-(i+i)/i#T∷=FT′
7#E′T′Fi-(i+i)/i#
8#E′T′i-(i+i)/i#
9#E′T′-(i+i)/i#T′∷=ε
10#E′-(i+i)/i#E′∷=-E
11#E--(i+i)/i#
12#E(i+i)/i#E∷=TE′
13#E′T(i+i)/i#T∷=FT′
14#E′T′F(i+i)/i#F∷=(E)
15#E′T′)E((i+i)/i#
16#E′T′)Ei+i)/i#E∷=TE′
17#E′T′)E′Ti+i)/i#T∷=FT′
18#E′T′)E′T′Fi+i)/i#
19#E′T′)E′T′i+i)/i#
20#E′T′)E′T′+i)/i#T′∷=ε
21#E′T′)E′+i)/i#E′∷=+E
22#E′T′)E++i)/i#
23#E′T′)Ei)/i#E∷=TE′
24#E′T′)E′Ti)/i#T∷=FT′
25#E′T′)E′T′Fi)/i#
26#E′T′)E′T′i)/i#
27#E′T′)E′T′)/i#T′∷=ε
28#E′T′)E′)/i#E′∷=ε
29#E′T′))/i#
30#E′T′/i#T′∷=/T
31#E′T//i#
32#E′Ti#T∷=FT′
33#E′T′Fi#
34#E′T′i#
35#E′T′#T′∷=ε
36#E′#E′∷=ε
37##
因此识别出i*i-(i+i)/i是文法G[E]的句子.
习题8
2.为文法G[S]:
S∷=a|b|(R)R∷=TT∷=S,T|S
构造简单优先矩阵。
S1=SS2=aS3=bS4=(S5=RS6=)S7=TS8=,
3.利用图5-4中的简单优先矩阵,识别文法G5.2的句子b(aa)b.
习题九
3.试为下列优先矩阵构造优先函数
(1)逐次加一法构造优先函数:
步骤三、关于优先关系±
修改f与g的值成,而此时构造过程已收敛,即优先函数值与优先关系完全一致,则该优先矩阵所对应的优先
(2)Bell有向图法(非形式化)
步骤三、检查可得f与g的值与原有的优先矩阵一致,所以上表函数即为所求优先函数
Bell有向图法(形式化)
习题十
习题十一
2.试说明文法G[S]:
S∷=aBB∷=Bb|b不是LR[0]文法。
构造文法G[S]的增广文法G[Z]:
Z∷=S#S∷=aBB∷=Bb|bCFSM:
因为文法G[Z](等价于G[S])的CFSM中有不适定状态S4,所以此文法不是LR(0)文法。
4、试利用表5-10中的分析表识别符号串(i+i)*i+i是否是文法G5.5的句子。
给出识别过程。
注意,请指出步每步动作。
识别过程:
5、设文法G[S]:
S∷=a|b|(T)T∷=T,S|S试构造closure({[0,0;
#]})。
closure({[0,0;
#]})=closure({[Z→.S,#]})
={[Z→.S,#],[S→.a,#],[S→.b,#],[S→.(T),#]}
6、试写出关于文法G[S]:
S∷=a|b|(T)T∷=T,S|S的规则T∷=T,S的一切LR(0)项,且构造CLOSURE({S→(.T)}),指明它有哪些后继项集,各是什么?
其中哪些对应于归约状态?
哪些对应于读状态?
哪些对应于不适定状态?
T∷=T,S的一切LR(0)项:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课后 答案 16