图书介绍
编译技术【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 周尔强,周帆,韩蒙,陈文宇编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111509110
- 出版时间:2015
- 标注页数:224页
- 文件大小:76MB
- 文件页数:234页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译技术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 编译概述1
1.1 编译器与解释器1
1.2 编译器的组织与结构2
1.2.1 词法分析2
1.2.2 语法分析4
1.2.3 语义分析4
1.2.4 代码生成与优化5
1.2.5 符号表管理及错误处理6
1.3 总结与展望6
1.4 习题7
第2章 实现一个简单编译器8
2.1 语言定义8
2.1.1 词法定义9
2.1.2 语法定义9
2.2 简单编译器的结构12
2.3 词法分析12
2.4 递归下降语法解析20
2.4.1 规则的程序实现20
2.4.2 预测所选的规则22
2.5 抽象语法树23
2.6 语义分析26
2.6.1 符号表26
2.6.2 类型检查与转换28
2.7 中间代码生成30
2.7.1 三地址代码30
2.7.2 树的遍历与代码生成31
2.8 习题34
第3章 词法分析器35
3.1 词法分析器概述35
3.2 单词的识别36
3.3 状态转换图38
3.4 正则表达式44
3.4.1 字母表的概念44
3.4.2 正则表达式的形式化定义45
3.5 有限状态自动机与词法分析器46
3.5.1 确定的有限状态自动机47
3.5.2 正则表达式到有限状态自动机的转换47
3.5.3 词法分析器的自动机实现53
3.6 词法分析器的自动生成55
3.6.1 Lex中的单词符号定义56
3.6.2 Lex中的字符处理57
3.6.3 其他工具简介60
3.7 习题61
第4章 文法与语法解析62
4.1 文法和语法的定义62
4.1.1 文法的定义62
4.1.2 上下文无关文法64
4.1.3 推导与规约65
4.1.4 语法树68
4.2 自上而下的语法分析70
4.2.1 左递归的消除74
4.2.2 提取公共左因子76
4.2.3 递归下降分析法77
4.2.4 表驱动的预测分析法82
4.3 自下而上的语法分析89
4.3.1 LR分析过程91
4.3.2 LR (0)分析表的构造95
4.3.3 SLR(1)分析表的构造101
4.4 语法解析相关工具104
4.4.1 YACC104
4.4.2 ANTLR107
4.5 习题108
第5章 语义分析110
5.1 语义分析概况110
5.1.1 语义分析的功能111
5.1.2 语义分析方法111
5.2 构建抽象语法树113
5.2.1 单一类型语法树的设计114
5.2.2 多类型语法树的设计115
5.2.3 多类型语法树的遍历117
5.3 符号表119
5.3.1 符号表的数据结构120
5.3.2 哈希符号表的实现122
5.3.3 分程序结构的作用域124
5.3.4 分程序结构符号表的实现125
5.4 说明语句分析126
5.4.1 简单变量声明126
5.4.2 结构类型的声明127
5.5 赋值语句分析128
5.6 控制语句分析129
5.6.1 if语句130
5.6.2 while语句132
5.6.3 for语句133
5.6.4 过程调用语句134
5.7 习题135
第6章 LLVM代码生成与优化137
6.1 LLV M系统137
6.1.1 LLVM框架设计理念137
6.1.2 LLVM中间代码表示139
6.1.3 LLVM代码示例分析140
6.1.4 LLVM工具集145
6.2 LLVM代码生成148
6.2.1 常量、局部变量的代码生成148
6.2.2 表达式的代码生成150
6.2.3 函数声明与调用152
6.3 优化概述156
6.4 基本块与流图157
6.4.1 基本块157
6.4.2 程序流图158
6.5 基本块内的优化159
6.6 循环优化160
6.6.1 必经结点161
6.6.2 回边及循环的查找162
6.6.3 循环的优化162
6.7 习题166
第7章 运行时存储空间的组织与分配168
7.1 存储组织168
7.1.1 运行时内存的划分168
7.1.2 活动记录169
7.1.3 存储分配策略170
7.1.4 变量的存储分配170
7.2 栈式分配172
7.2.1 只含半静态变量的栈式分配172
7.2.2 半动态变量的栈式分配174
7.3 嵌套子程序的存储组织175
7.4 参数传递方式178
7.4.1 参数传递的语义模型178
7.4.2 参数传递的实现模型179
7.5 习题180
第8章 LCC语言编译程序的实现183
8.1 LCC语言简介183
8.2 词法分析184
8.3 语法分析187
8.3.1 LCC语言文法说明187
8.3.2 YACC与Lex之间的约定190
8.3.3 抽象语法树结点设计191
8.3.4 构建抽象语法树192
8.3.5 文法动作说明195
8.4 语义分析198
8.4.1 符号表的实现198
8.4.2 语义检查202
8.4.3 数组设计与检查202
8.5 中间代码生成204
8.5.1 LLVM代码生成接口204
8.5.2 LCC语言的代码生成框架207
8.5.3 表达式的代码生成209
8.5.4 输入输出语句的代码生成213
8.6 LCC语言代码运行测试217
8.6.1 变量作用域测试217
8.6.2 控制语句测试218
8.6.3 整型数组测试220
8.6.4 字符串数组测试221
8.7 习题222
附录 缩略语223
参考文献224
热门推荐
- 1373102.html
- 3315021.html
- 1770849.html
- 1397335.html
- 807296.html
- 2479078.html
- 2258099.html
- 2008797.html
- 3467436.html
- 1171804.html
- http://www.ickdjs.cc/book_2311611.html
- http://www.ickdjs.cc/book_3551609.html
- http://www.ickdjs.cc/book_1849477.html
- http://www.ickdjs.cc/book_3314742.html
- http://www.ickdjs.cc/book_917204.html
- http://www.ickdjs.cc/book_3554971.html
- http://www.ickdjs.cc/book_2100372.html
- http://www.ickdjs.cc/book_843275.html
- http://www.ickdjs.cc/book_2076747.html
- http://www.ickdjs.cc/book_1160985.html