图书介绍
可变目标C编译器 设计与实现pdf电子书版本下载
- (美)克里斯多夫 W.弗雷泽(Christopher W.Fraser);(美)戴维·R.汉森(David R.Hanson) 著
- 出版社: 北京:机械工业出版社
- ISBN:7111552581
- 出版时间:2016
- 标注页数:423页
- 文件大小:68MB
- 文件页数:434页
- 主题词:
PDF下载
下载说明
可变目标C编译器 设计与实现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 设计 7
1.5 公共声明 11
1.6 语法规范 13
1.7 错误 14
深入阅读 15
第2章 存储管理 16
2.1 内存管理接口 16
2.2 分配区的表示 17
2.3 空间分配 18
2.4 空间释放 20
2.5 字符串 20
深入阅读 23
练习 23
第3章 符号管理 26
3.1 符号的表示 27
3.2 符号表的表示 29
3.3 作用域的改变 32
3.4 查找和建立标识符 32
3.5 标号 33
3.6 常量 34
3.7 产生的变量 37
深入阅读 38
练习 38
第4章 类型 40
4.1 类型表示 40
4.2 类型管理 42
4.3 类型断言 45
4.4 类型构造器 46
4.5 函数类型 48
4.6 结构和枚举类型 49
4.7 类型检查函数 52
4.8 类型映射 56
深入阅读 56
练习 57
第5章 代码生成接口 59
5.1 类型度量 59
5.2 接口记录 60
5.3 符号 60
5.4 类型 61
5.5 dag操作 61
5.6 接口标志 65
5.7 初始化 67
5.8 定义 67
5.9 常量 69
5.10 函数 70
5.11 接口绑定 72
5.12 上行调用 73
深入阅读 75
练习 75
第6章 词法分析器 77
6.1 输入 77
6.2 单词的识别 81
6.3 关键字的识别 85
6.4 标识符的识别 86
6.5 数字的识别 87
6.6 字符常量和字符串的识别 92
深入阅读 95
练习 95
第7章 语法分析 97
7.1 语言和语法 97
7.2 二义性和分析树 98
7.3 自上而下的语法分析 100
7.4 FIRST和FOLLOW集合 102
7.5 编写分析函数 104
7.6 处理语法错误 106
深入阅读 110
练习 111
第8章 表达式 112
8.1 表达式的表示 112
8.2 表达式分析 115
8.3 C语言表达式的分析 117
8.4 赋值表达式 119
8.5 条件表达式 121
8.6 二元表达式 122
8.7 一元表达式和后缀表达式 124
8.8 基本表达式 127
深入阅读 130
练习 130
第9章 表达式语义 132
9.1 转换 132
9.2 一元操作符和后缀操作符 136
9.3 函数调用 141
9.4 二元操作符 147
9.5 赋值操作 150
9.6 条件操作 154
9.7 常量折叠 156
深入阅读 165
练习 165
第10章 语句 167
10.1 代码的表示 167
10.2 执行点 170
10.3 语句的识别 171
10.4 if语句 173
10.5 标号和goto语句 174
10.6 循环 176
10.7 switch语句 178
10.8 return语句 188
10.9 管理标号和跳转指令 191
深入阅读 194
练习 194
第11章 声明 196
11.1 转换单元 196
11.2 声明 197
11.3 声明符 206
11.4 函数声明符 210
11.5 结构说明符 215
11.6 函数定义 222
11.7 复合语句 229
11.8 结束处理 236
11.9 主程序 238
深入阅读 240
练习 241
第12章 中间代码的生成 243
12.1 消除公共子表达式 244
12.2 构建节点 248
12.3 控制流 250
12.4 赋值语句 256
12.5 函数调用 259
12.6 强制计算顺序 261
12.7 驱动代码生成 263
12.8 删除多次引用的节点 267
深入阅读 272
练习 273
第13章 构造代码生成器 275
13.1 代码生成器的组织 276
13.2 接口扩展 277
13.3 上行调用 279
13.4 节点扩展 280
13.5 符号扩展 282
13.6 帧的布局 284
13.7 生成块复制的代码 287
13.8 初始化 289
深入阅读 290
练习 290
第14章 选择和发送指令 291
14.1 规范 292
14.2 标记树 294
14.3 化简树 295
14.4 代价函数 302
14.5 调试 303
14.6 发送器 304
14.7 寄存器定位 309
14.8 指令选择的协调 313
14.9 共享规则 314
14.10 编写规范 315
深入阅读 316
练习 316
第15章 寄存器分配 318
15.1 组织结构 318
15.2 寄存器状态跟踪 319
15.3 寄存器分配 322
15.4 寄存器溢出 327
深入阅读 334
练习 334
第16章 MIPS R3000代码的生成 335
16.1 寄存器 336
16.2 指令的选取 339
16.3 函数的实现 349
16.4 数据的定义 355
16.5 块的复制 359
深入阅读 360
练习 360
第17章 SPARC代码的生成 362
17.1 寄存器 363
17.2 指令的选取 366
17.3 函数的实现 378
17.4 数据的定义 384
17.5 块的复制 386
深入阅读 387
练习 387
第18章 X86代码的生成 389
18.1 寄存器 390
18.2 指令的选取 394
18.3 函数的实现 407
18.4 数据的定义 409
深入阅读 412
练习 412
第19章 回顾 413
19.1 数据结构 413
19.2 接口 414
19.3 句法和语义分析 415
19.4 代码生成和优化 416
19.5 测试和验证 416
深入阅读 417
参考文献 419