- 1956年,Chomsky建立形式語言的描述。
- 通過對產生式的施加不同的限制,Chomsky把文法分為4種類型
首先定義一個產生式
α→β
- 0型文法定義:
0型文法(PSG): α∈(VN∪VT)* ,且至少含一個VN
β∈(VN∪VT)*
對產生式沒有任何限制
例如:A0→A0 , A1→B
0型文法說明:
0型文法也稱為
短語文法。
一個非常重要的理論結果是,0型文法的能力相當於圖靈機(Turing)。或者說,任何0型語言都是遞歸可枚舉的;反之,遞歸可枚舉集必定是一個0型語言。
對0型文法產生式的形式作某些限制,以給出1,2和3型文法的定義。
(注意)
文法G 定義為四元組(V
N ,V
T ,P,S)
¨V
N :非終結符集
¨V
T :終結符集
¨P :產生式集合(規則集合)
¨S :開始符號(識別符號)
-
1型文法(上下文有關文法context-sensitive):
對任一產生式α→β,都有
|β|>=|α|, 僅僅 S→ε除外
產生式的形式描述:α1Aα2→α1βα2
(其中,α1、α2、β∈(V
N∪V
T)*,β≠ε,A∈VN)
即:A只有出現在α1α2的上下文中,才允許用β替換。
產生的語言稱“上下文有關語言”
例如:0
A0→011000 1A1→101011
- 2型文法(CFG):對任一產生式α→β,都有α∈VN,β∈(VN∪VT)*
產生式的形式描述:A→β(A∈V
N)
即β取代A時,與A所處的上下文無關。
產生的語言稱“上下文無關語言”
例如:G[S]:S→
01 S→0S1
- 3型文法(RG):也稱正規文法
每個產生式均為 “A→aB”或“A→a” —— 右線性
“A→Ba”或“A→a” —— 左線性
其中,A、B∈V
N,a∈V
T*
產生的語言稱“正規語言”
例如:G[S]: S→
0A | 0
A→1B | B
B→1 | 0
4
個文法類的定義是逐漸增加限制的,因此每一種正規文法都是上下文無關的,每一種上下文無關文法都是上下文有關的,而每一種上下文有關文法都是
0
型文
法。
四種文法之間的關系是:包含關系
.
(原因:將產生式做進一步限制而定義
的。

