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型文法的要求。也就是說,不可以推導出兩個終結符,並且左線性和右線性只能使用一種,不可以同時出現。3d
1.分別寫出描述如下語言的正規文法和正規式:blog
(1)L1={abna|n≥0}。基礎
(2)L2={ambn|n≥1,m ≥1}im
(3)L3={(ab)n|n≥1}img
答:(1) S → aA語言
A → bA | aco
L1 = ab*aps
(2)S → aAab
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)*