1型文法:从直觉上可以认为有两种完全不同的1型文法,但实际上是等价的。一种称为单调语言,要其规则左边的符号的个数不多于右边的符号,如:N E -> and N。另一种称为上下文相关的语言,所谓上下文相关是指,只有规则左边的一个符号被替换,而且没有替换掉的符号保持原先的位置。由1型文法的产生的语言称1型语言,识别1型语言机器对应于线性界限自动机。如:
Name Comma Name End -> Name and Name End。
2型文法:2型文法是上下文无关文法,简单的说就是规则左边只有一个非终结符,上下文无关文法的一个典型特征是可以递归嵌套。由2型文法的产生的语言称2型语言,识别2型语言机器对应于下推自动机。如:
Name -> tom | dick | harry
SentenceS -> Name | List and Name
List -> Name , List | Name
3型文法:它只允许包含两种规则:一种是一个非终结符产生0个或多个终结符。第二种是一个非终结符产生0个或多个终结符再跟上一个非终结符,由3型文法的产生的语言称3型语言,识别3型语言机器对应于有穷自动机。如:
SentenceS -> t | d | h | List
List -> t ListTail | d ListTail | h ListTail
ListTail -> List | &t | &d | &h
4型文法:没有非终结符出现在规则的右边。由4型文法的产生的语言称4型语言。如,
SS -> [tdh] | [tdh] & [tdh] | [tdh] , [tdh] & [tdh]
N E -> and N