本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
遥感应用分析原理与方法-(第二版) 本书特色 本书是一本全面系统论述遥感原理及其应用分析方法的基础理论著作。全书共16章,包括三大部分内容。**部分:第1至第5...
《礼义之邦》内容简介:礼仪是礼的形式,礼义则是礼的本质。所有礼仪活动或者礼仪程序的背后,都蕴含有特定的道德认同、价值导向、
ThisbookwillintroduceyoutothePythonprogramminglanguage.It’saimedatbeginningprogr...
本书在介绍无线传播理论的基础上对Cdma2000以及WCDMA中先进的关键技术进行了详细的介绍,其中包括日趋成熟的信道编码、调制技术,
《汇编语言:基于linux环境(第3版)》是风靡美国的经典汇编语言畅销书籍的最新版,美国计算机领域著名作者jeffduntemann的力作。
CX5478中文版PotoshopCS3入门到精通(普及版) 本书特色 海量的内容:上千个photoshop知识点,数百个注意、提示与技巧,近百个示例讲解,为您...
智能手机故障检测与维修实战技巧全图解 本书特色本书以手机维修现场检测实操及图解的方式,系统地讲解了维修工具的使用方法、手机电路图读图技能、手机元器件故障检修的检...
《OpenCV 4.5计算机视觉开发实战:基于Python》内容简介:OpenCV是一个跨平台计算机视觉和机器学习软件库,也是计算机视觉领域的开
五笔字型速查字典 本书特色 《五笔字型速查字典》适合广大计算机初学者、企业文秘人员及专业文字录入人员等使用。五笔字型速查字典 内容简介 本字典列出了6763个国...
傻博士超经典问答3000例(1CD) 目录 PART 1 电脑故障诊断与导读 电脑硬件故障的种类 电脑软件故障的种类 病毒、木马故障排除原则 电脑故障的排除原则...
《企业级Kubernetes应用》内容简介:Kubernetes从2015年7月21日发布1.0版本,经过三年多的时间不断发展至今,其作为开源的容器应用
《布克·华盛顿与杜波依斯的思想之争及其对非裔政治领袖的影响(英文版)》内容简介:20世纪初,布克·华盛顿与杜波依斯就非裔美国
《外语能力标准的国别研究:加拿大与英国》内容简介:本书主要研究了英国和加拿大的语言能力标准。加拿大篇从语言能力标准的概述、
本书是国内外业界广泛关注的7卷本《计算机程序设计艺术》第2卷的最新版。本卷对半数值算法领域做了全面介绍,分“随机数”和“算
《中国反电信网络诈骗蓝皮书(2016)》内容简介:本蓝皮书共分为“我国电信网络诈骗基本情况”“我国电信网络诈骗犯罪的成因”“打
《Linux内核观测技术BPF》内容简介:本书是一本面向系统工程师的实践指南,皆在帮助他们获得Linux内核中BPF虚拟机的专业知识。通过
5所世界著名设计学府:哈佛大学、哥伦比亚大学、库珀联盟、麻省理工学院、宾夕法尼亚大学,5个精彩纷呈的故事。学习设计到底是追
kh10065 3dsmax2010从新手到高手 本书特色 《3ds Max 2010从新手到高手》的内容简单易学的建模技巧:详细介绍基本造型及修改立体对象的操...
BeginningDjangoE-Commerceguidesyouthroughproducingane-commercesiteusingDjango,th...
《快学熟用D3》内容简介:本书所讲的D3.js其实是数据可视化这一门类的库,市面上讲解它的书籍早已汗牛充栋。这本书虽然名字是“D3