本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
《金融创新与金融中心建设》内容简介:本书主要从金融创新的视角研究上海国际金融中心建设和发展问题。在分析上海国际金融中心建设
《智慧工业互联网》内容简介:本书对“互联网、人工智能、大数据”时代的内涵进行了解读,分析了工业云产生的背景,提出了工业云的
《断瘾》内容简介:本书作者银子是一名资深的心理医生,她长期从事青少年网瘾及教育方面的咨询和治疗,具有丰富的临床经验。在书中
《实用精神卫生诊疗技能手册》内容简介:本书涵盖了精神病学的重点内容,从精神检查评估、常见心理治疗方法、精神卫生与多学科诊疗
《财富自由从0到1》内容简介:个人的财富自由,可以通过资产的多样化配置、改变理财思维和习惯实现。想让自己的财富保值增值,人们
SEO实战密码-60天网站流量提高20倍-第3版 本书特色 本书是畅销书升级版,详细和系统地介绍了正规、有效的seo实战技术,包括为什么要做seo、搜索引擎工作...
《儿童歌曲演唱教程 少儿版》内容简介:《儿童歌曲演唱教程(少儿版)》适合幼儿园和小学音乐教学使用。作者:尤静波、高歌作品目录
《OpenCV项目开发实战(原书第2版)》内容简介:本书内容精练、重点突出、示例丰富。作者用幽默风趣、简洁生动的语言,通过实际的编
《爱与真的启示:张爱玲的晚期风格》内容简介:本书主要探讨了张爱玲的晚年生活及其创作体现的“晚期风格”。借助萨义德“晚期风格
《HTML 5开发精要与实例详解》内容简介:这是一本以综合性案例为导向并辅之以精要知识点讲解的HTML 5实战教程。内容分为两大部分:
《PHP、MySQL和Apache编程导学(原书第4版)》介绍Web应用开发的强大组合工具:MySQL、Apache和PHP,共分为六个部分。第一部分引领
《高效能团队模式》内容简介:高效能软件开发团队是任何组织能够持续交付价值的关键。本书主要介绍了高效能团队模式——团队拓扑,
《零成本实现Web性能测试:基于ApacheJMeter》是一本关于Web性能测试的实战书籍,读者朋友们在认真阅读完《零成本实现Web性能测试
Ifanything,thisvolumespremise--thatthebusinessofWebdesignisoneofconstantchange-h...
《开放创新和平台经济:IT及互联网产业商业模式创新之道(第2版)》内容简介:本书分为8章,其中,第1~4章主要以理论分析和研究为
《物联网与智慧养老》内容简介:本书深入剖析当今我国人口老龄化与产业发展,从老龄化发展背景和智慧养老入手,结合物联网技术支撑
《零基础学电脑从入门到精通:视频自学版》内容简介:本书是专为新手编写的电脑操作与应用入门教程,精选了满足日常生活和工作需求
《pytest框架与自动化测试应用》内容简介:本书pytest是Python的第三方测试框架,可以实现软件测试各层次自动化。本书系统讲述pyte
《春水集》内容简介:《春水集》是作者从事博物馆工作以来的学术散文集,主要内容为清代、民国以来学林掌故以及著名学人的生平、往
250陶瓷创意设计秘籍,ISBN:9787102051017,作者:(英)阿特金著,杨志译作者简介 贾克奎·阿特金(JacquiAtkin)是一位职业陶艺