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

- 陈意云,张昱编 著
- 出版社: 北京:高等教育出版社
- ISBN:7040239639
- 出版时间:2008
- 标注页数:412页
- 文件大小:25MB
- 文件页数:425页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理 第2版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引论1
1.1编译器概述1
词法分析1
语法分析3
语义分析3
中间代码生成4
代码优化4
代码生成5
符号表管理5
阶段的分组6
解释器7
1.2编译器技术的应用7
高级语言的实现7
针对计算机体系结构的优化8
新计算机体系结构的设计9
程序翻译10
提高软件开发效率的工具11
习题112
第2章 词法分析13
2.1词法记号及属性13
词法记号、模式、词法单元14
词法记号的属性15
词法错误16
2.2词法记号的描述与识别16
串和语言16
正规式17
正规定义19
状态转换图20
2.3有限自动机23
不确定的有限自动机23
确定的有限自动机24
NFA到DFA的变换25
DFA的化简28
2.4从正规式到有限自动机30
2.5词法分析器的生成器32
习题235
第3章 语法分析38
3.1上下文无关文法38
上下文无关文法的定义39
推导40
分析树41
二义性42
3.2语言和文法43
正规式和上下文无关文法的比较43
分离词法分析器的理由44
验证文法产生的语言44
适当的表达式文法45
消除二义性46
消除左递归47
提左因子48
非上下文无关的语言构造49
形式语言鸟瞰51
3.3自上而下分析52
自上而下分析的一般方法52
LL(1)文法53
递归下降的预测分析54
非递归的预测分析56
构造预测分析表58
预测分析的错误恢复59
3.4自下而上分析62
归约62
句柄63
用栈实现移进-归约分析64
移进-归约分析的冲突65
3.5 LR分析器67
LR分析算法67
LR文法和LR分析方法的特点71
构造SLR分析表72
构造规范的LR分析表79
构造LALR分析表83
非二义且非LR的上下文无关文法86
3.6二义文法的应用87
使用算符的优先级和结合性来解决冲突88
使用其他约定来解决冲突90
LR分析的错误恢复91
3.7语法分析器的生成器93
分析器的生成器Yacc93
用Yacc处理二义文法96
Yacc的错误恢复99
习题3100
第4章 语法制导的翻译106
4.1语法制导的定义106
语法制导定义的形式107
综合属性108
继承属性108
属性依赖图109
属性计算次序110
4.2 S属性定义的自下而上计算111
语法树111
构造语法树的语法制导定义112
S属性的自下而上计算113
4.3 L属性定义的自上而下计算115
L属性定义116
翻译方案116
预测翻译器的设计120
用综合属性代替继承属性121
4.4 L属性的自下而上计算122
删除翻译方案中嵌入的动作122
分析栈上的继承属性123
模拟继承属性的计算125
习题4127
第5章 类型检查130
5.1类型在编程语言中的作用130
执行错误和安全语言131
类型化语言和类型系统131
类型化语言的优点133
5.2描述类型系统的语言134
定型断言135
定型规则136
类型检查和类型推断137
5.3一个简单类型检查器的规范137
一个简单的语言137
类型系统138
类型检查140
类型转换141
5.4多态函数142
为什么要使用多态函数143
类型变量144
一个含多态函数的语言145
代换、实例和合一146
多态函数的类型检查147
5.5类型表达式的等价151
类型表达式的结构等价151
类型表达式的名字等价152
记录类型153
类型表示中的环154
5.6函数和算符的重载154
子表达式的可能类型集合155
缩小可能类型的集合156
习题5157
第6章 运行时存储空间的组织和管理163
6.1局部存储分配164
过程164
名字的作用域和绑定165
活动记录165
局部数据的安排166
程序块167
6.2全局栈式存储分配168
运行时内存的划分168
活动树和运行栈169
调用序列171
栈上可变长度数据173
悬空引用174
6.3非局部名字的访问175
无过程嵌套的静态作用域175
有过程嵌套的静态作用域176
动态作用域179
6.4参数传递180
值调用180
引用调用181
换名调用181
6.5堆管理182
内存管理器183
计算机内存分层184
程序局部性185
手工回收请求186
习题6186
第7章 中间代码生成199
7.1中间语言200
后缀表示200
图形表示200
三地址代码201
静态单赋值形式203
7.2声明语句204
过程中的声明204
作用域信息的保存205
记录的域名207
7.3赋值语句207
符号表中的名字208
数组元素的地址计算208
数组元素地址计算的翻译方案209
类型转换212
7.4布尔表达式和控制流语句213
布尔表达式214
控制流语句的翻译214
布尔表达式的控制流翻译216
开关语句的翻译218
过程调用的翻译220
习题7221
第8章 代码生成227
8.1代码生成器设计中的问题227
目标程序227
指令选择228
寄存器分配229
计算次序选择229
8.2目标语言230
目标机器的指令集230
指令的代价231
8.3基本块和流图233
基本块233
基本块的优化234
流图235
下次引用信息236
8.4一个简单的代码生成器237
寄存器描述和地址描述238
代码生成算法238
寄存器选择函数239
为变址和指针语句产生代码241
条件语句241
习题8242
第9章 独立于机器的优化250
9.1优化的主要种类250
优化的主要源头250
一个实例251
公共子表达式删除252
复写传播255
死代码删除256
代码外提256
强度削弱和归纳变量删除257
9.2数据流分析介绍258
数据流抽象259
数据流分析模式260
到达-定值261
活跃变量265
可用表达式267
小结269
9.3数据流分析的基础270
半格270
迁移函数273
一般框架的迭代算法274
数据流解的含义276
9.4常量传播278
常量传播框架的数据流值278
常量传播框架的迁移函数279
常量传播框架的单调性280
常量传播框架的非分配性280
结果的解释281
9.5部分冗余删除282
冗余的根源282
能否删除所有的冗余284
惰性代码移动问题285
预期表达式286
惰性代码移动算法286
9.6流图中的循环291
支配结点291
回边和可归约性293
流图的深度294
自然循环294
迭代流图算法的收敛速度296
习题9297
第10章 依赖于机器的优化306
10.1处理器体系结构307
指令流水线和分支延迟307
流水化的执行308
多指令发射308
10.2代码调度的约束309
数据相关309
发现内存访问中的相关性310
寄存器使用和并行执行之间的折中311
寄存器分配和代码调度的次序安排312
控制相关313
投机执行的支持313
一个基本的机器模型314
10.3基本块调度315
数据依赖图315
基本块的表调度316
区分优先级的拓扑次序317
10.4全局代码调度318
简单的代码移动318
向上的代码移动319
向下的代码移动320
更新数据相关321
全局调度的其他问题321
静态调度器和动态调度器的交互322
10.5软件流水323
引言323
循环的软件流水324
寄存器分配和代码生成326
do-across循环327
软件流水的目标和约束328
软件流水算法329
无环数据依赖图的调度330
10.6并行性和数据局部性优化概述331
多处理器331
应用中的并行性333
循环级并行334
数据局部性335
矩阵乘法算法336
矩阵乘法算法的优化338
习题10340
第11章 编译系统和运行系统343
11.1 C语言的编译系统343
预处理器344
汇编器345
连接器346
目标文件的格式347
符号解析349
静态库350
可执行目标文件及装入352
动态连接353
处理目标文件的一些工具354
11.2 Java语言的运行系统355
Java虚拟机语言简介355
Java虚拟机356
即时编译器357
11.3无用单元收集359
标记和清扫359
引用计数360
拷贝收集361
分代收集363
渐增式收集364
编译器与收集器之间的相互影响364
习题11367
第12章 面向对象语言的编译371
12.1面向对象语言的概念371
对象和对象类371
继承372
信息封装374
12.2方法的编译374
12.3继承的编译方案377
单一继承的编译方案378
重复继承的编译方案380
习题12384
第13章 函数式语言的编译387
13.1函数式编程语言简介387
语言构造387
参数传递机制389
变量的自由出现和约束出现390
13.2函数式语言的编译简介392
几个受启发的例子392
编译函数394
环境与约束394
13.3抽象机的体系结构396
抽象机的栈396
抽象机的堆397
名字的寻址398
约束的建立399
13.4指令集和编译400
表达式400
变量的引用性出现401
函数定义402
函数应用404
构造和计算闭包407
letrec表达式和局部变量409
习题13410
参考文献412
热门推荐
- 3317732.html
- 431817.html
- 3134343.html
- 3519295.html
- 688364.html
- 3684191.html
- 1502291.html
- 1293362.html
- 1344342.html
- 2334178.html
- http://www.ickdjs.cc/book_2130856.html
- http://www.ickdjs.cc/book_3084795.html
- http://www.ickdjs.cc/book_31029.html
- http://www.ickdjs.cc/book_1451833.html
- http://www.ickdjs.cc/book_519341.html
- http://www.ickdjs.cc/book_539161.html
- http://www.ickdjs.cc/book_2546410.html
- http://www.ickdjs.cc/book_3148053.html
- http://www.ickdjs.cc/book_2338623.html
- http://www.ickdjs.cc/book_631730.html