本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
《法律硕士联考考试大纲深度解析(非法学与法学通用)》内容简介:本书主要内容为法律硕士联考考试大纲的深度解析。本书综合考虑了
两难境地的明智抉择 内容简介 首先要说的是我深刻感到了中国软件行业的问题严重性,也特别同情中国共享软件作者的境遇。也学很多人会认为做软件的尤其是知名软件的厂商或...
CATIA V5R21产品工程师宝典-(也适合V5R20版)-(附2DVD) 本书特色 《catia v5r21产品工程师宝典(也适合v5r20版)》是从零开始...
《先学会爱自己,再遇见对的你》内容简介:在这本书出版之际,周梵与她先生的婚姻马上要进入第十个年头。从相爱到婚姻的十四年里,
《你听懂了没有》内容简介:“妙境只在自己意念的一转换间,人生的陷阱转眼就成为人生的福地。”——戴建业 这本随笔集精选戴教授的
《AIoT系统开发》内容简介:本书融合了人工智能和物联网两大热点技术,将人工智能中的优越方法应用到物联网的构建中,以形成更加智
IfyourenewtotheAndroidmobileoperatingsystem,LearningAndroidistheperfectwaytomast...
《运营之光》内容简介:本书尤其难得之处在于:它既对“什么是运营”这样的概念认知类问题进行了解读,又带有大量实际的工作技巧、
《中国式现代化论纲》内容简介:本书是学习和阐述党的二十大关于中国式现代化重大理论的经济学著作。本书在阐明世界现代化一般特征
曼纽尔·卡斯特是闻名世界的社会科学家,《网络社会-跨文化的视角》是他主编的探讨网络社会在不同文化和制度中的模式和动态的论
《市场营销:理论、案例与实训(第二版)》内容简介:本书系统地介绍了市场营销理论的基本框架和内容,详细阐述了市场营销学的最新
《网络推手运作揭秘:挑战互联网公共空间》是第一本运用参与观察法(Ethnography)深入研究网络推手运作的著作。作者采用网上资料搜
AdvancedLinuxProgrammingisdividedintotwoparts.ThefirstcoversgenericUNIXsystemser...
包包是最能突显个性的配饰!巴黎女生背什么样的包包,包包里面又有些什么呢?本书从包包设计师的空间和巴黎女生日常使用的包包这
《中华书局的企业制度(1912-1949)》内容简介:中华书局作为一家有着百余年历史的现代出版机构,拥有丰厚的底蕴与光荣的传统。本书
白色iPod为何热卖?郭台铭与尼采有什么关系?如何理解美学和风格的经济价值?什么是全球城市?设计为何是21世纪国家的国力指标?
Gardnersseminal1993accountofthepracticalapplicationsofMultipleIntelligencestheor...
《唤醒自己》内容简介:这是一部能够帮你做出正确决策的智慧之书。它帮你认清世界的本质,让你在择业、财富、人生选择、思维模式等
《上海城市公共开放空间与休闲研究》内容简介:城市公共开放空间是市民日常生活、工作、学习之余接触最多的场所,也是决定城市宜居
《中国城市包容度、流动人口与城市发展研究》内容简介:城市流动人口、城市产业发展、城市发展规模以及相关的城镇化问题、农民工问