编译原理第2章习题课.docxVIP

  • 38
  • 0
  • 约4.63千字
  • 约 22页
  • 2021-03-21 发布于天津
  • 举报
1 ?构造正规式的DFAo 状态转换表: Q 1 0 {X} A {ABC} B 0 {ABC} B {BCD} C {BC} D {BCD} c {BCE} E {BCD} C {BC} D {BCD} c {BC} D {BCE} E {BCDY} Y {BC} D {BCDY} Y i {BCE} E {BCD} c 0 … 1 0 A B B C D C A c E D c D E Y D Y c E 化简后得: 0 (a|b)*(aa|bb)(a|b)* 化简得:NFA 化为 DFA: 化简得: Q a b {XI 2} {12 3} {12 4} {12 3} ■ {1 2 3 5 Y} {124} {12 4} {12 3} {1 2 4 5 Y} {1 2 3 5 Y} {1 2 3 5 Y} {1 2 4 Y} {1 2 4 5 Y} {1 2 3 Y} {1 2 4 5 Y} {1 2 4 Y} {1 2 3 Y} {1 2 4 5 Y} {1 2 3 Y} {1 2 3 5 Y} {1 2 4 Y} 所以,DFA为: (3) (O|ll*O) *0 (3) (O|ll*O) * 0 g NFA 到 DFA: 1 Q 1 0 {XAY} X {BCD} A {AY} B $ {BCD} A {CD} Y {AY} B {AY} B {BCD} A {AY} B {CD} Y {CD} Y {AY} B 化简后得; 化简后得; 2?将下图确定化和最小化。 aa,b a a,b 解:首先取A= £ -CLOSURE({0})={0}/ NFA确定化后的状态矩阵为: cr a b {0} {0,1} ⑴ {0,1} {0,1} ⑴ ⑴ {0} 0 NFA确定化后的DFA为: 3?构造一个DFA,它接受E={0, 1}上所有满足如下条件的字符串,每 个1都有0直接跟在后边。 解:按题意相应的正规表达式是0*(0 I 10)*0* 构造相应的DFA,首先构造NFA为 用子集法确定化 1 lc 11 S 0 1 {XO13Y} {0J3Y} {2} 1 2 3 ■ {0,l,3,Y} {2} 2 2 ? ?? {0J,3,Y} {1,3,Y} / 3 4 3 {2} {1,3,Y} u 4 4 {13Y} {2} 3 DFA为 4?给出NFA等价的正规式Ro 方法一:首先将状态图转化为 消去其余结点 消去其余结点 NFA等价的正规式为(0|2) 方法二:NFAT右线性文法T正规式 A-*OA|1A|1B BTC A=OA+1A+1B B=1 A=OA+1A+11 A=(O+iril-*(O|iril 5?试证明正规式(a|b厂与正规式(a*|b*)堤等价的。 a⑴正规式(a|b)* a ⑴ 正规式(a|b)*的NFA为 a b {X, I,y} 3} i UM 3} 3} 3} 其最简DFA为 b 其最简化DFA为: a b {x,l,2,3,y} □,2,3,y} {l,2,3,y} {123$} {123,y} 由于这两个正规式的最小DFA相同,所以正规式(a|b广等价于正规 6?设字母表E玩可叭给出E上的正规式R=b#ab(b |ab)*。 试构造状态最小化的DFAM,使得L (M) =L (R)。 求右线性文法G,使L (G) =L (M)。 解:⑴构造NFA: b (2)将其化为DFA,转换矩阵为: Q a b 1X4,2} 1 ■ {3}, 2 ⑴2} 3 {3} 2 0 {4,5,Y} 4 3} 3 {3} 2 {1,2} 3 {4,5,Y} 4 {5,Y} 6 {6} 5 ⑹ 5 {5,Y} 6 ⑸丫} 6 {6} 5 ⑸丫} 6 再将其最小化得: (2)对应的右线性文法G= ({X,W,Y},{a,b},P,X) P: X-aW | bX W^bY | b y^aW |bY|b 文法G[〈单词〉】为: 〈单词〉」〈标识符〉I〈整数〉 〈标识符〉?〉〈标识符〉〈字母〉I〈标识符〉〈数字〉I〈字母〉 〈整数八〉〈数字〉I〈整数〉〈数字〉 〈字母〉?〉A|B|C 〈数字〉|-1|2|3 (1) 改写文法G为GS使L(G3=L(G)o (2) 给出相应的有穷自动机。 解:(1)令D代表单词,I代表标识符,Z代表整数,有G,(D) D~I | Z I—A | B | C | IA | IB | IC | II | 12 | 13 Z-1 | 2 | 3 | Z1 | Z2 | Z3 ⑵左线性文法G,所对应的有穷自动机为: M=({S/DJ/Z}/{l/2/3,A/B/CHS/{D}) f(S,C)=lf(S3)=Zf(l/C)=l也3)=1 f(b £)=l f(S,C)=l f(S3)=Z f(l

文档评论(0)

1亿VIP精品文档

相关文档