0型文法:
解释:(左部)可以包含非终结符和终结符,(右部)可以包含非终结符和终结符,但是(左部)中至少包含1个非终结符
符合:Ab-->b,B-->Bb
不符合:a-->b,ab-->BA,a-->bA
1型文法(上下文有关文法):
在0型文法的基础上,还需符号
解释:左部符号串长度必须小于右部符号串长度
符合:A--->bB Aa--->abc --->(特例) aB--->
不符合:Ab-->c Ba--->c
2型文法(上下型无关文法):
在1型文法的基础上
符合:A--->aB B--->BB B-->ab
不符合:Ab--->aB AA--->Ba bb--->AB
3型文法(正规文法):
在2型文法的基础上
解释:产生式规则的右侧只能包含一个终结符后跟一个非终结符,或者只包含一个终结符,或者是空串。
右线性文法就是后半部分中非终结符在右侧,例如:A--->bA
左线性文法就是后半部分中非终结符在左侧,例如:B--->Ab
符合:A--->bA B---->Ba B---->BBa A-->b
不符合:A--->AbB
从0型到3型文法的限制是越来越大的: