
- 作 者:邹昌伟编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2016
- ISBN:9787302426103
- 标注页数:392 页
- PDF页数:404 页
请阅读订购服务说明与试读!
订购服务说明
1、本站所有的书默认都是PDF格式,该格式图书只能阅读和打印,不能再次编辑。
2、除分上下册或者多册的情况下,一般PDF页数一定要大于标注页数才建议下单购买。【本资源404 ≥392页】
图书下载及付费说明
1、所有的电子图书为PDF格式,支持电脑、手机、平板等各类电子设备阅读;可以任意拷贝文件到不同的阅读设备里进行阅读。
2、电子图书在提交订单后一般半小时内处理完成,最晚48小时内处理完成。(非工作日购买会延迟)
3、所有的电子图书都是原书直接扫描方式制作而成。
第1章 基础知识 1
1.1 语言、文法与递归 1
1.2 一个较复杂的文法 4
1.3 由文法到分析器 7
1.3.1 表达式 7
1.3.2 声明 15
1.3.3 语句 21
1.4 UCC编译器预览 28
1.4.1 UCC的使用 28
1.4.2 UCC驱动器 31
1.5 结合C语言来学汇编 35
1.5.1 汇编语言简介 35
1.5.2 整数运算 42
1.5.3 浮点数的算术运算 48
1.5.4 浮点数之间的比较操作 51
1.5.5 指针、数组和结构体 53
1.6 C语言的变量名、数组名和函数名 55
1.7 C语言的变参函数 58
1.8 本章习题 65
第2章 ucc编译器的基本模块 66
2.1 从Makefile走起 66
2.2 词法分析 69
2.3 UCC编译器的内存管理 74
2.4 C语言的类型系统 81
2.5 UCC编译器的符号表管理 91
2.6 本章习题 100
第3章 语法分析 101
3.1 C语言的表达式 101
3.1.1 条件表达式和二元表达式 101
3.1.2 一元表达式、后缀表达式和基本表达式 111
3.2 C语言的语句 122
3.3 C语言的外部声明 131
3.3.1 声明和函数定义 131
3.3.2 与声明有关的几个非终结符 142
3.3.3 声明说明符和声明符 147
3.4 本章习题 166
第4章 语义检查 167
4.1 语义检查简介 167
4.2 表达式的语义检查 168
4.2.1 表达式的语义检查简介 168
4.2.2 数组索引的语义检查 173
4.2.3 基本表达式的语义检查 179
4.2.4 函数调用的语义检查 184
4.2.5 成员选择运算符的语义检查 198
4.2.6 相容类型 201
4.2.7 一元表达式的语义检查 209
4.2.8 二元表达式、赋值表达式和条件表达式的语义检查 216
4.3 语句的语义检查 226
4.4 声明的语义检查 231
4.4.1 类型结构的构建 231
4.4.2 结构体的类型结构 245
4.4.3 结构体和数组的初始化 255
4.4.4 内部连接和外部连接 267
4.4.5 外部声明的语义检查 270
4.5 本章习题 274
第5章 中间代码生成及优化 276
5.1 中间代码生成简介 276
5.2 表达式的翻译 283
5.2.1 布尔表达式的翻译 283
5.2.2 公共子表达式 293
5.2.3 通过“偏移”访问数组元素和结构体成员 301
5.2.4 后缀表达式的翻译 305
5.2.5 赋值表达式的翻译 310
5.2.6 一元表达式及其他表达式的翻译 317
5.3 语句的翻译 319
5.3.1 if语句和复合语句的翻译 319
5.3.2 switch语句的翻译 324
5.4 UCC编译器的优化 334
5.4.1 删除无用的临时变量和优化跳转目标 334
5.4.2 基本块的合并 339
5.5 本章习题 342
第6章 汇编代码生成 344
6.1 汇编代码生成简介 344
6.2 寄存器的管理 351
6.3 中间代码的翻译 358
6.3.1 由中间代码产生汇编指令的主要流程 358
6.3.2 为算术运算产生汇编代码 367
6.3.3 为跳转指令产生汇编代码 371
6.3.4 为函数调用与返回产生汇编代码 375
6.3.5 为类型转换产生汇编代码 382
6.3.6 为取地址产生汇编指令 387
6.4 本章习题 390
参考文献 391
后记 392