本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
就像报纸、杂志等媒体无处不在一样,电脑了已经被应用于日常生活的各种场合。这个远处不在的电脑世界已成为艺术表现的媒体,带着
《中国舆情指数报告(2016~2017)》内容简介:本书是中国社会科学院中国舆情调查实验室及中国舆情调查与研究联盟成员机构*研究成果
.这几年,我们一直在喊“转型”,也有很多人给出了很多“经营新方向”,应该说见仁见智,但有一点需要说明,不应把转型想得、说得
设计与艺术关系密切,艺术史家往往是设计史家,本书是一个明证。以艺术史家著称的贡布里希对设计的思考与论述同样既引人入胜,又
环境设计人机工程学 本书特色 《环境设计人机工程学》由上海市重点学科建设项目资助环境设计人机工程学 目录 1 概论1.1 人机工程学概述1.2 人机工程学在热议...
《华章教育•ACM-ICPC世界总决赛试题解析(2004-2011年)》给出2004-2011年ACM国际大学生程序设计竞赛世界总决赛的所有试题的解析。
Asanearlyengineer,IwasontheinsideduringFacebooksexplosivegrowth.InInsideFacebook...
《张洁文集·散文随笔卷》内容简介:《散文随笔卷》在阅读过程中不仅能品味这些佳作的散文随笔卷思想性、艺术性,而且还能从中明白
《5000天后的世界》内容简介:在互联网商业化的5000天后,社交媒体(SNS)开始蓬勃兴起, 现在距SNS兴起又过了近5000天,接下来的5
网格是所有设计的基础,对设计师来说,学会运用网格是进行所有设计的基础。运用从一栏到多栏网格,与文字、色彩、图像及其他诸多
《思维导图阅读:能模仿的写作》内容简介:5篇名作精读、43幅场景式思维导图、27篇作文点评——本书用思维导图打通从阅读到写作的通
《经典剪发专业技术图解:短发(视频教学版)》内容简介:《经典剪发专业技术图解:短发》是专门针对段发剪发技术的详细图解教程,
《结构主义视域下中国货币政策的信贷渠道研究》内容简介:结构异质性是发展中国家经济的典型特征,这种异质性不仅是微观经济主体类
《代码整洁之道:程序员的职业素养》内容简介:本书是编程大师“Bob大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程
《数字解读中国》内容简介:改革开放以来,特别是党的十八大以来,中国经济建设和社会发展取得了举世瞩目的辉煌成就,中国稳居世界
TheHuman-ComputerInteractionHandbook:Fundamentals,EvolvingTechnologies,andEmergi...
抄袭检测研究 本书特色 《抄袭检测研究》以文本的抄袭检测为研究对象,探索了抄袭检测的语料库构建、Web环境下的抄袭源检索和高模糊抄袭检测的文本对齐的问题、数据、...
《中华史纲》内容简介:本书是人民出版社陆续出版的12册本《中国通史》的简本,作者为中国社会科学院荣誉学部委员、近代史所研究员
BIO(生态,有机)一词已经越来越多的出现在大众视野。蔬菜水果要吃BIO的,蜂蜜果酱要买BIO的,甚至护肤品都有BIO的。《生态花园
本书讲解了Linux操作系统的工作机制以及运行Linux系统所需的常用工具和命令。根据系统启动的大体顺序,本书更深入地介绍从设备管