编译原理 第2讲习题课.docVIP

  • 17
  • 0
  • 约6.39千字
  • 约 18页
  • 2017-06-10 发布于北京
  • 举报
1.构造正规式的DFA。 (1)1(0|1)*101 首先构造NFA: NFA化为DFA: 状态转换表: Q 1 0 {X} A {ABC} B {ABC} B {BCD} C {BC} D {BCD} C {BCD} C {BCE} E {BC} D {BCD} C {BC} D {BCE} E {BCDY} Y {BC} D {BCDY} Y {BCD} C {BCE} E 状态转换图: 初态 1 0 A B B C D C C E D C D E Y D Y C E 化简后得: (2)(a|b)*(aa|bb)(a|b)* ? NFA化为DFA: Q a b {X 1 2} {1 2 3} {1 2 4} {1 2 3} {1 2 3 5 Y} {1 2 4 } {1 2 4} {1 2 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)(0|11*0)* NFA到DFA: Q 1 0 {X A Y} X {B C D} A {A Y} B {B C D} A {C D} Y {A Y} B {A Y} B {B C D} A {A Y} B {C D} Y {C D} Y {A Y} B 化简后得; 2.将下图确定化和最小化。 a a ( 0 1 a,b 解: 首先取A=ε-CLOSURE({0})={0}, NFA确定化后的状态矩阵为: Q’ a b A {0} {0,1} {1} B {0,1} {0,1} {1} C {1} {0} NFA确定化后的DFA为: a a ( A B a b b C 将A,B 合并得: a b ( A C a 3.构造一个DFA,它接受∑={0,1}上所有满足如下条件的字符串,每个1都有0直接跟在后边。 解:按题意相应的正规表达式是0*(0 | 10)*0* 构造相应的DFA,首先构造NFA为 0 0 0 ε ε ε ε Y 1 0 用子集法确定化 I I0 I1 S 0 1 {X,0,1,3,Y} {0,1,3,Y} {2} {1,3,Y} {0,1,3,Y} {0,1,3,Y} {1,3,Y} {1,3,Y} {2} {2} / {2} 1 2 3 4 2 2 4 4 3 3 3 DFA为 0 1 0 2 1 1 0 1 4 0 4.给出NFA等价的正规式R。 ε 1 1 ε 消去 得 0,1 ε 1 ε 消去其余结点 0,1 (0|1)*11 0|1)*11→右线性文法→正规式 A→0A|1A|1B B→1C C→ε A=0A+1A+1B B=1 A=0A+1A+11 A=(0+1)*11→(0|1)*11 5.试证明正规式(a|b)*与正规式(a*|b*)*是等价的。证明: (1) 正规式(a|b)*的NFA为 = ε ε b a b {X, 1,y} {1,y} {1,y} {1,y} {1,y} {1,y} a 其最简DFA为

文档评论(0)

1亿VIP精品文档

相关文档