本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
《网页界面设计创意指南》内容为:艺术设计思维不仅仅是单纯的形象思维,而是实现设计成果制作流程与设计成果美学价值提升的艺术
本书用丰富的图示,从最小二乘法出发,对基于最小二乘法实现的各种机器学习算法进行了详细的介绍。第Ⅰ部分介绍了机器学习领域的
《内容电商》内容简介:本书全面介绍了内容电商及内容电商各模块的具体内容。全书共分7章,第1章重点介绍内容电商的相关概念,其中
本书是一本平面艺术设计类专业教材。一共包含三大部分:PART01VI概述,主要介绍VI设计的历史发展和其发展价值和应用历史。PART02
《从零开始做播客》内容简介:在本书中,您将会学习哪种设备在何种预算下最适合播客,哪种软件最适合录制,还有一些关于开发播客节
3天学会电脑维修-(附赠多媒体光盘1张) 内容简介 在电脑的故障中,有80%左右是人为故障,即由于使用不当造成的,正确的使用习惯是电脑的保护神。使用不当包括电脑...
建筑是知性和理性的产物,完全承受着人们经年累月活动在其中,所以对于房间的布局必须仔细考虑,任何细节也不能放过。建筑是感性
《历史名镇:锦溪镇》内容简介:锦溪古镇,位于江苏省昆山市西南隅,因镇内一条彩若锦带的小溪而得名。锦溪素有“人文之乡”“生态
《书法美育的经典图释》内容简介:本书为陈振濂书法美育思想的“图像篇”,是针对书法美育的一次力行实践,对书法美育的推广与普及
《人生怎可安闲》内容简介:人在世间行走,不可孤芳自赏,亦不必委曲求全。山水虽无价,也不必谁人赐予四季风景。只要心有思慕,便
NCRE三级PC技术考试考点分析与全真训练 目录 前言**部分考前指导和全真试题分析第1章计算机基础知识1.1考试要点1.1.1计算机基础知识1.1.2数值信息...
《机器学习算法(原书第2版)》内容简介:本书介绍了数据科学领域常用的所有重要机器学习算法以及TensorFlow和特征工程等相关内容。
本书在简要介绍模拟通信原理的基础上,以数字通信原理为重点,讲述通信系统的组成、性能指标、工作原理、性能分析和设计方法。对
《公司法学(下)》内容简介:本书通过浅显的文字说明,配以具体案例,对董事的注意义务和忠诚义务、派生诉讼、征集投票代理权等国
《大写的历史:被遗忘的历史事件》内容简介:《左传》既然是战国初期才正式成书,而赵氏宗族又是晋国政治权力博弈中的最后胜利者,
《专业嵌入式软件开发:全面走向高质高效编程》分为6篇。硬件篇就嵌入式软件开发所需掌握的处理器概念进行了介绍。工具篇对make、
网络伴随我们的时间不算很长,然而因特网的流行和商业化的普及速度却是惊人的,这促使人类活动和社会的每个领域都发生了改变。我
《Node.js硬实战:115个核心技巧》是一本面向实战的Node.js开发进阶指南。作为资深专家,《Node.js硬实战:115个核心技巧》作者独
AutoCAD实用教程-(第3版)-(2010中文版) 本书特色 本教程主要包括实用教程和上机操作指导两部分。另外,每章的习题有助于弄清基本概念,*后还有模拟试...
《造型原本》是作者中央美术学院教授吕胜中以广受学生欢迎的“造型原本”课的讲稿为基础,结合大量作品实例,带读者发现各种风格