本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
《莆田史话》内容简介:莆田地处东南沿海,历史悠久、人文鼎盛,素有“海滨邹鲁、文献名邦”之誉,也是闻名世界的“海上和平女神”
《智能科学与技术本科专业系列教材•神经网络设计方法与实例分析》从神经网络设计和应用实践出发,介绍了10种常见的人工神经网络的
《AdobeFlashCatalystCS5交互设计大师之路(全彩)》内容简介:FlashCatalyst就像是设计与开发人员之间的一座桥梁,它可以让设计者
《大交通时代:行业数字化转型之道》内容简介:本书行业数字化转型之道,详细阐述了如何将5G、AI、大数据、云计算等新ICT技术,与交
《短距离无线数据通信入门与实战》分别以目前世界上广泛应用的8051内核无线片上系统(SoC)NRF9E5、NRF24E1、CCl010以及无线芯片NR
《AJAXHACKS中文版:创建快速响应Web站点的工具和技巧》完全挖掘出了Ajax技术的优点,以手把手的方式教您如何揭开Ajax的神秘面纱。
《众妙之门——自由网站设计师成功之道》出自世界知名Web设计网站SmashingMagazine,其内容是全球顶级设计师的精华总结。全书共4
《商业银行资产负债管理实践》内容简介:本书是在学习借鉴国际先进商业银行资产负债管理理论和实践的基础上,对中国商业银行多年资
本书系统地介绍了现代通信的基本原理,主要讲述了模拟通信系统与数字通信系统的基本传输原理及性能分析,重点讨论了数字通信系统
《养命之方》内容简介:喜马拉雅FM健康类节目“聊聊张锡纯医案——罗大伦讲名医张锡纯传家食疗方”破亿次播放!传世经典《医学衷中
本书是为站长群体编写的一本入门级的书,它的定位是:对网站制作不清楚、对网站程序不了解、想成为一名站长的人。从基本的网站概
《去湿地观鸟》内容简介:米娅非常开心地去湿地秋游,她看到了各种不同的鸟类,还意外发现了被捕鸟网困住的震旦鸦雀。她将可怜的震
《Web开发系列丛书·Web开发解决方案:应用Ajax、Apl、库和托管服务》金额ishaoruhe建立以个高校的WEB开发环境,在打下坚实基础之
《HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用》详尽地讲解和分析了HTML5中的所有新特性和核心技术,能为有一定HTML基
《儿童歌曲演唱教程 少儿版》内容简介:《儿童歌曲演唱教程(少儿版)》适合幼儿园和小学音乐教学使用。作者:尤静波、高歌作品目录
视频中人的动作分析与识别 本书特色 1.阐述动作分析基本概念和基础知识2.三维人体姿态估计、动作识别与定位经典方法3.多视角动作识别、跨视角动作识别、视角无关动...
《拉动力》发人深思:1937年,美国企业的存活期平均为75年,如今已降为15年;在创新不断更迭的今日,一不小心就会被人甩在脑后…
《颜真卿行书三稿》内容简介:颜真卿行草书对后世影响之大,几乎能与”二王”比肩。将篆隶笔法应用于行草,颜真卿于二王潇散简远、
数据聚类 本书特色 聚类是数据挖掘领域的一个重要分支。本书全面系统地介绍聚类的主要方法。首先,对涉及聚类的各个方面进行简略的综述;然后,对各类聚类算法进行较详细...
马中红,江苏苏州人。苏州大学凤凰传媒学院教授,博士生导师,苏州大学新媒介与青年文化研究中心主任。主要从事新媒介青年文化研