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

- 刘坚编著 著
- 出版社: 西安:西安电子科技大学出版社
- ISBN:9787560611112
- 出版时间:2008
- 标注页数:311页
- 文件大小:15MB
- 文件页数:324页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理基础 第2版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引言1
1.1从面向机器的语言到面向人类的语言1
1.2语言之间的翻译2
1.3编译器与解释器3
1.4编译器的工作原理与基本组成4
1.4.1通用程序设计语言的主要成分4
1.4.2以阶段划分编译器5
1.4.3编译器各阶段的工作6
1.4.4编译器的分析/综合模式10
1.4.5编译器扫描的遍数11
1.5编译器的编写11
1.6本章小结12
习题13
第2章 词法分析14
2.1词法分析中的若干问题14
2.1.1记号、模式与单词14
2.1.2记号的属性15
2.1.3词法分析器的作用与工作方式16
2.1.4输入缓冲区17
2.2模式的形式化描述18
2.2.1字符串与语言18
2.2.2正规式与正规集20
2.2.3记号的说明21
2.3记号的识别——有限自动机22
2.3.1不确定的有限自动机(Nondeterministic Finite Automata,NFA)22
2.3.2确定的有限自动机(Deterministic Finite Automata, DFA)25
2.3.3有限自动机的等价26
2.4从正规式到词法分析器27
2.4.1从正规式到NFA27
2.4.2从NFA到DFA29
2.4.3最小化DFA33
2.4.4 DFA的“短路”计算35
2.4.5由DFA构造词法分析器42
2.5本章小结44
习题45
第3章 语法分析48
3.1语法分析的若干问题48
3.1.1语法分析器的作用48
3.1.2语法错误的处理原则49
3.2上下文无关文法50
3.2.1上下文无关文法的定义与表示50
3.2.2 CFG产生语言的基本方法——推导52
3.2.3推导、分析树与语法树53
3.2.4二义性与二义性的消除54
3.3语言与文法简介59
3.3.1正规式与上下文无关文法59
3.3.2上下文有关文法60
3.3.3形式语言与自动机简介62
3.4自上而下语法分析63
3.4.1自上而下分析的一般方法63
3.4.2消除左递归64
3.4.3提取左因子66
3.4.4递归下降分析67
3.4.5预测分析器71
3.5自下而上语法分析77
3.5.1自下而上分析的基本方法77
3.5.2 LR分析80
3.6 LR(1)与LALR(1)分析89
3.6.1 SLR分析器的弱点89
3.6.2 LR(1)分析器90
3.6.3 LALR(1)分析器92
3.6.4 LR(1)与LALR(1)的关系94
3.6.5 LR(1)与二义文法的关系96
3.7编译器编写工具97
3.7.1词法分析器生成器LEX97
3.7.2语法分析器生成器YACC109
3.7.3语言识别器生成工具简述131
3.8本章小结134
习题136
第4章 静态语义分析139
4.1语法制导翻译简介139
4.1.1语法与语义139
4.1.2属性与语义规则140
4.1.3语义规则的两种形式141
4.1.4 LR分析翻译方案的设计142
4.1.5递归下降分析翻译方案的设计144
4.2属性的计算145
4.2.1综合属性与自下而上分析145
4.2.2继承属性与自上而下分析146
4.2.3依赖图与属性计算148
4.2.4 L_属性的增量分析151
4.2.5 L_属性的自下而上计算154
4.2.6属性的空间分配160
4.2.7 YACC源程序中的语法制导翻译163
4.3中间代码简介165
4.3.1后缀式165
4.3.2三地址码166
4.3.3图形表示170
4.4符号表简介171
4.4.1符号表条目172
4.4.2构成名字的字符串173
4.4.3名字的作用域173
4.4.4线性表175
4.4.5散列表175
4.5声明语句的翻译177
4.5.1变量的声明177
4.5.2数组变量的声明179
4.5.3过程的定义与声明184
4.5.4记录的域名194
4.6简单算术表达式与赋值句195
4.6.1简单变量的语法制导翻译195
4.6.2变量的类型转换195
4.7数组元素的引用198
4.7.1数组元素的地址计算199
4.7.2数组元素引用的语法制导翻译200
4.8布尔表达式203
4.8.1布尔表达式的作用与结构203
4.8.2布尔表达式的计算方法203
4.8.3数值表示与直接计算的语法制导翻译204
4.8.4短路计算的语法制导翻译206
4.8.5拉链与回填207
4.9控制语句209
4.9.1标号与无条件转移210
4.9.2条件转移211
4.10过程调用214
4.11类型检查215
4.11.1类型、类型系统与类型检查215
4.11.2类型系统219
4.11.3简单的类型检查222
4.11.4类型表达式的等价226
4.11.5多态函数的类型检查229
4.11.6特定多态的类型检查235
4.12本章小结238
习题240
第5章 运行环境243
5.1过程的动态特性243
5.1.1过程与活动243
5.1.2控制栈与活动记录245
5.1.3名字的绑定246
5.2运行时数据空间的组织247
5.2.1运行时内存的划分与数据空间的存储分配策略247
5.2.2静态与动态分配简介248
5.3栈式动态分配250
5.3.1控制栈中的活动记录250
5.3.2调用序列与返回序列251
5.3.3栈式分配中对非本地名字的访问252
5.3.4参数传递的实现255
5.4本章小结257
习题258
第6章 代码生成260
6.1代码生成的相关问题260
6.2简单的计算机模型260
6.3简单的代码生成器262
6.3.1基本块、流图与循环263
6.3.2下次引用信息与活跃信息266
6.3.3简单的代码生成267
6.4本章小结269
习题269
第7章 代码优化271
7.1局部优化271
7.1.1基本块的优化271
7.1.2窥孔优化276
7.1.3表达式的优化代码生成278
7.2独立于机器的优化281
7.2.1运行实例:快排序282
7.2.2全局公共子表达式284
7.2.3复写传播(Copy Propagation)286
7.2.4死代码消除(Dead-Code Elimination)286
7.2.5代码外提(Code Motion)287
7.2.6归纳变量与强度削弱287
7.3数据流分析简介289
7.3.1数据流抽象290
7.3.2数据流分析模式291
7.3.3基本块上的数据流模式292
7.3.4到达定值(Reaching Definitions)292
7.3.5活跃变量(Live Varibale)296
7.3.6可用表达式(Availabal Expression)297
7.3.7小结300
7.4数据流分析的数学基础300
7.4.1半格(Semilattices)301
7.4.2转换函数(Transfer Functions)303
7.4.3通用框架的迭代算法305
7.4.4数据流解的意义306
7.5本章小结308
习题309
参考文献311
热门推荐
- 1094909.html
- 1826687.html
- 2258934.html
- 1082566.html
- 2061276.html
- 2643931.html
- 2559297.html
- 3208518.html
- 2909600.html
- 2191545.html
- http://www.ickdjs.cc/book_3652904.html
- http://www.ickdjs.cc/book_3016846.html
- http://www.ickdjs.cc/book_2822680.html
- http://www.ickdjs.cc/book_706749.html
- http://www.ickdjs.cc/book_904770.html
- http://www.ickdjs.cc/book_1334262.html
- http://www.ickdjs.cc/book_1817217.html
- http://www.ickdjs.cc/book_1985174.html
- http://www.ickdjs.cc/book_1089137.html
- http://www.ickdjs.cc/book_3704505.html