编译方法、技术与实践 许畅 等 编
出版时间:
2018-10
版次:
1
ISBN:
9787111745310
定价:
69.00
装帧:
平装
开本:
16开
页数:
296页
字数:
444千字
-
本书是在教育部计算机领域本科教育教学改革试点工作计划“编译原理”课程组的组织下编写的理论教材之一。本书从理论和实践两个方面指导与帮助学生深刻理解编译器的工作原理。其中,理论方法的教学使得学生能够理解编译器运行过程中的核心算法,而实践技术则帮助学生掌握理论方法及算法在代码实现层面的设计与编码要点,最后结合实践内容对理论方法与实践技术进行巩固。
本书适合作为高校计算机及相关专业编译原理课程的教材,也适合作为研发人员了解编译技术的参考书。
出版说明
前言
第1章 概述 1
1.1 内容组织 1
1.2 编译器的结构 3
1.2.1 词法分析 4
1.2.2 语法分析 5
1.2.3 语义分析 5
1.2.4 中间代码生成 6
1.2.5 目标代码生成 7
1.2.6 中间代码优化 7
1.3 语言和工具简介 8
1.3.1 源语言C--简介 9
1.3.2 目标语言MIPS简介 9
1.3.3 MIPS模拟器简介 11
1.3.4 实践环境 12
第2章 词法分析和语法分析 13
2.1 词法分析和语法分析的理论方法 16
2.1.1 词法分析概要 16
2.1.2 正则表达式 18
2.1.3 有限状态自动机 21
2.1.4 从NFA到DFA的转换 24
2.1.5 状态最小化算法 25
2.1.6 语法分析概要 26
2.1.7 上下文无关文法 28
2.1.8 自顶向下的语法分析算法 30
2.1.9 自底向上的语法分析算法 33
2.2 词法分析和语法分析的实践技术 36
2.2.1 词法分析实现思想概述 37
2.2.2 GNU Flex介绍 37
2.2.3 Flex:编写源代码 38
2.2.4 Flex:书写正则表达式 41
2.2.5 Flex:高级特性 42
2.2.6 词法分析实践的额外提示 45
2.2.7 语法分析实现思想概述 46
2.2.8 GUN Bison介绍 46
2.2.9 Bison:编写源代码 48
2.2.10 Bison:属性值的类型 51
2.2.11 Bison:词法单元的位置 52
2.2.12 Bison:二义性与冲突处理 53
2.2.13 Bison:源代码的调试 55
2.2.14 Bison:错误恢复 56
2.2.15 语法分析实践的额外提示 57
2.3 词法分析和语法分析的实践内容 58
2.3.1 实践要求 58
2.3.2 输入格式 58
2.3.3 输出格式 59
2.3.4 验证环境 59
2.3.5 提交要求 60
2.3.6 样例(必做部分) 60
2.3.7 样例(选做部分) 63
2.4 本章小结 67
习题 67
第3章 语义分析 69
3.1 语义分析的理论方法 72
3.1.1 属性文法 72
3.1.2 基于属性文法的处理方式 73
3.1.3 S属性文法和L属性文法 75
3.1.4 语法制导的定义 76
3.1.5 语法制导的翻译方案 77
3.1.6 SDT中左递归的消除 78
3.1.7 类型检查 80
3.2 语义分析的实践技术 82
3.2.1 语义分析实现思想概述 82
3.2.2 符号表的设计与实现 83
3.2.3 支持多层作用域的符号表 85
3.2.4 类型表示 87
3.2.5 语义分析实践的额外提示 89
3.3 语义分析的实践内容 89
3.3.1 实践要求 89
3.3.2 输入格式 91
3.3.3 输出格式 91
3.3.4 验证环境 92
3.3.5 提交要求 92
3.3.6 样例(必做部分) 92
3.3.7 样例(选做部分) 98
3.4 本章小结 101
习题 102
第4章 中间代码生成 105
4.1 中间代码生成的理论方法 108
4.1.1 运行时环境概要 108
4.1.2 存储组织与栈帧设计方法 108
4.1.3 中间表示 110
4.1.4 类型与声明 111
4.1.5 表达式的翻译 113
4.1.6 控制流与回填 117
4.2 中间代码生成的实践技术 122
4.2.1 线形中间表示 122
4.2.2 图形中间表示 123
4.2.3 运行时环境简介 123
4.2.4 基本表达式的翻译模式 124
4.2.5 语句的翻译模式 125
4.2.6 函数调用的翻译模式 126
4.2.7 数组和结构体的翻译模式 127
4.3 中间代码生成的实践内容 127
4.3.1 实践要求 127
4.3.2 输入格式 130
4.3.3 输出格式 130
4.3.4 验证环境 130
4.3.5 提交要求 130
4.3.6 样例(必做部分) 131
4.3.7 样例(选做部分) 133
4.4 本章小结 135
习题 136
第5章 目标代码生成 139
5.1 目标代码生成的理论方法 142
5.1.1 代码生成概述 142
5.1.2 指令集架构 145
5.1.3 基本块与流图 147
5.1.4 指令选择算法 150
5.1.5 寄存器分配算法 153
5.1.6 窥孔优化 156
5.1.7 代码生成器构建 159
5.2 目标代码生成的实践技术 162
5.2.1 QtSpim简介 162
5.2.2 MIPS32汇编代码简介 165
5.2.3 指令选择算法实现 167
5.2.4 朴素寄存器分配算法实现 169
5.2.5 局部寄存器分配算法实现 170
5.2.6 活跃变量分析算法实现 170
5.2.7 图染色算法实现 171
5.2.8 MIPS寄存器的使用 174
5.2.9 MIPS栈管理 175
5.2.10 目标代码生成实践的额外提示 179
5.3 目标代码生成的实践内容 180
5.3.1 实践要求 180
5.3.2 输入格式 181
5.3.3 输出格式 181
5.3.4 验证环境 181
5.3.5 提交要求 181
5.3.6 样例(必做部分) 182
5.4 本章小结 185
习题 186
……
-
内容简介:
本书是在教育部计算机领域本科教育教学改革试点工作计划“编译原理”课程组的组织下编写的理论教材之一。本书从理论和实践两个方面指导与帮助学生深刻理解编译器的工作原理。其中,理论方法的教学使得学生能够理解编译器运行过程中的核心算法,而实践技术则帮助学生掌握理论方法及算法在代码实现层面的设计与编码要点,最后结合实践内容对理论方法与实践技术进行巩固。
本书适合作为高校计算机及相关专业编译原理课程的教材,也适合作为研发人员了解编译技术的参考书。
-
目录:
出版说明
前言
第1章 概述 1
1.1 内容组织 1
1.2 编译器的结构 3
1.2.1 词法分析 4
1.2.2 语法分析 5
1.2.3 语义分析 5
1.2.4 中间代码生成 6
1.2.5 目标代码生成 7
1.2.6 中间代码优化 7
1.3 语言和工具简介 8
1.3.1 源语言C--简介 9
1.3.2 目标语言MIPS简介 9
1.3.3 MIPS模拟器简介 11
1.3.4 实践环境 12
第2章 词法分析和语法分析 13
2.1 词法分析和语法分析的理论方法 16
2.1.1 词法分析概要 16
2.1.2 正则表达式 18
2.1.3 有限状态自动机 21
2.1.4 从NFA到DFA的转换 24
2.1.5 状态最小化算法 25
2.1.6 语法分析概要 26
2.1.7 上下文无关文法 28
2.1.8 自顶向下的语法分析算法 30
2.1.9 自底向上的语法分析算法 33
2.2 词法分析和语法分析的实践技术 36
2.2.1 词法分析实现思想概述 37
2.2.2 GNU Flex介绍 37
2.2.3 Flex:编写源代码 38
2.2.4 Flex:书写正则表达式 41
2.2.5 Flex:高级特性 42
2.2.6 词法分析实践的额外提示 45
2.2.7 语法分析实现思想概述 46
2.2.8 GUN Bison介绍 46
2.2.9 Bison:编写源代码 48
2.2.10 Bison:属性值的类型 51
2.2.11 Bison:词法单元的位置 52
2.2.12 Bison:二义性与冲突处理 53
2.2.13 Bison:源代码的调试 55
2.2.14 Bison:错误恢复 56
2.2.15 语法分析实践的额外提示 57
2.3 词法分析和语法分析的实践内容 58
2.3.1 实践要求 58
2.3.2 输入格式 58
2.3.3 输出格式 59
2.3.4 验证环境 59
2.3.5 提交要求 60
2.3.6 样例(必做部分) 60
2.3.7 样例(选做部分) 63
2.4 本章小结 67
习题 67
第3章 语义分析 69
3.1 语义分析的理论方法 72
3.1.1 属性文法 72
3.1.2 基于属性文法的处理方式 73
3.1.3 S属性文法和L属性文法 75
3.1.4 语法制导的定义 76
3.1.5 语法制导的翻译方案 77
3.1.6 SDT中左递归的消除 78
3.1.7 类型检查 80
3.2 语义分析的实践技术 82
3.2.1 语义分析实现思想概述 82
3.2.2 符号表的设计与实现 83
3.2.3 支持多层作用域的符号表 85
3.2.4 类型表示 87
3.2.5 语义分析实践的额外提示 89
3.3 语义分析的实践内容 89
3.3.1 实践要求 89
3.3.2 输入格式 91
3.3.3 输出格式 91
3.3.4 验证环境 92
3.3.5 提交要求 92
3.3.6 样例(必做部分) 92
3.3.7 样例(选做部分) 98
3.4 本章小结 101
习题 102
第4章 中间代码生成 105
4.1 中间代码生成的理论方法 108
4.1.1 运行时环境概要 108
4.1.2 存储组织与栈帧设计方法 108
4.1.3 中间表示 110
4.1.4 类型与声明 111
4.1.5 表达式的翻译 113
4.1.6 控制流与回填 117
4.2 中间代码生成的实践技术 122
4.2.1 线形中间表示 122
4.2.2 图形中间表示 123
4.2.3 运行时环境简介 123
4.2.4 基本表达式的翻译模式 124
4.2.5 语句的翻译模式 125
4.2.6 函数调用的翻译模式 126
4.2.7 数组和结构体的翻译模式 127
4.3 中间代码生成的实践内容 127
4.3.1 实践要求 127
4.3.2 输入格式 130
4.3.3 输出格式 130
4.3.4 验证环境 130
4.3.5 提交要求 130
4.3.6 样例(必做部分) 131
4.3.7 样例(选做部分) 133
4.4 本章小结 135
习题 136
第5章 目标代码生成 139
5.1 目标代码生成的理论方法 142
5.1.1 代码生成概述 142
5.1.2 指令集架构 145
5.1.3 基本块与流图 147
5.1.4 指令选择算法 150
5.1.5 寄存器分配算法 153
5.1.6 窥孔优化 156
5.1.7 代码生成器构建 159
5.2 目标代码生成的实践技术 162
5.2.1 QtSpim简介 162
5.2.2 MIPS32汇编代码简介 165
5.2.3 指令选择算法实现 167
5.2.4 朴素寄存器分配算法实现 169
5.2.5 局部寄存器分配算法实现 170
5.2.6 活跃变量分析算法实现 170
5.2.7 图染色算法实现 171
5.2.8 MIPS寄存器的使用 174
5.2.9 MIPS栈管理 175
5.2.10 目标代码生成实践的额外提示 179
5.3 目标代码生成的实践内容 180
5.3.1 实践要求 180
5.3.2 输入格式 181
5.3.3 输出格式 181
5.3.4 验证环境 181
5.3.5 提交要求 181
5.3.6 样例(必做部分) 182
5.4 本章小结 185
习题 186
……
查看详情
-
全新
-
编译方法、技术与实践 许畅 等 编 /许畅
所有图书均为正版新书、库存书,书籍由ISBN匹配上传,系统匹配的书籍信息,部分有信息误差,此类有疑问书籍未经客服确认好下单的,订单以ISBN码发货为准,此类发出不支持售后,请有疑问时先咨询再下单
全新
四川省成都市
平均发货29小时
成功完成率78.02%
-
全新
北京市房山区
平均发货26小时
成功完成率83.86%
-
全新
北京市通州区
平均发货10小时
成功完成率83.89%
-
全新
天津市和平区
平均发货29小时
成功完成率81.86%
-
九五品
北京市通州区
平均发货23小时
成功完成率88.12%
-
全新
广东省广州市
24小时内发货
成功完成率90.92%
-
编译方法、技术与实践(
全新正版书籍,假一罚十,节假日发货(图片为标准图,仅供参考。以标题为准,不了解的可以询问客服。)
全新
北京市朝阳区
平均发货18小时
成功完成率93.37%
-
编译方法、技术与实践、
全新正版书籍,假一罚十,节假日发货(图片为标准图,仅供参考。以标题为准,不了解的可以询问客服。)
全新
北京市朝阳区
平均发货18小时
成功完成率93.37%
-
全新
河南省开封市
平均发货29小时
成功完成率82.53%
-
全新
广东省广州市
平均发货10小时
成功完成率88.17%
-
全新
河南省平顶山市
平均发货10小时
成功完成率80.14%
-
全新
山东省德州市
平均发货16小时
成功完成率81.43%
-
编译方法、技术与实践 许畅 机械工业出版社 9787111745310
本书是在教育部计算机领域本科教育教学改革试点工作计划“编译原理”课程组的组织下编写的理论教材之一。本书从理论和实践两个方面指导与帮助学生深刻理解编译器的工作原理。其中,理论方法的教学使得学生能够理解编译器运行过程中的核心算法,而实践技术则帮助学生掌握理论方法及算法在代码实现层面的设计与编码要点,最后结合实践内容对理论方法与实践技术进行巩固。本书适合作为高校计算机及相关专业编译
全新
安徽省合肥市
平均发货17小时
成功完成率71.43%
-
全新
广东省广州市
平均发货8小时
成功完成率91.84%