02 | 文法和语言的基本知识
字母表和符号串
1. 字母表:
- 元素的非空有穷集合
- 字母表中至少包含1个元素
- 任何语言的字母表指出了该语言中允许出现的一切符号。
2. 符号(字符): 字母表中的元素
3. 符号串(字):
- 符号的有穷序列
- 符号的顺序不同即便符号相同符号串也不同
- 空符号串 ε ,注意空符号串组成的集合 {ε} 并不是空集 ∅={ }
4. 符号串的连接
5. 集合的乘积
6. 符号串的幂运算: n次幂即为n个该字符串连接起来。
7. 集合的幂运算:
注意区别于集合的乘积。乘积为各自在两集合中取一个元素连接成符号串,而n次幂则为任意n字符长的字符串。
8. 集合的正闭包与闭包:
- 正闭包表示集合上的所有元素构成的所有符号串的集合;
- 闭包比正闭包多一个空符号串。
文法与语言
9. 形式语言:
- 每个形式语言都是某个字母表上按某种规则构成的所有字符串的集合。
- 形式语言不考虑语义。
- 描述方法: { 有 穷 集 合 : 枚 举 无 穷 集 合 : 文 法 \left\{\begin{aligned}有穷集合:枚举\\无穷集合:文法\end{aligned}\right. { 有穷集合:枚举无穷集合:文法
10.规则(产生式):
- 左部符号用右部的符号串定义或左部符号生成右部符号串
- 规则中的符号 { 终 结 符 号 非 终 结 符