正規文法與正規式

2022-05-02 18:48:09 字數 1290 閱讀 6551

3型文法也叫作正規文法,它對應於有限狀態自動機,它是在2型文法的基礎上滿足:a->a|ab(右線性)或a->a|ba(左線性)。如果有a->a,a->ab,b->a,b->cb則符合3型文法的要求。但是a->ab,a->ab,b->a,b->cb或a->a,a->ba,b->a,b->cb則不符合3型文法的要求。也就是說,不能夠推導出兩個終結符,而且左線性和右線性只能使用一種,不能夠同時出現。

1.分別寫出描述以下語言的正規文法和正規式:

(1)l1=。

(2)l2=

(3)l3=

答:(1) s → aa

a → ba | a

l1 = ab*a

(2)s → aa

a → aa | bb | b

b → bb | b

l2 = a*b*

(3)s → aa

a → bb

b → aa | ε

l3 = (ab)*

2.將以下正規文法轉換到正規式

·z→0a

·  a→0a|0b

·  b→1a|ε

答:z = 0a

a = 0a + 0b

b = 1a + ε

a = 0a + 0(1a + ε) = 0a + 01a + 0

a = aa | b

z = 0(0 | 01)*0

z→u0|v1

u→z1|1

v→z0|0

答:z = u0 + v1

u = z1 + 1

v = z0 + 0 

z = (z1+1)0 + v1

z = (z1+1)0 +(z0+0)1

z = z10 + 10 +z01 + 01

z = z(10+01)+10+01

z = (10+01)*1001

z = (10 | 01)*1001

s→aa

a→ba|ab|b

b→aa

答:s = aa

a = ba + ab + b

b = aa

a = ba + a(aa) +b  = (b + aa)a +b

s = (b | aa)*b

i→l|il|id

答: i = l + il + id

i = l + i(l +d)

i = l(l | d)*

10 16 正規文法與正規式

1.分別寫出描述以下語言的正規文法和正規式 1 l1 2 l2 3 l3 答 1 正規文法 s aa a ba a 正規式 s a b a 2 正規文法 s as s bs b 正規式 s a a b b 3 正規文法 s ab s ab 正規式 s ab ab 2.將以下正規文法轉換到正規式 1 ...

正規文法和正規式

乙個正規語言可以由正規文法定義,也可以由正規式定義,對任意乙個正規文法,存在乙個定義同乙個正規語言的正規式 反之,對每個正規式,存在乙個生成同一語言的正規文法,有些正規語言很容易用文法定義,有些語言更容易用正規式定義,現在介紹兩者間的轉換,從結構上建立它們的等價性。1 將 上的乙個正規式轉換成正規文...

作業六 正規文法與正規式

1.分別寫出描述以下語言的正規文法和正規式 l1 l2 l2 答 l1正規文法 s aa a bna a ba b bn b bb l1正規式 s ab a l2正規文法 s aa a aa bb b b bb b l2正規式 a ab b l3正規文法 s aa a bb b aa l3正規式 s...