0型文法(短语文法)
定义:设G=(VN,VT,P,S),如果它的每个产生式a->β是这样的一种结构:a∈(VN∪VT)*且至少含有一个非终结符,而β∈(VN∪VT)*,则G是一个0型文法。
判断方法:产生式左部非空
1型文法(上下文有关文法)
定义:设G=(VN,VT,P,S)为一个文法,如果P的每个产生式a->β均满足|β|>=|a|,仅仅 S→ε 除外,则文法 G是1型或上下文有关的(context-sensitive)。
判断:在0型文法的基础上,产生式左部存在终结符且左部长度小于右部长度
2型文法(上下文无关文法)
定义:设G=(VN,VT,P,S),若P中的每一个产生式a→β满足:a是一个非终结符,β∈(VN U VT)*”,则此文法称为2型的或上下文无关的(context-free)。有时将2型文法的产生式表示为A→β的形式,其中A∈VN,也就是说用β取代非终结符A时,与A所在的上下文无关,因此取名为上下文无关。
判断:在1型文法的基础上,产生式左部必须是一个非终结符
3型文法(正规文法)
定义:设 G=(Vn,Vτ,P,S),若P中的每一个产生式的形式都是A→aB或A→a,其中A和 B 都是非终结符,a∈V,则G是3型文法或正规文法。
在2型文法的基础上,满足A→α|αB(右线性)或A→α|Bα(左线性)。