作業七——正規式到正規文法與自動機
總結1、正規式轉換為正規文法
同樣是三條規則,1.對形如a→ab的規則,轉換成a→ab,b→b
2.將形如a→a|b的規則,轉換成a→a,a→b(a→a|b)
3.將形如a→a*b的規則,轉換成a→aa,a→b
將形如a→ba*的規則,轉換成a→aa,a→b
2、dfa
五元組有乙個唯一的初態
3、三種描述dfa的方式
五元組、狀態圖(最直觀)、矩陣
4、nfa
五元組乙個狀態遇到同乙個符號可以轉換成多個狀態
是非空除態集
正規式到正規文法
對任意正規式r選擇乙個非終結符z生成規則z→r
1.對形如a→ab的規則,轉換成a→ab,b→b
2.將形如a→a|b的規則,轉換成a→a,a→b(a→a|b)
3.將形如a→a*b的規則,轉換成a→aa,a→b
將形如a→ba*的規則,轉換成a→aa,a→b
不斷利用上述規則進行轉換,直到每條規則最多含有乙個終結符為止.
1(0|1)*101
(a|b)*(aa|bb)(a|b)*
((0|1)*|(11))*
(0|11*0)*
①z->a1
a->b0
b->c1
c->1(0|1)*
c->c(0|1)|1
c->c0|c1|1
思路是每條規則最多含有乙個終結符,上式的1(0|1)*可以使用第三條規則進行轉換,還有101是不符合正規式的形式,所以一步一步拆分即可。
②s->(a|b)s
s->(aa|bb)(a|b)*
s->s(a|b)
s->(aa|bb)
s->as|bs|sa|sb|aa|bb
a->a
b->b
思路是如果正規式太長了,就先選擇最熟悉的拆分成正規式的形式
③s->((0|1)*|(11))s|ε
s->(0|1)*s|11s|ε
s->(0|1)*s
s->(0|1)s|s
s->0s|1s|s
s->11s
s->1a
a->1s
綜上所述:
s->0s|1s|s|1a
a->1s
④(0|11*0)*
s->(0|11*0)s|ε
s->0s|(11*0)s|ε
s->(11*0)s
s->a0
a->11*
a->a1|1
s->0s|a0|
εa->a1|1
自動機m=(,,f,q0,)
其中f:
(q0,0)=q1
(q1,0)=q2
(q2,0)=q3
(q0,1)=q0
(q1,1)=q0
(q2,1)=q0
(q3,0)=q3
(q3,1)=q3
畫現狀態轉換矩陣和狀態轉換圖。
根據五元組可知,q0,q1,q2,q3是狀態,是有窮字母表,當狀態遇見0或1時會轉換到下乙個狀態,f是映像,q0是唯一的乙個初態,是乙個終態集01
3.由正規式r 構造 自動機nfa
作業七 正規式到正規文法與自動機
對任意正規式r選擇乙個非終結符z生成規則z r 1.對形如a ab的規則,轉換成a ab,b b 2.將形如a a b的規則,轉換成a a,a b a a b 3.將形如a a b的規則,轉換成a aa,a b 將形如a ba 的規則,轉換成a aa,a b 不斷利用上述規則進行轉換,直到每條規則最...
七 正規式到正規文法與自動機
1.正規式轉換到正規文法 對任意正規式r選擇乙個非終結符z生成規則z r 1.對形如a ab的規則,轉換成a ab,b b 2.將形如a a b的規則,轉換成a a,a b a a b 3.將形如a a b的規則,轉換成a aa,a b 將形如a ba 的規則,轉換成a aa,a b 不斷利用上述規...
正規式到正規文法與自動機
正規式到正規文法 對任意正規式r選擇乙個非終結符z生成規則z r 1.對形如a ab的規則,轉換成a ab,b b 2.將形如a a b的規則,轉換成a a,a b a a b 3.將形如a a b的規則,轉換成a aa,a b 將形如a ba 的規則,轉換成a aa,a b 不斷利用上述規則進行轉...