图书介绍
编译原理及实践教程【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 黄贤英,王柯柯编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302164223
- 出版时间:2008
- 标注页数:210页
- 文件大小:11MB
- 文件页数:225页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理及实践教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 概述1
1.1 程序设计语言与翻译程序1
1.2 编译过程和编译程序的结构3
1.2.1 编译过程概述3
1.2.2 编译程序的结构7
1.2.3 编译阶段的组合8
1.3 编译程序的构造9
1.3.1 编译程序的构造与生成9
1.3.2 Sample语言编译程序的设计10
1.4 编译程序的发展及应用11
1.4.1 编译程序的发展11
1.4.2 为什么要学习编译原理及其构造技术11
1.4.3 编译技术的应用12
1.5 小结13
1.6 习题13
第2章 形式语言基本知识14
2.1 符号和符号串14
2.2 上下文无关文法及其语言15
2.2.1 上下文无关文法15
2.2.2 推导、句型和语言17
2.3 语法树和文法的二义性19
2.3.1 语法分析树19
2.3.2 文法的二义性20
2.4 文法的分类21
2.5 类Pascal语言Sample的简单介绍22
2.5.1 Sample语言字符集的定义22
2.5.2 Sample语言单词的定义23
2.5.3 Sample语言数据类型的定义23
2.5.4 Sample语言表达式的定义24
2.5.5 Sample语言语句的定义24
2.5.6 Sample语言程序的定义25
2.5.7 符合Sample语言定义的源程序举例25
2.6 小结26
2.7 习题26
第3章 词法分析28
3.1 词法分析的任务和功能28
3.1.1 词法分析的功能28
3.1.2 单词的类型和类别码29
3.2 词法分析器的设计31
3.2.1 词法分析器的接口31
3.2.2 词法分析程序的总体设计31
3.2.3 词法分析程序的详细设计33
3.2.4 单词的识别和状态转换图33
3.2.5 符号表及其操作36
3.2.6 词法分析阶段的错误处理37
3.3 正规文法、正规式与有穷自动机38
3.3.1 正规文法38
3.3.2 正规式39
3.3.3 有穷自动机40
3.3.4 正规文法与有穷自动机的等价性47
3.3.5 正规式与有穷自动机的等价性48
3.4 词法分析器的自动产生50
3.4.1 Lex的概述51
3.4.2 Lex源文件的格式51
3.4.3 Lex源文件中正规式的约定52
3.4.4 Lex源文件的翻译规则54
3.4.5 Lex源程序设计举例54
3.4.6 Lex使用中的一些注意事项58
3.4.7 使用Lex自动生成Sample语言的词法分析器59
3.5 小结60
3.6 习题60
第4章 语法分析64
4.1 语法分析概述64
4.2 自上而下分析面临的问题及其解决方法65
4.2.1 确定的自上而下分析面临的两个问题65
4.2.2 左递归的消除67
4.2.3 回溯的消除68
4.2.4 LL(1)文法69
4.3 确定的自上而下的分析方法73
4.3.1 递归下降分析法73
4.3.2 预测分析法77
4.4 Sample语言自上而下语法分析程序的设计82
4.5 自下而上语法分析的思想84
4.5.1 “移进-归约”分析方法84
4.5.2 规范归约与句柄86
4.6 算符优先分析88
4.6.1 算符优先文法88
4.6.2 算符优先表的构造89
4.6.3 算符优先分析方法93
4.6.4 算符优先函数95
4.7 LR分析法97
4.7.1 LR分析概述97
4.7.2 LR(0)分析100
4.7.3 SLR(1)分析108
4.7.4 LR(1)分析111
4.7.5 LALR(1)分析115
4.7.6 二义文法在LR分析中的应用117
4.8 语法分析器的自动生成工具Yacc119
4.8.1 Yacc概述119
4.8.2 Yacc源文件的格式120
4.8.3 Yacc的翻译规则122
4.8.4 Yacc的辅助程序123
4.9 语法分析程序中的错误处理124
4.9.1 语法分析中的错误处理的一般原则124
4.9.2 自上而下语法分析的错误处理125
4.9.3 自下而上语法分析的错误处理127
4.10 小结131
4.11 习题132
第5章 语义分析和中间代码生成136
5.1 静态语义检查137
5.2 中间代码的形式137
5.2.1 逆波兰式137
5.2.2 三地址代码138
5.3 属性文法和语法制导的翻译140
5.3.1 属性文法140
5.3.2 综合属性141
5.3.3 继承属性142
5.3.4 语法制导的翻译方法143
5.4 常见语句的语法制导的翻译144
5.4.1 常量说明语句的翻译145
5.4.2 变量说明语句的翻译146
5.4.3 简单算术表达式和赋值语句的翻译147
5.4.4 布尔表达式的翻译149
5.4.5 IF语句的翻译155
5.4.6 REPEAT语句的翻译157
5.4.7 FOR语句的翻译158
5.5 Sample语言语法制导的翻译程序的设计160
5.6 小结161
5.7 习题162
第6章 运行时存储空间的组织164
6.1 源程序及其目标程序执行时的活动164
6.1.1 源程序中的过程164
6.1.2 过程执行时的活动165
6.1.3 名字的作用域166
6.1.4 参数的传递166
6.1.5 名字的绑定167
6.2 程序执行时的存储器组织168
6.2.1 程序执行时存储器的划分168
6.2.2 局部数据区的内容169
6.2.3 存储分配策略170
6.3 静态存储分配171
6.3.1 静态存储分配的性质171
6.3.2 静态存储分配的实现172
6.3.3 临时变量的地址分配173
6.4 栈式存储分配173
6.5 堆式存储分配175
6.6 小结176
6.7 习题176
第7章 代码优化178
7.1 概述178
7.1.1 代码优化器的结构及所处的地位178
7.1.2 优化的原则179
7.1.3 优化的主要种类180
7.1.4 基本块的概念及流图180
7.2 局部优化182
7.2.1 删除公共子表达式182
7.2.2 复写传播182
7.2.3 删除无用代码183
7.2.4 对程序进行代数恒等变换184
7.2.5 利用基本块的DAG进行优化185
7.3 循环优化188
7.3.1 循环的定义188
7.3.2 代码外提189
7.3.3 强度削弱190
7.3.4 删除归纳变量191
7.4 小结192
7.5 习题192
第8章 目标代码生成194
8.1 概述194
8.2 目标机器196
8.3 简单的代码生成算法197
8.3.1 中间代码的简单翻译方法198
8.3.2 引用信息和活跃信息199
8.3.3 寄存器描述和地址描述201
8.3.4 基本块的代码生成算法202
8.4 从DAG生成目标代码204
8.5 Sample语言代码优化及目标代码生成器的设计207
8.6 小结209
8.7 习题209
参考文献210
热门推荐
- 3691375.html
- 2754324.html
- 608630.html
- 174551.html
- 2995665.html
- 3563395.html
- 2864372.html
- 1810700.html
- 2682046.html
- 3112585.html
- http://www.ickdjs.cc/book_3717691.html
- http://www.ickdjs.cc/book_2968235.html
- http://www.ickdjs.cc/book_2459288.html
- http://www.ickdjs.cc/book_36129.html
- http://www.ickdjs.cc/book_847644.html
- http://www.ickdjs.cc/book_3008135.html
- http://www.ickdjs.cc/book_776508.html
- http://www.ickdjs.cc/book_2912040.html
- http://www.ickdjs.cc/book_1189198.html
- http://www.ickdjs.cc/book_1955062.html