书籍详情
编译原理实用教程(本科)
作者:温敬和编著
出版社:清华大学出版社
出版时间:2005-04-01
ISBN:9787302104995
定价:¥19.00
购买这本书可以去
内容简介
《普通高等学校计算机专业(本科)实用教程系列:编译原理实用教程》共分7章,主要介绍编译程序构造的基本原理和实现方法。内容包括词法分析、形式语言和自动机的基本概念、语法分析、符号表和静态内存分配、语法制导翻译和中间代码产生、目标代码生成;还介绍作者的一些工作成果,如LR分析法在词法分析器自动构造中的应用,语法制导翻译在汇编程序自动构造中的应用。为了方便读者学习,各章都安排了一定数量的习题,并配有习题答案。《普通高等学校计算机专业(本科)实用教程系列:编译原理实用教程》附录中的“课程实习指导”,向读者提供了一个较为完整的、切实可用的编译原理课程实习方案,供有关教师在指导学生进行编译原理课程实习时使用。《普通高等学校计算机专业(本科)实用教程系列:编译原理实用教程》可作为本科院校计算机专业“编译原理”课程的教材,也可供有关教师、研究生以及从事计算机软件设计和开发人员参考。
作者简介
暂缺《编译原理实用教程(本科)》作者简介
目录
第1章 编译系统概述 1
习题 5
第2章 词法分析 6
2.1 词法分析器的设计考虑及手工构造 6
2.1.1 单词类型及二元式编码 6
2.1.2 源程序的输入及预处理 7
2.1.3 基本字的识别和超前搜索 10
2.1.4 状态转换图和词法分析器的手工构造 11
2.1.5 词法分析器手工构造实例 14
2.2 正规式. 自动机及词法分析器的自动生成 18
2.2.1 基本概念 19
2.2.2 正规式与正规集 20
2.2.3 确定有限自动机 22
2.2.4 非确定有限自动机 23
2.2.5 NFA的确定化 24
2.2.6 正规式的NFA表示 26
2.2.7 正规式与确定有限自动机的等价性 27
2.3 词法分析器的自动生成 28
2.3.1 自动生成过程概述 29
2.3.2 扫描器控制程序工作原理 31
2.3.3 扫描器控制程序的实现 32
习题 36
第3章 程序设计语言的语法描述 44
3.1 文法的引入 44
3.1.1 语法树 44
3.1.2 语法规则和句子推导 45
3.1.3 递归规则和递归文法 47
3.2 上下文无关文法 48
3.2.1 文法和语言 48
3.2.2 文法的二义性 51
3.3 文法举例 53
习题 54
第4章 自上而下的语法分析 60
4.1 带回溯的自上而下分析法概述 60
4.2 直接左递归的消除 62
4.3 不带回溯的自上而下分析法的基本原理 63
4.4 提取左因子 66
4.5 first集和follow集 67
4.5.1 first集的定义及构造算法 67
4.5.2 follow集的定义及构造算法 69
4.6 递归下降分析法 71
4.7 预测分析法 75
4.7.1 预测分析表的构造 75
4.7.2 预测分析控制程序 76
4.7.3 预测分析程序讨论 82
4.7.4 应用举例 84
习题 86
第5章 自下而上的语法分析 95
5.1 自下而上的语法分析概述 95
5.2 LR分析法的基本原理 99
5.3 LR 0 项目集规范族的构造 102
5.4 有效项目 104
5.5 LR 0 分析表的构造 105
5.6 SLR 1 分析表的构造 107
5.7 LR语法分析器的控制程序 111
5.8 二义文法在LR分析法中的应用 115
5.9 应用举例 117
5.10 LR分析法在词法分析器自动构造中的应用 120
5.10.1 模型语言的词法描述及SLR分析表 120
5.10.2 使用SLR分析表识别单词的基本原理 122
5.10.3 LR分析控制程序的修改 123
5.10.4 扫描器的设计 124
5.10.5 LR_LEX中的分析表最小化 126
习题 128
第6章 语法制导翻译和中间代码生成 137
6.1 语法制导翻译概述 138
6.2 符号表和常数表 141
6.3 中间代码 142
6.3.1 三元式 142
6.3.2 四元式 143
6.4 说明语句的翻译 145
6.5 整型算术表达式及赋值语句的翻译 146
6.6 混合型算术表达式及赋值语句的翻译 149
6.7 布尔表达式的翻译 152
6.8 标号和无条件转移语句的翻译 160
6.9 控制语句的翻译 163
6.9.1 if-then语句的翻译 164
6.9.2 if-then-else语句的翻译 165
6.9.3 while-do语句的翻译 167
6.9.4 复合语句的翻译 169
6.10 小结 170
习题 171
第7章 目标代码生成 178
7.1 目标计算机的虚拟实现 178
7.2 语法制导翻译在汇编程序自动构造中的应用 181
7.2.1 虚拟机汇编语言的文法和SLR 1 分析表的构造 181
7.2.2 虚拟机汇编语言的单词编码表和词法分析 182
7.2.3 虚拟机汇编语言的语义和语法制导翻译 184
7.3 从四元式到汇编语言的翻译 187
习题 191
附录 194
附录A 虚拟机汇编程序使用说明 194
附录B 配套软件的文件清单 196
附录C 程序源代码的说明 197
参考文献 198
习题 5
第2章 词法分析 6
2.1 词法分析器的设计考虑及手工构造 6
2.1.1 单词类型及二元式编码 6
2.1.2 源程序的输入及预处理 7
2.1.3 基本字的识别和超前搜索 10
2.1.4 状态转换图和词法分析器的手工构造 11
2.1.5 词法分析器手工构造实例 14
2.2 正规式. 自动机及词法分析器的自动生成 18
2.2.1 基本概念 19
2.2.2 正规式与正规集 20
2.2.3 确定有限自动机 22
2.2.4 非确定有限自动机 23
2.2.5 NFA的确定化 24
2.2.6 正规式的NFA表示 26
2.2.7 正规式与确定有限自动机的等价性 27
2.3 词法分析器的自动生成 28
2.3.1 自动生成过程概述 29
2.3.2 扫描器控制程序工作原理 31
2.3.3 扫描器控制程序的实现 32
习题 36
第3章 程序设计语言的语法描述 44
3.1 文法的引入 44
3.1.1 语法树 44
3.1.2 语法规则和句子推导 45
3.1.3 递归规则和递归文法 47
3.2 上下文无关文法 48
3.2.1 文法和语言 48
3.2.2 文法的二义性 51
3.3 文法举例 53
习题 54
第4章 自上而下的语法分析 60
4.1 带回溯的自上而下分析法概述 60
4.2 直接左递归的消除 62
4.3 不带回溯的自上而下分析法的基本原理 63
4.4 提取左因子 66
4.5 first集和follow集 67
4.5.1 first集的定义及构造算法 67
4.5.2 follow集的定义及构造算法 69
4.6 递归下降分析法 71
4.7 预测分析法 75
4.7.1 预测分析表的构造 75
4.7.2 预测分析控制程序 76
4.7.3 预测分析程序讨论 82
4.7.4 应用举例 84
习题 86
第5章 自下而上的语法分析 95
5.1 自下而上的语法分析概述 95
5.2 LR分析法的基本原理 99
5.3 LR 0 项目集规范族的构造 102
5.4 有效项目 104
5.5 LR 0 分析表的构造 105
5.6 SLR 1 分析表的构造 107
5.7 LR语法分析器的控制程序 111
5.8 二义文法在LR分析法中的应用 115
5.9 应用举例 117
5.10 LR分析法在词法分析器自动构造中的应用 120
5.10.1 模型语言的词法描述及SLR分析表 120
5.10.2 使用SLR分析表识别单词的基本原理 122
5.10.3 LR分析控制程序的修改 123
5.10.4 扫描器的设计 124
5.10.5 LR_LEX中的分析表最小化 126
习题 128
第6章 语法制导翻译和中间代码生成 137
6.1 语法制导翻译概述 138
6.2 符号表和常数表 141
6.3 中间代码 142
6.3.1 三元式 142
6.3.2 四元式 143
6.4 说明语句的翻译 145
6.5 整型算术表达式及赋值语句的翻译 146
6.6 混合型算术表达式及赋值语句的翻译 149
6.7 布尔表达式的翻译 152
6.8 标号和无条件转移语句的翻译 160
6.9 控制语句的翻译 163
6.9.1 if-then语句的翻译 164
6.9.2 if-then-else语句的翻译 165
6.9.3 while-do语句的翻译 167
6.9.4 复合语句的翻译 169
6.10 小结 170
习题 171
第7章 目标代码生成 178
7.1 目标计算机的虚拟实现 178
7.2 语法制导翻译在汇编程序自动构造中的应用 181
7.2.1 虚拟机汇编语言的文法和SLR 1 分析表的构造 181
7.2.2 虚拟机汇编语言的单词编码表和词法分析 182
7.2.3 虚拟机汇编语言的语义和语法制导翻译 184
7.3 从四元式到汇编语言的翻译 187
习题 191
附录 194
附录A 虚拟机汇编程序使用说明 194
附录B 配套软件的文件清单 196
附录C 程序源代码的说明 197
参考文献 198
猜您喜欢