本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
《深入理解Zabbix监控系统》内容简介:Zabbix是一个开源监控系统,在我国各类信息技术企业和金融企业中被广泛应用。本书主要从源码
本书是编程语言先驱者IvorHorton的经典之作,是C语言方面最畅销的图书品种之一。本书集综合性、实用性为一体,是学习C语言的优秀
《西湖梦寻注评》内容简介:《西湖梦寻》记杭州历史掌故、绘西湖风俗画卷,是晚明小品圣手张岱代表作之一。本书作者对张岱《西湖梦
《2014年GCT真题模拟题归类解析及知识点清单.语文分册》内容简介:本书对历年真题和自测试题都进行了详细的解析,尤其是对解题思路
《游园》内容简介:本书是“悦读日本”书系之一,从日本庭园的三大形态谈到各类庭园,包括佛家庭园、武家庭园、宫廷庭园、神社庭园
《Perl语言入门(第5版)》也就是大家所称道的“小骆驼书”,是Perl程序设计人员最为仰赖的启蒙读物之一。自1993年以来,这本《Per
Buildadjangocontentmanagementsystem,blog,andsocialnetworkingsitewithJamesBennett...
《糖王周毅翻糖蛋糕之古风集》内容简介:世界权威性翻糖蛋糕大赛中 获全场特等奖的作品——武则天,和醉卧忘忧境 首次公开出版,揭
《JavaScript经典实例》各节中的完整代码解决了常见的编程问题,并且给出了在任何浏览器中构建Web应用程序的技术。只需要将这些代
《机器学习技术及应用》内容简介:机器学习是人工智能的一个方向。它是一门多领域交叉学科,涉及概率论、统计学、矩阵论、神经网络
《肌肉训练实战宝典》内容简介:《肌肉训练实战宝典》是专为期望快速训练肌肉的读者所设计的入门级图书。通过专业教练的详细演示,
“双11”,诞生于杭州,成长于阿里,风行于互联网,成就于新经济,贡献于全世界。从2009年淘宝商城起,双11已历经八年。每年的双
网络协议分析 本书特色 本书基于作者近10年的教学经验编写而成。书中以tcp/ip协议族中构建internet所必需的、与我们交互*直观的协议作为主题,详细讨论...
东京字体指导俱乐部(TokyoTDC)最佳字体设计揭晓,本书收录了本次大奖所有奖项的作品。东京字体设计俱乐部成立于1987年,在今年
《孩子们的小提琴练习曲3(缩编版)》内容简介:本书包括了沃尔法特、开塞、马扎斯、顿特、克莱采尔的练习曲,这些练习曲接近按照技
《电子商务视觉营销》内容简介:在电子商务行业中合理使用视觉营销可以使店铺产生更多的流量,获得更高的转化率。视觉营销的好坏直
本书注重实践而又深入理论,由浅入深且详细介绍了Spring2.0框架的几乎全部的内容,并重点突出2.0版本的新特性。本书将为读者展示
《CSSWeb设计高级教程(第2版)》注重Web开发的实践,每章以现实中的Web站点为例,提供了很多容易理解的CSS技巧和技术,例如,如何
《神奇的烧脑思维游戏书》内容简介:这是一本全面提升孩子学习兴趣、阅读技巧、文学知识、科学素养、审美情趣的诚意之作。本书细分
内容简介《50双改变世界的鞋子》讲述了:鞋子是在现代社会里,不仅让你的双脚温暖而舒适,还传达着穿着者信息。它,无疑是最能蛊