本书系统地介绍了可变目标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 测试和验证
深入阅读
参考文献
《会计信息系统(第3版)》内容简介:本书侧重介绍会计信息化的中级发展阶段,即面向企业全面应用的会计信息系统,重点讲授会计信息
《中外民歌钢琴曲集 1》内容简介:从这套乐谱的功能来看,除了作为钢琴教材还可以作为多声写作和小品写作的例谱,配器课的习题集,
AarronWalteristheleaduserexperiencedesignerforMailChimp,wherehesocializeswithpri...
《Effective C#(原书第3版)》内容简介:在本书中,世界知名的.NET专家Bill Wagner先生给出了50条建议,告诉你怎样充分利用C#6.0所
《手工会计(第二版)》内容简介:本书第二版是在2013年第一版的基础上,主要根据我国全面实行“营改增”的税收政策变化而修订的,
《心若莲花处处开》内容简介:南怀瑾精研儒、释、道,将中国文化各种思想融会贯通,可谓一代宗师。在他眼里,儒、道、佛的经典学问
《佛学思想与佛教文化研究(全2册)》内容简介:2015年7月,“禅与人类文明研究中心”与中国佛教学会合作,举办“第十届青年佛教学
TheHuman-ComputerInteractionHandbook:Fundamentals,EvolvingTechnologies,andEmergi...
《从1.0到3.0》内容简介:社群1.0时代,社群中主要是熟人交流为主,以图片、文字为主;社群2.0时代社群中不再是熟人,不再是朋友,
本书从系统级设计和系统集成芯片(SOC)设计技术的角度介绍可编程专用集成电路(ASIC)器件的结构和可编程资源,用FPGA和CPLD进行数字
《中国经济改革与发展研究报告(2017)》内容简介:本书以“创新:引领发展的第一动力”为主题,从产业升级、全要素生产率、增长动
书以简洁、准确的语言配合精心设计的、引人入胜的插图生动地揭示了计算机――这一神奇技术隐藏的奥秘。作者RonWhite是美国著名的
清晰、透彻和严谨是本书与其他数字通信教材的显著区别。本书由国际公认的专家和屡获殊荣的学者编写,是数字通信领域的基础性教材
《人的局限性:约翰生作品集》内容简介:本书为英国著名作家、批评家塞缪尔·约翰生的作品集,以牛津《约翰生重要作品选》、哈佛《
编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问题,从而构建美妙的应用。《像程序员一样思考》分析了程序员解决
插画师是绘制广泛用于各种场合的图画的专业绘画人员。有时,插画师会碰到一些从未想过,从来接触过,也没有任何经验的插画委托。
《高绩效HR必备图表范例》内容简介:当今人力资源管理领域面临诸多新问题、新环境、新理念、新技术,各种名类繁杂的图书也大量涌现
《岛屿来信》内容简介:翁达杰说,如果你从空中俯瞰,这个世界是没有疆界的,地图上那些边界线都不存在。因为对这个世界心存向往,
会声会影X4从新手到高手-1DVD多媒体教学光盘 本书特色 本书主要特点内容全面实用 >选择*实用、*常用的知识,力求您“学的知识都用得上”,让您的学习不做无用...
《世界美术名作二十讲》内容简介:《世界美术名作二十讲》一书,是傅雷在参考法国博尔德(Bordes)《美术史二十讲》及晚近诸家美术