本书系统地介绍了可变目标ANSIC编译器1cc的设计方法和实现技术。1cc是一个实用的编译器,能够不同的目标机器生成代码。本书结合1cc的具体实现,详细讲术了存储管理、符号表、词法分析、语法分析、中间代码生成、优化、目标代码产生等编译程序的各个部分。全书共分19章,在各章之后均附有练习。
与其他介绍编译技术的教材相比,本书特色鲜明,实用性强,适合作为高等院校计算机专业的编译原理课程的教材或参考书,对从事编译相关工作的技术人员也有很好的参考价值。
第1章 引论
1.1 文本程序
1.2 如何使用本书
1.3 概述
1.4 设计
1.5 公共声明
1.6 语法规范
1.7 错误
深入阅读
第2章 存储管理
2.1 内存管理接口
2.2 分配区的表示
2.3 空间分配
2.4 空间释放
2.5 字符串
深入阅读
练习
第3章 符号管理
3.1 符号的表示
3.2 符号表的表示
3.3 作用域的改变
3.4 查找和建立标识符
3.5 标号
3.6 常量
3.7 产生的变量
深入阅读
练习
第4章 类型
4.1 类型表示
4.2 类型管理
4.3 类型断言
4.4 类型构造器
4.5 函数类型
4.6 结构和枚举类型
4.7 类型检查函数
4.8 类型映射
深入阅读
练习
第5章 代码生成接口
5.1 类型度量
5.2 接口记录
5.3 符号
5.4 类型
5.5 dag操作
5.6 接口标志
5.7 初始化
5.8 定义
5.9 常量
5.10 函数
5.11 接口绑定
5.12 上行调用
深入阅读
练习
第6章 词法分析器
6.1 输入
6.2 单词的识别
6.3 关键字的识别
6.4 标识符的识别
6.5 数字的识别
6.6 字符常量和字符串的识别
深入阅读
练习
第7章 语法分析
7.1 语言和语法
7.2 二义性和分析树
7.3 自上而下的语法分析
7.4 FIRST和FOLLOW集合
7.5 编写分析函数
7.6 处理语法错误
深入阅读
练习
第8章 表达式
8.1 表达式的表示
8.2 表达式分析
8.3 C语言表达式的分析
8.4 赋值表达式
8.5 条件表达式
8.6 二元表达式
8.7 一元表达式和后缀表达式
8.8 基本表达式
深入阅读
练习
第9章 表达式语义
9.1 转换
9.2 一元操作符和后缀操作符
9.3 函数调用
9.4 二元操作符
9.5 赋值操作
9.6 条件操作
9.7 常量折叠
深入阅读
练习
第10章 语句
10.1 代码的表示
10.2 执行点
10.3 语句的识别
10.4 if 语句
10.5 标号和goto语句
10.6 循环
10.7 switch语句
10.8 返回语句
10.9 管理标号和跳转指令
深入阅读
练习
第11章 声明
11.1 转换单元
11.2 声明
11.3 声明符
11.4 函数声明符
11.5 结构说明符
11.6 函数定义
11.7 复合语句
11.8 结束处理
11.9 主程序
深入阅读
练习
第12章 中间代码的生成
12.1 消除公共子表达式
12.2 构建节点
12.3 控制流
12.4 赋值语句
12.5 函数调用
12.6 强制计算顺序
12.7 驱动代码生成
12.8 删除多次引用的节点
深入阅读
练习
第13章 构造代码生成器
13.1 代码生成器的组织
13.2 接口扩展
13.3 上行调用
13.4 节点扩展
13.5 符号扩展
13.6 帧的布局
13.7 生成块复制的代码
13.8 初始化
深入阅读
练习
第14章 选择和发送指令
14.1 规范
14.2 标记树
14.3 化简树
14.4 代价函数
14.5 调试
14.6 发送器
14.7 寄存器定位
14.8 指令选择的协调
14.9 共享规则
14.10 编写规范
深入阅读
练习
第15章 寄存器分配
15.1 组织结构
15.2 寄存器状态跟踪
15.3 寄存器分配
15.4 寄存器溢出
深入阅读
练习
第16章 MIPS R3000代码的生成
16.1 寄存器
16.2 指令的选取
16.3 函数的实现
16.4 数据的定义
16.5 块的复制
深入阅读
练习
第17章 SPARC代码的生成
17.1 寄存器
17.2 指令的选取
17.3 函数的实现
17.4 数据的定义
17.5 块的复制
深入阅读
练习
第18章 X86代码的生成
18.1 寄存器
18.2 指令的选取
18.3 函数的实现
18.4 数据的定义
深入阅读
练习
第19章 回顾
19.1 数据结构
19.2 接口
19.3 句法和语义分析
19.4 代码生成和优化
19.5 测试和验证
深入阅读
参考文献
《会带人,才有高效团队》内容简介:针对管理者在打造团队时的困惑,作者通过多年的研究与实践,总结出一个适用于高效团队的衡量标
【本书目录】Introduction7WhyVintage?THeClothes14Greatvintagepieceswornbywomenlikeyou.E...
Tmall商家成长部(peixun.tmall.com)诞生于天猫旗下,肩负整个天猫电商成长与发展的重任,担负着中国电子商务转型与升级的使命。
《银行业知识管理实战精析》内容简介:本书从国际通用的知识管理体系出发,引入55个银行业知识管理案例,案例类型覆盖大型商业银行
Helveticaisasans-seriftypeface.Itissimpleandclean,andcommonlyseeninadvertising,s...
《人文日新》内容简介:本书致力于帮助学生积累文学知识,增强文学感悟力,提升文学趣味,提高文学素养。在传统的诗歌、散文、戏剧
本书为零基础人士量身编写,文章内容和教程步骤都通俗易懂,适合UI设计爱好者的非专业人士或从事平面设计、网页设计等的专业人士
《Fortran95程序设计》主要讲述了Fortran95程序设计的方法,包括数值计算、计算机绘图、窗口程序设计、与VisualC/VisualBasic/De
Inthepast,automationofthepowernetworkwasaveryspecializedareabutrecentlyduetodere...
本书详细介绍了利用PHP+MySQL开发常见类型Web应用程序的完整设计和编码技术,并对整体设计与关键代码给予了细致、深入的剖析。其
数字逻辑基础与Verilog设计(原书第2版)(附光盘) 内容简介 本书系统介绍数字逻辑基本概念与实际应用。主要内容包括:逻辑电路、组合逻辑、算术运算电路、存储...
《世界现役制导武器全解析(上篇)》内容简介:导弹是一种携带战斗部、依靠自身动力装置推进、由制导系统导引控制飞行航迹的飞行器
方兴东,清华大学博士。1996年起开始涉足互联网领域,执著于中国互联网的推动,被《南方周末》冠为中国的“网络旗手”。1999年9月
《JavaScript语法与范例辞典》通过大量实例对JavaScript的语法进行了详细讲解,内容包括JavaScript基础知识、JavaScript对象、H...
政府地理信息系统 本书特色 本书内容丰富,学术性和技术性强。主要读者对象是:政府机关从事政务信息化和电子政务建设的领导同志和技术人员,政府业务部门从事GIS研究...
2015,中国以“一带一路”为纽带,选择和平与共享的方式,重新缔造与世界的关系;抗战胜利日大阅兵,对应的是70年前中国以血肉之
JenniferHudsonJenniferHudsonisanauthorinthefieldsofcontemporarydesignandarchitec...
《中国特色消费经济理论与实证研究》内容简介:消费问题是个热门话题,不仅得到广大群众的关注,而且受到党和政府的高度重视。本书
《未来的企业:中国企业高质量发展之道》内容简介:市场主体是国民经济的细胞,是整个国民经济体系的基础环节。“黑天鹅”也好,“
《汽车标志大全.德国、法国、俄罗斯篇》内容简介:汽车品牌和它的标志是一个不可分割的整体,汽车品牌对应着标志。品牌名即是可以读