形式语言与自动机理论是计算机科学与技术专业的一门重要课程。本书简述形式语言基本内容,包括文法的分类、构造方法和语言间运算的封闭性。系统地论述三类有限自动机——有限状态自动机、下推自动机和图灵机的基础理论。从文法产生语言和自动机识别语言的角度对语言进行讨论,介绍了文法与等价的自动机之间的转换方法以及有限自动机的一些典型应用。本书以新的思维方式为读者提供了一把钥匙,主要培养读者的独立思考能力、抽象思维能力、使用符号化的系统描述程序设计语言或自然语言的语法结构的能力以及构造自动机的能力。
样章试读
目录
- 目录
第1章 基础知识 1
1.1 集合及其运算 1
1.2 关系 3
1.2.1 二元关系 3
1.2.2 等价关系 3
1.2.3 关系合成 4
1.3 证明和证明的方法 5
1.3.1 反证法 5
1.3.2 归纳法 6
1.3.3 递归的定义与归纳证明 7
1.4 图与树 7
1.5 语言 8
1.6 常用术语 8
1.7 形式语言与自动机的发展 11
习题1 13
第2章 形式语言 14
2.1 例子语言 14
2.2 文法和语言的关系 19
2.2.1 文法 19
2.2.2 语言 21
2.2.3 文法和语言的3类问题 22
2.3 Chomsky对文法和语言的分类 23
2.4 文法产生语言 27
2.5 无用非终结符 35
2.6 推导树 35
2.7 空串定理 38
2.8 消除左递归 39
2.8.1 消除直接左递归 39
2.8.2 消除间接左递归 40
2.9 上下文无关文法的另一种表示 42
2.10 语言之间的运算及运算的封闭性 43
2.10.1 语言之间的基本运算 43
2.10.2 语言之间的运算的封闭性 44
2.10.3 语言之间的其他运算 48
2.11 正则表达式和正则集 50
习题2 53
第3章 有限状态自动机 55
3.1 有限状态自动机简介 55
3.2 确定有限状态自动机接收的语言 57
3.3 确定有限状态自动机接收语言的例子 62
3.4 不确定有限状态自动机 74
3.4.1 不确定有限状态自动机简介 75
3.4.2 不确定有限状态自动机的确定化 76
3.5 带有ε动作的有限状态自动机 82
3.6 有限状态自动机的一些变形 89
3.6.1 双向的有限状态自动机 89
3.6.2 带有输出的有限状态自动机 90
3.7 有限状态接收机的存储技术 94
3.8 有限状态自动机应用实例 96
习题3 109
第4章 下推自动机 110
4.1 下推自动机简介 110
4.1.1 确定的下推自动机 111
4.1.2 不确定的下推自动机 114
4.1.3 下推自动机接收语言的两种方式 116
4.1.4 广义下推自动机和单态下推自动机 120
4.2 上下文无关文法和范式 123
4.2.1 Chomsky范式 123
4.2.2 Greibach范式 124
4.3 下推自动机与上下文无关语言 126
4.4 下推自动机应用实例 138
习题4 141
第5章 图灵机 143
5.1 图灵机的基本模型 143
5.1.1 图灵机的定义 143
5.1.2 图灵机的构造 146
5.2 图灵机作为非负整数函数计算模型 153
5.3 图灵机的构造技术 156
5.3.1 图灵机的存储技术 156
5.3.2 图灵机的移动技术 160
5.3.3 图灵机扫描多个符号技术 161
5.3.4 图灵机的多道技术 173
5.3.5 图灵机的查讫技术 180
5.3.6 图灵机的子程序技术 181
5.4 图灵机变形 184
5.4.1 双向无穷带图灵机 185
5.4.2 多带多读/写头图灵机 188
5.4.3 不确定图灵机 189
5.4.4 多维图灵机 191
5.4.5 其他图灵机 192
5.5 通用图灵机 195
5.5.1 编码目的 195
5.5.2 编码方法 195
5.5.3 总结 198
5.6 图灵机与短语结构语言 198
5.7 线性有界的图灵机与上下文相关语言 198
5.8 图灵机应用实例 199
习题5 205
参考文献 207