本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
本书由英国著名的出版社LaurenceKing提供版权,中国青年出版社翻译出版。无论您是尚处于书籍设计学习阶段的初学者,还是有实际经
全国计算机等级考试最新真考题库模拟考场及详解·二级MSOffice高级应用 内容简介 本书是针对2019年全国计算机等级二级考试编写的辅导用书。本书严格按照新版...
Oracle达人修炼秘籍-Oracle 11g数据库管理与开发指南 本书特色 ·宏观上清晰呈现oracle数据库的知识体系和总体框架,微观上系统讲解oracle...
More Exceptional C++(英文版) 内容简介 本书以英文版的形式,介绍了MoreExceptionalC,通过40个问题帮助你理解关于C软件设计...
《世界文明孤独史(上下册)》内容简介:本书旨在探索世界诸文明包括华夏文明的根源,凭借史前灵知体系(包括灵知义理、灵知神话、
C++Primer中文版第4版 内容简介 作为目前业界广泛使用的编程语言,C++可谓包罗万象、博大精深。20年来,讲述C++的图书早已经汗牛充栋、层出不穷,但其...
《嵌入式系统开发之道:菜鸟成长日志与项目经理的私房菜》用平易朴实的语言,以一个完整的嵌入式系统的开发流程为架构,通过一位“
《中国人力资源和社会保障发展研究》内容简介:本书立足于新中国成立以来人力资源和社会保障的历史发展脉络,系统梳理中国企业人力
《揭秘Angular2》第一部分从前端的故事起点说起,然后对Angular以及TypeScript进行了简单的介绍,接着通过一个通讯录例子让读者快
《现代货币理论在中国》内容简介:本书是一本主要由中国学者撰写的现代货币理论的入门书。书中从应对时代挑战角度解读现代货币理论
《海蒂的花园》内容简介:任何时候花园都不会尽如人意,无论付出多少努力;任何时候花园里都能找到美好,无论历经多少挫折。在连餐
《世界3:海外中国艺术史研究》内容简介:20世纪后期以来,中国艺术史研究状况发生了显著的变化。那是西方新艺术史集中影响中国艺术
FromtheinventorofthePalmPilotcomesanewandcompellingtheoryofintelligence,brainfun...
《美国玩全攻略(图文全彩版)》内容简介:本书为一本美国玩全攻略旅游达人宝典,共分为10章,内容包括玩转美国准备、华盛顿特区玩
循环渐进SLC500控制系统与PaneIView训练课 本书特色 本书是“罗克韦尔自动化技术丛书”之一,该书分7个章节,针对slc500控制器系统和panelv...
《我家走出四博士》内容简介:本书是一部包括教育智慧、教育艺术的家庭教育指导书。本书作者李振霞在养育四个孩子的漫长过程中不断
《Spark快速大数据分析》内容简介:本书由Spark及核心成员共同打造,讲解了网络大数据时代应运而生的、能高效迅捷地分析处理数据的
Ifyouknowhowtoprogram,youhavetheskillstoturndataintoknowledgeusingthetoolsofprob...
《中国舆情指数报告(2016~2017)》内容简介:本书是中国社会科学院中国舆情调查实验室及中国舆情调查与研究联盟成员机构*研究成果
《银河系边缘的小失常》内容简介:继《突然,响起一阵敲门声》之后,短篇小说大师埃特加·凯雷特创作的全新故事集。没有人能像埃特