编译原理-第三版-何炎祥-第三章习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理作业三
T3-1构造自动机A ,使得它能识别形式如±dd*·d*E ±dd 的实数,其中,d ∈{0,1,2,3,4,5,6,7,8,9}
T3-4将图所示NFA 确定化和最小化。
解:依据该NFSA 的状态图构造DFSA 如下表所示。
I
I x
I y
[q 0] 0 [q 1] 1 [q 2] 2
[q 1] 1 [q 2,q 3] 3
[q 2] 2
[q 1,q 3] 4 [q 2,q 3] 3 [q 3,q 4] 5 [q 1,q 3] 4 [q 1,q 3] 4 [q 2,q 3,q 4] 6 [q 3] 7 [q 3,q 4] 5 [q 3,q 4] 5 [q 3] 7 [q 2,q 3,q 4] 6 [q 3,q 4] 5 [q 1,q 3] 4 [q 3] 7 [q 3,q 4] 5
[q 3] 7
DFSA 相应的状态图如下图所示:
6
1
2
3
4
5
7
X
X
y
y
y
X
X
X
X
X
y
y
y
y
S
3
1
4
2
5
6
7
±
d
E
d
d
d
d
±
对DFSA 进行最小化:
已知K={0,1,2,3,4,5,6,7},K 可分为两个子集 K1={0,1,2,3,4,7}(非终态集) K2={5,6}(终态集)
在K1中,因为状态1只有x 输入,状态2只有y 输入,其他状态均有x ,y 输入,所以可以将K1分割为K11={0,3,4,7} K12={1} K13={2} 在K11中 {0}x=1∈K12 {3,4,7}x={5,6}⊂K2 故可将K11分割为 K111={0} K111={3,4,7} {3,4,7}x={5,6}⊂K2 {3,4,7}y={4,7}⊂K111 因此状态3,4,7是否等价取决于对K2的划分结果 在状态K2={5,6}中
{5,6}x=5∈K2 {5,6}y={4,7}⊂K111 所以状态5,6等价,所以状态3,4,7等价
所以,将原状态集合划分为{0}、{3,4,7}、{1}、{2}、{5,6} 最小化后的状态图为:
S
1
2
3
5
X
X
X
X
y
y
y
y
T3-9
图所示的是一个NFA A,试构造一个正规文法G,使得L(G)=L(A). 解:由NFSA的状态转换图得(a|b)*(aa|bb)(a|b)*
构造正规文法G[S]:S→aS|bS|aA|bB
A→aC|a
B→bC|b
C→aC|bC|a|b