形式语言
维基百科,自由的百科全书
形式语言是一个字母表上的某些有限长字串的集合。一个形式语言可以包含无限多个字串。
目录 |
[编辑] 语言的形式定义
字母表 Σ 为任意有限集合,ε 表示空串, 记 Σ0 为{ε},全体长度为 n 的字串为 Σn , Σ* 为 Σ0∪Σ1∪…∪Σn∪…, 语言 L 定义为 Σ* 的任意子集。
注记:Σ* 的空子集 Φ 与 {ε} 是两个不同的语言。
[编辑] 语言间的运算
语言间的运算就是 Σ* 幂集上的运算。
- 字串集合的交并补等运算。
- 连接运算:L1L2 = { xy | x 属于L1并且 y 属于L2 }。
- 幂运算:Ln = L … L (共 n 个 L 连接在一起),L0 = {ε}。
- 闭包运算:L* = L0∪L1∪…∪Ln∪…。
- (右)商运算:L1/L2 = {x | 存在 y 属于L2使得 xy 属于L1}。
- 设 S ⊆ Σ* 是一个语言,S 的补语言定义为集合
{ω | ω ∈ Σ* 且 ω ∉ S}
[编辑] 语言的表示方法
一个形式语言可以通过多种方法来限定自身,比如: