编译 第二章习题课.ppt
《编译 第二章习题课.ppt》由会员分享,可在线阅读,更多相关《编译 第二章习题课.ppt(42页珍藏版)》请在三一办公上搜索。
1、第二章习题课,例一:现有正规式(a|b)*(aa|bb)(a|b)*,请为其构造最小化的DFA。解答:由正规式得到NFA的转换系统如图2.1所示。由子集法构造DFA如表2.1所式。,j,k,表2.1 由子集法构造DFA,由转换系统构造DFA:(i)=a,b(ii)S=-CLOSURE(S,3,1)=S,3,1,记作组合状态S,3,1(iii)确定S,F,f:为简化起见,将各组合状态换名,则表2.1变为表2.2。,表2.2,观察表2.2有 S=0,1,2,3,4,5,6 F=3,4,5,6 f的映像见表2.2(iv)所构造的DFA相应的状态图如图2.2所示。,(v)对DFA进行最小化,过程如下:
2、已知S=0,1,2,3,4,5,6,首先将S分为两个子集:S1=0,1,2(非终态集)S2=3,4,5,6(终态集)在S1=0,1,2中,因为 0,2a=1包含于S1 1a=3包含于S2 所以将S1再分为S11=0,2,S12=3 在S11=0,2中,因为有 0b=2包含于S11 2b=4包含于S2 所以将S11分为0和2两个集合,即S1分为三个不相交的子集0、1、2。,在S2=3,4,5,6中,因为有:S2a=3,6包含于S2 S2b=4,5包含于S2 所以3,4,5,6均等价,即S2不能再分,用3代替,原来出入于S2的箭弧全部引向3状态,集合内部的转换成为自循环,改造以后的DFA如图2.3
3、。,例二、请构造与正规式R=(a*|b*)b(ba)*等价的状态最少的DFA(确定的有穷自动机),解答:(1)构造转换系统如图2.4所示。,a,(2)NFA确定化为DFA的过程如表2.3所示。,相应的状态转化图如图2.5所示。,(3)DFA最小化 首先得到两个子集:Sl=A,B,F和S2=C,D,E,G 由于状态A和状态B有b输入,状态F无b输入,所 以将K1分割成 S11=A,B),S12=F)由于状态C、D、G无a输入,而状态E有a输入,所以S2分割成 S21=(C,D,G和S22=E 又由于状态C输入b到达E,状态D、G输入b到达F,所以将K21分割成 S211=C和S212=D,G 由
4、于状态A输入b到达C,状态B输入b到达D,所以将S11分割成:S11=A和S112=B),S11=A和S112=B)所以,原DFA的状态集合被划分为 A、B、F、E、C和D,G最小化DFA的状态图如图2.6所示。,例三、将图2.7所示的非确定有穷自动机(NFA)变换成等价的有穷自动机(DFA)。其中1为初态,6为终态。,解答:用子集法将NFA确定化为DFA的过程如表2.4所示。,确定的DFA相应的状态图如图2.8所示。,DFA最小化:首先得到两个子集 S1=A,B,C,F和S2=(D,E,G,H)由于状态A,B,F有输入a,而状态C无输入a,所以将S1分割成 S11=A,B,F 和S12=C又
5、由于状态A输入a到达B S11,状态B输入a到达D S2,状态F输入a到达F S11,所以状态A和状态F与状态B不等价。又状态A输入b到达C,状态F输入b到达H,所以状态A和状态H不等价。所以将S11分割成 S111=A S112=B S113=F 由于状态D,G,H输入a都到达S2,输入b都到达S2,而状态E输入b却到达F Sll3,所以,D,G,H等价,但它们与E是可分的,将K2分割成 S21=D,G,H S22=E,这样,将原状态集合分割成以下子集:A B C E F D,G,H最小化DFA的状态图如图2.9所示。,例四、图所示的两个有穷自动机M1和M2是否等价?,解答:如果难以直接从图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 第二章习题课 第二 习题
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2338382.html