符号,符号串,串集
表示 | 说明 | |
---|---|---|
符号 | a,b,c | 语言中不可再分的最小单位 |
符号串 | α,β,γ | 符号组成的有穷集合(ε表示空串) |
串集 | A,B,C | 顾名思义(若串都是单个字母,也可以理解为字母表) |
相关运算:
- 乘积运算(即连接运算):A={a, b}, B={c, d},则AB={ac, ad, bc, bd}
- 幂运算(理解为多次乘积运算)
- A^0 = {ε}
- 字母表A的闭包(A*):A中符号组成的所有串的集合,包括空串
- 字母表A的正闭包(A+):A中符号组成的所有串的集合,不包括空串
文法
▶ 相关概念:
- 非终结符A,终结符a,产生式A→a
- 非终结符集合VN,终结符集合VT
- 推导是从开始符号(识别符号)开始,产生一个句子
- 归约是从句子开始,最终达到开始符号(识别符号)
- 最左/最右推导称为规范推导;最左/右归约称为规范归约
- 句型是从开始符号S开始,每步推导出的字符串;句子是仅含终结符的句型
▶ Chomsky对文法的定义:文法G是一个四元式(VN,VT,P,S) 即(非终结符集,终结符集,规则集,开始符号)
▶ Chomsky对文法的分类:
0型文法 | 无限制文法 | … | 图灵机 |
1型文法 | 上下文有关文法 | aB→ab | 线性界限自动机 |
2型文法 | 上下文无关文法 | B→ab | 下推自动机 |
3型文法 | 正规文法 | A右Aa,B右Bb(左线性) | 有限状态自动机 |
▶ 文法构造:常见题型是根据句子写出文法(通常写上下文无关文法)
▶ 文法的简化步骤:
- 删掉自身产生自身的产生式
- 删掉用不到的产生式
- 删掉整条推导路径中导不出终结符的产生式
文法二义性
▶ 语法树相关概念:
- 句型:在一棵语法树生长过程中的任何时刻,所有叶子节点排列起来就是一个句型
- 短语:一般都说是“相对于某个根节点的短语”
- 简单短语(直接短语):由某个根节点直接生成的短语
- 句柄:最左简单短语
▶ 二义性相关概念:
- 句子二义性:如果一个句子存在两棵(及以上)的语法树,则这个句子是二义的
- 文法二义性:包含二义性句子的文法,是二义文法
- 常考题型:判断文法二义性(如图)