基本概念
- 字母表
- 字母表的运算:乘积、n次幂、正闭包、克林闭包(任意符号串的集合)
0次幂是空串
- 串的运算:连接、幂运算
文法的定义
- 文法形式化定义:
- 终结符:语言的基本符号token
- 未用尖括号括起来的部分
- 非终结符:表示语法成分的符号
- 用尖括号括起来的部分
- S开始符号:该文法中最大的语法成分。
语言的定义
- 句子:满足文法规则的终结符号串。句子是不包含非终结符的句型。
如何判定一个词串是否是满足关系的句子?推导和归约
- 语言
- 推导
- 归约
- 语言上的运算
- 并
- 连接
- 幂
- 正闭包
- 克林闭包
文法的分类
- 0型文法:无限制文法/短语结构文法
- 1型文法:上下文有关文法(CSG)
- 不包含空产生式
- 2型文法:上下文无关文法(CFG)
- 3型文法:正则文法
- 四种文法的关系:逐级限制、逐级包含
CFG的分析树
- 句型的短语: 分析树中的每棵子树的边缘
- 直接短语:高度为2的子树的边缘
- 直接短语一定是某产生式的右部,但产生式的右部不一定是给定句型的直接短语
- 二义性文法:如果一个文法可以为某个句子生成多棵分析树