本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
本书的文字图片由中国恐龙网的国内、美国以及澳大利亚分部的几位编辑通力合作完成。中国恐龙网定位于高端科普层,编辑时注重可读
《寿险新时代:通往财务自由的五堂保险课》内容简介:近年来,保险行业面临转型和改革之痛,旧的定义逐步退市,新时代的保险观念呼
《欧洲文艺复兴》内容简介:本书是为综合类大学通识教育所编写的教材,主要介绍了欧洲文艺复兴艺术的历史地位、发展的社会环境以及
IDAPro(交互式反汇编器专业版)是应用最广泛的静态反汇编工具,在IT领域有着举足轻重的地位,但其文档资料一直都不够完善,在ID
《Solr权威指南(上卷)》内容简介:全书分为上下两卷,总共16章,涵盖了Solr各个方面的知识点。本书从前到后按内容的难易程度以循
《文字设计的原理》内容简介:在平面设计中,文字设计的重要性无需多说。各种设计作品中都要添加文字。而文字又是信息传递的重要
《iOS 8开发指南》内容简介:苹果公司的iOS系统从诞生之日起到现在,在短短几年时间内,凭借内置有iOS系统的iPhone和iPad的很好的用
《Photoshop人像摄影后期处理技法100问(修订版)》内容简介:本书主要讲解人像修图师需要掌握的修图技巧,具有非常强的专业性和实
创意的photoshop artwork 内容简介 1:呈现*新锐的创意思路和*精湛的操作技巧,展示如何将优秀的创意融合在精致的视觉画面中,带您领略顶级创意设计...
《新能源和可再生能源发展与产业化研究》对新能源和可再生能源的含义和分类进行了理论界定,涉及类别主要包括太阳能、地热能、生
在学校、学院中,在工业、零售业与大众媒体领域中,设计这个话题,变得越来越热门。数年来在英国政府不温不火的支持中,也大大提
《天使的号角》内容简介:一个新的杀手正在行动—— 凶手的犯罪手段令人不寒而栗。他蛰伏在阴暗潮湿的地下室和纽约市的地下通道,用
Designersanddevelopers,createsmashingappsforAndroiddevicesIfyouredevelopingappli...
《我们今天怎样做父亲》内容简介:回望晚清民国,我们发现了一个教育的传奇:一个偏僻的小山村,一个寒素之家,竟然诞生出了中国近
《中国木帆船》内容简介:在本书中,何国卫教授将几十年来研究中国古船史的思考与心得进行了系统地整理与总结,是国内首次专门就中
《程序与民主》是意大利著名政治学家、法学家皮罗·克拉玛德雷(Pierocalamandrei)(1889-1956)讨论现代诉讼程序的著作。该书篇
本书通俗易懂,有高中数学基础即可看懂,同时结合大量案例与漫画,将高度抽象的数学、算法与应用,与现实生活中的案例和事件一一
Touchandgesturaldeviceshavebeenhailedasnextevolutionarystepinhuman-computerinter...
计算机网络的发展正改变着整个社会,这种改变影响了人们的工作、生活和受教育的方式,甚至渗透到我们每个人的行为中。网络已成为
“观念”是一切行动的开始,《100个改变平面设计的伟大观念》是由当今最顶尖的艺术指导之一、平面设计畅销书作家撰写,让我们轻松