图书介绍
编译原理PDF|Epub|txt|kindle电子书版本网盘下载
- 周经野,张继福主编 著
- 出版社: 武汉:武汉理工大学出版社
- ISBN:7562919615
- 出版时间:2003
- 标注页数:363页
- 文件大小:17MB
- 文件页数:377页
- 主题词:编译程序(学科: 高等学校) 编译程序
PDF下载
下载说明
编译原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目 录1
1编译概论1
1.1程序设计语言和编译程序1
1.2编译的过程和编译程序结构3
1.3编译阶段的组合5
1.4编译技术在软件工具中的应用6
2文法和语言9
2.1文法的非形式化描述9
2.2符号、符号串及其运算11
2.3.1文法的形式化定义13
2.3文法和语言的形式化定义13
2.3.2推导的形式化定义14
2.3.3语言的形式化定义17
2.3.4语法树19
2.4文法和语言的类型21
思考题与习题23
3词法分析25
3.1词法分析概述25
3.2单词的描述工具27
3.2.1正规文法28
3.2.2正规表达式29
3.3有限自动机(DFA)32
3.3.1确定的有限自动机(DFA)35
3.3.2不确定的有限自动机(NFA)36
3.3.3 NFA的确定化38
3.3.4 DFA的最小化42
3.4正规文法、正规式和有限自动机之间的等价转换45
3.4.1正规文法与正规式45
3.4.2正规文法与有限自动机49
3.4.3正规式与有限自动机51
3.5词法分析程序的自动生成56
3.5.1 LEX源文件的结构59
3.5.2 LEX系统中的正规式62
3.5.3 LEX翻译程序简介66
3.5.4 LEX的使用方式67
3.5.5 LEX应用举例68
思考题与习题72
4 自顶向下的语法分析75
4.1 自顶向下的语法分析思想76
4.1.1确定的自顶向下分析77
4.1.2不确定的自顶向下分析83
4.2 LL(1)文法86
4.2.1 LL(1)文法的判别86
4.2.2某些非LL(1)到LL(1)文法的等价转换93
4.3预测分析方法100
4.3.1预测分析程序的工作流程101
4.3.2预测分析表的构造104
4.3.3预测分析方法举例104
思考题与习题109
5 自底向上的语法分析113
5.1 自底向上的分析方法简介113
5.1.1算符优先分析法114
5.1.2 LR分析法116
5.2算符优先分析方法119
5.2.1算符优先文法的定义119
5.2.2构造算符优先关系表122
5.2.3算符优先分析算法125
5.2.4优先函数127
5.2.5算符优先分析方法的讨论129
5.3 LR分析方法130
5.3.1 LR(0)分析器130
5.3.2 SLR(1)分析器138
5.3.3 LR(1)分析器140
5.3.4 LALR(1)分析器144
5.3.5 LR分析方法的讨论147
思考题与习题149
6属性文法与语法制导翻译技术151
6.1属性文法152
6.1.1继承属性和综合属性154
6.1.2属性翻译文法158
6.2语法制导翻译技术161
6.2.1 自顶向下的语法制导翻译162
6.2.2自底向上的语法制导翻译167
思考题与习题174
7语义分析和中间代码生成176
7.1中间代码176
7.1.1逆波兰记号176
7.1.2三元式178
7.1.3四元式179
7.2赋值语句与算术表达式的翻译180
7.3布尔表达式的翻译184
7.4控制结构的翻译188
7.4.1条件语句188
7.4.2循环语句190
7.4.3过程调用193
7.5说明语句的翻译194
7.5.1数组说明的翻译195
7.5.2结构说明的翻译197
7.6数组元素访问的翻译199
思考题与习题203
8符号表207
8.1符号表概述207
8.2符号表的组织208
8.2.1符号表的一般形式208
8.2.2符号表的名字栏209
8.2.3符号表的信息栏210
8.2.4符号表中的数据211
8.3符号表的管理212
8.3.1符号表的初始化212
8.3.2符号表的编制与查找212
8.3.3名字作用域信息的表示219
思考题与习题221
9 目标程序运行时存储空间组织223
9.1概述223
9.1.1存储空间的一般组织223
9.1.2过程和过程的活动记录225
9.1.3名字和名字的作用域227
9.2数据对象的存储分配228
9.2.1基本数据对象的存储分配229
9.2.2数组的存储分配229
9.2.3记录结构的存储分配232
9.3.1名字调用233
9.3参数传递233
9.3.2引用调用234
9.3.3值调用235
9.3.4结果调用235
9.4静态存储分配235
9.5栈式存储分配237
9.5.1简单栈式存储分配238
9.5.2嵌套过程的栈式存储分配240
9.5.3分程序结构的栈式存储分配243
9.6堆式存储分配247
思考题与习题250
10代码优化253
10.1代码优化技术概述254
10.1.1删除公共子表达式(删除多余运算)255
10.1.2代码外提255
10.1.3强度削弱256
10.1.4变换循环控制条件(删除归纳变量)257
10.1.5合并已知变量257
10.1.6复写传播257
10.1.7删除无用赋值258
10.2局部优化259
10.2.1基本块的划分和变换259
10.2.2基本块的DAG表示和应用261
10.3循环优化270
10.3.1程序流图270
10.3.2循环272
10.3.3可归约流图279
10.3.4循环优化方法280
10.4全局优化概述284
10.4.1“到达-定值”数据流方程285
10.4.2活跃变量数据流方程的推导290
思考题与习题293
11 目标代码生成298
11.1概述298
11.1.1代码生成器的输入和输出299
11.1.2指令的选择300
11.1.3寄存器分配301
11.1.4计算顺序的选择301
11.2计算机模型301
11.3代码生成器304
11.3.1待用信息305
11.3.2寄存器分配307
11.3.3代码生成算法311
思考题与习题321
12并行编译技术基础324
12.1.1向量计算机325
12.1并行计算机325
12.1.2共享存储器多处理机326
12.1.3分布式存储器大规模并行计算机328
12.2并行编译器的结构329
12.2.1程序分析330
12.2.2程序优化330
12.2.3并行代码生成331
12.3依赖关系331
12.3.1依赖关系的定义332
12.3.2语句依赖图336
12.3.3循环的迭代依赖图337
12.4.1可向量化循环344
12.4循环的向量化和并行化344
12.4.2可并行化循环347
12.5循环的变换技术348
12.5.1语句重排(Statement Reordering)349
12.5.2循环置换(Loop Permutation)350
12.5.3循环逆转(Loop Reversal)352
12.5.4圈收缩(Cycle Shrinking)353
12.5.5循环分布(Loop Distribution)354
思考题与习题358
参考文献363