复习—编译原理第3章程序.ppt

* 编译原理 * 例题:假设有一个不确定的有限自动机 NFA M’= (K’,∑’∪{ε} ,f’ ,S0’ ,Z’), 其中K’={1,2,3,4},∑’={a,b,c},S0’ =1, Z’={4}, 状态图如图3.13所示。 接受的语言: L(M’) ={a m b | m≥1} ∪{a c n | n≥1} ∪{ε}, 构造一个DFA M= (K,∑ ,f ,q0,Z), 使L(M)=L(M’) 1 2 3 4 a a a c c b ε 图3.13 NFA M’的状态图 * 编译原理 * 构造确定的有限自动机过程如下: 1)首先根据ε闭包的计算方法求NFA M的开始状态S0’的ε闭包,从而确定DFA M的开始状态q0。 q0 =ε-closure(S0’)= ε-closure(1)={1,4} 2)根据弧转换集的计算方法求开始状态q0对每个输入符号的弧转换集q0a、q0b和q0c从而确定与开始状态q0有关的状态转换函数。 f(q0,a)=q0a =ε-closure( f({1,4},a) ) =ε-closure(f(1, a )∪f(4, a ) ) =ε-closure({2,3}∪Φ)={2,3} 1 2 3 4 a a a c c b ε * 编译原理 * 将{2,3}作为新状态,并令q1 ={2,3},即得到f(q0,a)= q1 q0的b

文档评论(0)

1亿VIP精品文档

相关文档