编译原理 修订版PDF格式文档图书下载
第1章 绪论 1
1.1 程序设计语言概述 1
1.1.1 高级程序设计语言的特点和发展 2
1.1.2 高级程序设计语言的参数传递 3
1.2 编译过程概述 6
1.2.1 词法分析 7
1.2.2 语法分析和语义分析 8
1.2.3 中间代码生成和优化 9
1.2.4 目标代码 10
1.2.5 表格管理 10
1.2.6 错误处理 11
1.2.7 编译阶段的组合 13
1.3 并行编译概述 13
习题一 14
第2章 文法和语言 15
2.1 文法和语言的定义 15
2.1.1 概念 15
2.1.2 文法和语言的定义 16
2.1.3 文法的Chomsky分类 19
2.1.4 文法产生式的其他表示法 20
2.2 句型的语法树和文法的二义性 20
2.2.1 语法树 20
2.2.2 文法二义性及规范归约的算法 21
2.3 文法的等价变换 23
2.3.1 文法等价的定义 23
2.3.2 文法的等价变换 23
习题二 27
第3章 词法分析 29
3.1 词法分析的任务 29
3.1.1 单词与扫描器的功能 29
3.1.2 扫描器分离的考虑 31
3.2 正则文法与状态转换图 32
3.2.1 状态转换图 32
3.2.2 正则文法的状态转换图表示 33
3.3 有限自动机 34
3.3.1 确定有限自动机 34
33.2 非确定有限自动机 36
3.3.3 非确定有限自动机的确定化和最简化 38
3.4 正规式和正规集 43
3.4.1 正规式和正规集的定义 44
3.4.2 正规式与有限自动机 45
3.4.3 正规式与正规文法 47
3.5 扫描器生成 49
3.5.1 由状态图生成扫描器 49
3.5.2 扫描器的自动生成 52
习题三 55
第4章 语法分析 57
4.1 自上而下分析 57
4.1.1 自上而下分析存在的问题 58
4.1.2 递归下降分析器 61
4.1.3 LL(1)分析器 64
4.2 算符优先分析算法 68
4.2.1 直观算符优先分析法 68
4.2.2 算符优先分析法 71
4.3 LR分析法 77
4.3.1 LR分析过程 77
4.3.2 LR(0)项目集规范族和LR(0)分析表 80
4.3.3 SLR(1)分析表 86
4.3.4 LR(1)项目集规范族和LR(1)分析表 88
4.3.5 LALR(1)分析表 92
4.3.6 二义性文法的应用 95
习题四 96
第5章 语法制导翻译与中间代码生成 98
5.1 概述 99
5.2 中间代码表示法 100
5.2.1 逆波兰表示法 100
5.2.2 三元式表示法 105
5.2.3 树结构表示法 108
5.2.4 四元式表示法 110
5.3 表达式及赋值语句的翻译 110
5.3.1 算术表达式与赋值语句的翻译 110
5.3.2 布尔表达式的翻译 113
5.4 控制语句的翻译 118
5.4.1 标号与GOTO语句的翻译 118
5.4.2 IF语句与WHILE语句的翻译 119
5.4.3 FOR语句的翻译 122
5.4.4 CASE语句的翻译 125
5.5 数组元素的翻译 128
5.5.1 数组元素的地址计算 128
5.5.2 赋值语句中数组元素的翻译 129
5.6 过程调用语句的翻译 131
5.6.1 过程调用的四元式产生 132
5.6.2 过程调用和数组元素相混淆的处理 133
5.7 说明语句的翻译 133
5.8 类型检查 135
5.8.1 类型系统 136
5.8.2 类型检查器的规格说明 138
习题五 141
第6章 代码优化 145
6.1 概述 145
6.2 局部优化 146
6.2.1 基本块的划分 147
6.2.2 基本块的DAG表示 147
6.2.3 基本块的优化处理 151
6.2.4 含有数组元素的DAG 152
6.3 全局优化 154
6.3.1 程序流图 154
6.3.2 到达—定值数据流方程及到达—定值链 155
6.3.3 引用—定值链的计算及应用 159
6.3.4 活跃变量数据流方程 160
6.3.5 定值—引用链 162
6.4 循环优化 164
6.4.1 循环的定义 164
6.4.2 循环优化 165
习题六 179
第7章 运行时存储空间管理 183
7.1 运行时存储空间组织 183
7.2 运行时存储空间分配 184
7.2.1 静态分配 184
7.2.2 栈式分配 185
7.2.3 堆式分配 191
7.3 FORTRAN语言的分配方案 191
7.3.1 公用语句的处理 192
7.3.2 等价语句的处理 193
7.3.3 地址分配 196
习题七 197
第8章 目标代码生成 198
8.1 概述 198
8.2 目标计算机模型 198
8.3 简单代码生成算法 200
8.3.1 寄存器和地址描述 200
8.3.2 寄存器分配 201
8.3.3 简单代码生成算法 202
习题八 203
附录:课程设计指导书 205
一.概述 205
(一)课程设计的目的 205
(二)课程设计的内容 205
(三)课程设计的组织 206
(四)课程设计的时间 206
二.课程设计示例 206
(一)题目及要求 206
(二)设计过程 208
三.课程设计题目 209
参考文献 213
- 《编译原理 修订版》韩太鲁,孙忠林主编 2007
- 《现代编译原理 C语言描述 修订版》安德鲁·W.安佩尔(Andrew W.Appel),马亚·金斯伯格(Maia Ginsburg) 2018
- 《编译方法 修订版》胡笔蕊等编著 1994
- 《编译方法 修订版》阎天民,倪朝奎著 1989
- 《马克思主义政治经济学原理 修订版》刘美珣主编 2003
- 《通信系统原理 修订本》冯玉珉编著 2003
- 《化工原理 修订版 同步辅导及习题全解》陈洪明,宋波主编 2009
- 《中国民法学·民法总则 修订版》陶希晋总主编;佟柔主编;王利明,史际春副主编 2008
- 《现代企业管理原理 修订第4版》黄津孚著 2002
- 《现代企业的管理原理 修订第5版》黄津孚著 2007
- 《中国诗歌地理 东营卷》王桂林,赵遁主编 2014
- 《中国共产党山东省东营市东营区组织史资料 1932-1987》中共东营区委组织部,中共东营区委党史办,东营区档案局编 1991
- 《东营凹陷浅层油气成藏条件》田美荣著 2011
- 《中国共产党山东省东营市组织史资料 1923-1987》中共东营市委组织部,中共东营市委党史资料征集研究委员会,东营市档案局编 1990
- 《中共东营地方史 第1卷》周燕明主编;中共东营市委党史研究室著 2003
- 《中国共产党山东省东营市河口区组织史资料 1941-1987》中共河口区委组织部,中共河口区委党史资料征集研究委员会办公室,河口区档案局编 1991
- 《美丽湿地中国行 笃行博学篇》刘晓俏主编;刘存福,蔺伟副主编 2015
- 《东营市东营区人民法院志》东营市东营区人民法院志编纂委员会编 2012
- 《东营市行业歌曲作品集》万永山主编 2006
- 《东营地区深基坑工程实践》唐为峰,王春主编 2014