本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
《纽约时报》著名专栏作家兰德尔•斯特罗斯(RandallStross)是被允许进入高度机密的谷歌总部从事采访活动的第一人,在本书中,他
《文化的利用和再创造》内容简介:本书以区域宗教为研究对象,考察在儒学文化语境,天主教传入所带来的各种冲击,以及在基础上所形
《音乐与心性:艺以修心的音乐教育哲学》内容简介:音乐艺术是人类具有普遍性的文化样式,是一个可以贯通古今、连结中西的文化领域
《不教一日闲过:回忆齐白石》内容简介:齐白石是融诗、书、画、印为一体的艺术大师,是二十世纪唯一被选为世界文化名人的中国艺术
《家庭电工一本通(第2版)》内容简介:本书内容包括家庭安全用电早知道,家庭用电必备工具,家庭电工看图,家庭照明安装,家用电器
《庆典舞曲》内容简介:《武汉音乐学院“音乐创作·湖北省协同创新中心”作曲家作品系列·庆典舞曲:钢琴与乐队》作品试图以快速旋
《建筑师与设计师视觉笔记》旨在鼓励视觉表达,其理念基于这样一种观点,即视觉修养与文字修养同等重要。为了开拓表达视觉信息的
此刻呈现在你面前的是这样一本书:它专为非设计专业的你准备,无需任何设计基础即可阅读;它既能让你的PPT倍儿有面子,又能为你的
本书按历史顺序,以丝绸品种和纹样的演变为主线,系统地考证与阐述我国丝绸从起源到公元20世纪这七千年间丝绸织绣艺术和工艺科技
《云端架构:基于云平台的41种可复用的架构最佳实践》内容简介:云计算发展多年,应用领域变得越来越广泛,通过整理云计算解决方案
krzysztofcwalina微软公司公共语言运行库(clr)的项目经理。他曾为.net框架的首个版本设计api,并负责框架中的多个名字空间,包
Thistextbooktakesaninnovativeapproachtotheteachingofclassicalmechanics,emphasizi...
InArchiveFever,JacquesDerridadeftlyguidesusthroughanextendedmeditationonremembra...
《那颗星星不在星图上:寻找太阳系的疆界》内容简介:关于太阳系及其行星的故事的书不少,这本绝对是质量最高的一本。作者文笔清新
Whetheryourepromotingyourbusinessorwritingaboutyourtraveladventures,"HeadFirstWo...
内容简介:MongoDB是为处理大数据而生的一款面向文档的数据库,由10gen公司开发和维护。本书作者KyleBanker曾在该公司负责MongoD
《价值发现》内容简介:市场上关于价值投资的图书多如牛毛,但绝大部分偏于理念阐述而缺乏实战案例,读者即便理解了价值投资理念,
《华为HCIA路由交换认证指南》内容简介:本书是针对HCIA最新考试大纲编写的认证教材。全书共分为15章,首先介绍了计算机网络的产生
《VisualC#2005从入门到精通/微软技术丛书》:微软技术丛书系列之一,建议一读!MicrosoftVisualC#功能强大、使用简单。本书全面介
《云游戏》内容简介:本书从游戏产业发展的历程、规律和现状开始讲起,以时间为轴,快速介绍了整个游戏产业的发展脉络,让读者清晰