图书介绍
编译原理2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 孙家骕编著 著
- 出版社: 北京市:北京大学出版社
- ISBN:7301098030
- 出版时间:2008
- 标注页数:241页
- 文件大小:10MB
- 文件页数:252页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 预备知识1
1.1 相关定义1
1.1.1 字母表1
1.1.2 符号串1
1.2 高级语言的形式定义4
1.3 分析树9
1.3.1 分析树的定义9
1.3.2 分析树与短语10
1.3.3 分析树与推导10
1.4 形式语言分类简介11
习题一13
第2章 编译程序概述15
2.1 编译程序的组成15
2.2 编译程序的构造途径17
2.3 解释程序19
习题二19
第3章 词法分析与有限自动机20
3.1 词法分析器的作用20
3.2 词法分析器的构造方法20
3.2.1 手工构造词法分析器20
3.3 正则表达式和正则集合29
3.3.1 正则表达式和正则集合的定义29
3.3.2 用正则表达式描述单词30
3.4 有限自动机30
3.5 正则表达式与有限自动机的等价性35
3.6 正则文法与有限自动机的等价性37
3.7 确定的有限自动机的最小化40
3.8 LEX简介42
习题三45
第4章 语法分析48
4.1 上下文无关文法的等价变换48
4.1.1 消除文法的二义性48
4.1.2 删除文法中的无用符号及无用产生式50
4.1.3 删除文法中的ε-产生式51
4.1.4 删除文法中的单一产生式52
4.1.5 消除文法中的左递归53
4.2 自顶向下的语法分析55
4.2.1 LL(1)文法56
4.2.2 预测分析法57
4.3 自底向上分析64
4.3.1 算符优先分析法64
4.3.2 LR分析70
4.4 语法错误处理简介87
4.5 YACC简介87
习题四91
第5章 属性文法和语法制导翻译94
5.1 属性文法的定义94
5.2 属性求值97
5.3 S属性文法100
5.4 L属性文法102
5.5 翻译模式103
5.6 自顶向下翻译106
5.6.1 消除翻译模式中的左递归106
5.6.2 预测翻译程序的设计107
5.7 自底向上翻译111
5.7.1 消除嵌入在产生式中间的动作111
5.7.2 如何确定继承属性在分析栈中的位置112
5.7.3 自底向上翻译程序代码的设计115
习题五117
第6章 语义检查120
6.1 语义检查的内容120
6.2 符号表121
6.2.1 符号表在语义检查中的作用121
6.2.2 符号表的实现121
6.2.3 符号表的分类及表项内容122
6.2.4 子程序嵌套情况下符号表的组织122
6.3 类型检查123
6.3.1 类型等价和类型相容123
6.3.2 类型表达式124
6.3.3 几个与类型相关的翻译模式125
6.3.4 类型表达式的等价128
6.4 类型转换129
6.4.1 类型转换的起因129
6.4.2 类型转换的时机129
习题六130
第7章 运行时的存储分配132
7.1 存储布局132
7.1.1 静态存储区133
7.1.2 动态存储区133
7.1.3 活动记录134
7.2 内存分配策略135
7.2.1 静态存储分配135
7.2.2 动态栈式存储分配137
7.2.3 动态堆式存储分配139
7.3 对变量等数据的访问143
7.3.1 对全局变量和静态变量的访问143
7.3.2 对动态变量的访问143
7.3.3 对不允许子程序嵌套定义的局部变量的访问143
7.3.4 对嵌套子程序中外层变量的访问143
7.4 参数传递148
7.4.1 传值调用(call by value)148
7.4.2 引用调用(call by reference)148
7.4.3 复制-恢复调用149
7.4.4 传名调用(call-by-name)150
习题七151
第8章 中间代码生成153
8.1 中间代码的形式153
8.2 说明的处理157
8.3 赋值语句的翻译161
8.3.1 关于简单类型变量的赋值语句的翻译161
8.3.2 含有数组元素引用和记录变量域引用的赋值语句的翻译164
8.4 布尔表达式的翻译169
8.4.1 布尔表达式的求值翻译169
8.4.2 作为控制条件的布尔表达式的翻译170
8.5 控制语句的翻译173
8.5.1 if语句和while语句的翻译173
8.5.2 switch语句的翻译176
8.5.3 repeat语句的翻译179
8.5.4 转移语句和调用语句的翻译180
8.6 自顶向下的分析翻译182
习题八183
第9章 代码优化185
9.1 引言185
9.1.1 代码优化准则185
9.1.2 进行代码优化的阶段186
9.1.3 进行代码优化的范围187
9.1.4 优化程序的一般结构187
9.1.5 基本块和流图188
9.2 进行代码优化的几种主要方法189
9.3 流图中的循环及其查找195
9.3.1 控制结点196
9.3.2 回边197
9.3.3 循环的查找197
9.3.4 可归约流图199
9.3.5 流图的结点深度优先排序及其算法200
9.4 数据流分析201
9.4.1 到达-定值数据流分析201
9.4.2 可用表达式数据流分析205
9.4.3 活跃变量分析207
9.4.4 定值-引用链(du链)209
9.5 循环优化209
9.5.1 代码外提210
9.6 删除全局公共子表达式215
9.7 复写传播216
习题九217
第10章 目标代码生成223
10.1 目标计算机模型223
10.2 目标代码生成方法224
10.2.1 一个简单的寄存器分配方法224
10.2.2 一个简单的代码生成算法225
10.3 图着色法的寄存器分配225
10.3.1 图着色法226
10.3.2 图着色法分配寄存器算法228
10.4 DAG(有向无环图)及其构造算法230
10.4.1 DAG的表示方法230
10.4.2 DAG的构造算法230
10.4.3 由DAG生成目标代码234
10.5 依赖于目标计算机的优化238
习题十239
参考文献241
热门推荐
- 372923.html
- 1236235.html
- 794436.html
- 463868.html
- 1916476.html
- 2413685.html
- 2701335.html
- 1525456.html
- 3614613.html
- 1119852.html
- http://www.ickdjs.cc/book_3573215.html
- http://www.ickdjs.cc/book_2410571.html
- http://www.ickdjs.cc/book_88827.html
- http://www.ickdjs.cc/book_3367908.html
- http://www.ickdjs.cc/book_2002330.html
- http://www.ickdjs.cc/book_2776201.html
- http://www.ickdjs.cc/book_801558.html
- http://www.ickdjs.cc/book_3834187.html
- http://www.ickdjs.cc/book_528370.html
- http://www.ickdjs.cc/book_11613.html