1. 终结符&非终结符
类型 | 表示 | 符号 |
---|---|---|
非终结符 | 大写字母表示 | ABCD |
终结符 | 小写字母表示 | abcd |
关系 | 非终结符可以推导出终结符 | A->a |
2.文法类型
-
—VN——非终结符的集合
—VT——终结符的集合
—P ——推导式子集合
—S ——开始符
0型文法
-
特点:
-
α->β
α至少含有一个非终结符∈VN
α,β∈ ( VN ∪ VT )*
例:
-
A->a √
Aa->aB √
ab->A × 因为α=ab,其中不含有非终结符
1型文法
——又称上下文有关文法
-
特点:
-
α->β——满足0型文法的基础上
|β|>=|α|——|β|、|α|表示α和β的 长度
例:
-
A->Bab √
Aa->B × 因为Aa长度为2,B长度为1,不满足|β|>=|α|
2型文法
——上下文无关文法
-
特点:
-
α->β,|β|>=|α|——满足1型文法
α是 一个非终结符
例:
-
A->aB √
aB->abC × 因为aB 不是 一个非终结符
3型文法
——正规文法
-
特点:
-
α->β,|β|>=|α|, α是
一个非终结符——满足2型文法
A->a|aB(右线性) 或 A->a|Ba(左线性)
例:
-
A->a, A->aB, B->a, B->cB √ 3型文法 右线性
A->a, A->Ba, B->a, B->cB × A->Ba(左线性)B->cB(右线性)左线性和右线性只能取其一
2.4 文法类型之间的关系
3. 正规式与正规文法的转换
-
正规式
-
正则表达式
是一种表示正规集的公式
规则:
- .
规则 | 文法产生式 | 正规式 |
---|---|---|
1 | A->xB、B->y | A=xy |
2 | A->xA/y | A=x*y |
3 | A->x、A->y | A=x/y |
-
理解:
- 对于正规式和正规文法之间的转换规则,不理解的话,画出推导树,结果就显而易见了。
有什么问题欢迎在下方评论,或前来与在下共商,愿与君共勉!