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