参考哈工大课件
四种文法
- 0型文法,无限制文法,α → β,α中至少包含1个非终结符
- 1型文法,上下文有关文法,∀α → β∈P,|α|≤|β|
产生式的一般形式: α1Aα2 → α1βα2( β≠ε ),不包含空产生式(|β|不能为0) - 2型文法,上下文无关文法,∀α → β∈P,α ∈ VN,产生式左部是非终结符
产生式的一般形式:A→β - 3型文法 ,正则文法,A→wB产生式右部至多只有一个非终结符,并且非终结符在同侧
右线性(Right Linear)文法: A→wB 或 A→w
左线性(Left Linear) 文法: A→Bw 或 A→w
四种文法之间的关系
逐级限制
0型文法:α中至少包含1个非终结符
1型文法(CSG) :|α|≤|β|,右部长度不得少于左部
2型文法(CFG) :α ∈ VN,左部必须为非终结符
3型文法(RG):A→wB 或 A→w (A→Bw 或A→w)
逐级包含(不考虑空产生式)
0型文法集合 ⊇ 1型文法集合(右部不得空) ⊇ 2型文法集合 ⊇ 3型文法集合
二型文法的分析树
- (句型的)短语,分析树中的每一棵子树的边缘
- 直接短语,子树只有父子两代结点(高度为2)的边缘
直接短语一定是某产生式的右部,但产生式的右部不一定是给定句型的直接短语 - 句柄:一个句型的最左直接短语(可能不只一片叶子,但是是最左的高度为2的子树边缘)
- 二义性文法:如果一个文法可以为某个句子生成多棵分析树,则称这个文法是二义性的
只要能够对一个文法的句型画出两棵不同的分析树,则证明文法是二义性的。