互联网
类型
可以朗读
语音朗读
124千字
字数
No.94
科学技术
2023-01-01
发行日期
展开全部
主编推荐语
系统阐释现代编译器背后的核心概念、算法和数据结构。
内容简介
本书将带领读者使用Racket语言动手构建编译器,通过循序渐进的方法,在设计和实现编译器的过程中了解基本概念、算法和数据结构等相关知识。本书将每章作为构建编译器的一个基本“步骤”,逐步为编译器添加功能。全书涵盖变量、寄存器、条件、循环、元组、函数、动态类型、通用类型等内容。
目录
- 版权信息
- 译者序
- 前言
- 第1章 预备知识
- 1.1 抽象语法树
- 1.2 语法
- 1.3 模式匹配
- 1.4 递归函数
- 1.5 解释器
- 1.6 编译器示例:部分求值器
- 第2章 整数与变量
- 2.1 LVar语言
- 2.2 x86Int汇编语言
- 2.3 规划x86汇编语言之旅
- 2.4 唯一化变量
- 2.5 移除复杂操作数
- 2.6 详细控制
- 2.7 选择指令
- 2.8 分配变量存储
- 2.9 修补指令
- 2.10 生成起始和收尾代码
- 2.11 挑战:LVar的部分求值器
- 第3章 寄存器分配
- 3.1 寄存器和调用约定
- 3.2 活跃性分析
- 3.3 构建干涉图
- 3.4 利用数独进行图着色
- 3.5 修补指令
- 3.6 起始和收尾代码
- 3.7 挑战:传送偏置
- 3.8 延伸阅读
- 第4章 布尔值和条件表达式
- 4.1 LIf语言
- 4.2 LIf程序的类型检查
- 4.3 CIf中间语言
- 4.4 x86If语言
- 4.5 收缩LIf语言
- 4.6 唯一化变量
- 4.7 移除复杂操作数
- 4.8 详细控制
- 4.9 选择指令
- 4.10 寄存器分配
- 4.11 修补指令
- 4.12 挑战:优化块和去除跳转
- 4.13 延伸阅读
- 第5章 循环和数据流分析
- 5.1 LWhile语言
- 5.2 循环控制流和数据流分析
- 5.3 可变变量和移除复杂操作数
- 5.4 揭示get!
- 5.5 移除复杂操作数
- 5.6 详细控制和C↺
- 5.7 选择指令
- 5.8 寄存器分配
- 第6章 元组和垃圾回收
- 6.1 LTup语言
- 6.2 垃圾回收
- 6.3 显露分配
- 6.4 移除复杂操作数
- 6.5 详细控制和CTup语言
- 6.6 选择指令和x86Global语言
- 6.7 寄存器分配
- 6.8 起始和收尾代码
- 6.9 挑战:简单结构
- 6.10 挑战:数组
- 6.11 揭示get!
- 6.12 挑战:分代收集
- 6.13 延伸阅读
- 第7章 函数
- 7.1 LFun语言
- 7.2 x86汇编下的函数
- 7.3 收缩LFun语言
- 7.4 揭示函数和LFunRef语言
- 7.5 限制函数
- 7.6 移除复杂操作数
- 7.7 详细控制和CFun语言
- 7.8 选择指令和语言
- 7.9 寄存器分配
- 7.10 修补指令
- 7.11 起始和收尾代码
- 7.12 转换举例
- 第8章 词法作用域函数
- 8.1 Lλ语言
- 8.2 赋值和词法作用域函数
- 8.3 赋值转换
- 8.4 闭包转换
- 8.5 转换举例
- 8.6 显露分配
- 8.7 详细控制和CClos语言
- 8.8 选择指令
- 8.9 挑战:优化闭包
- 8.10 延伸阅读
- 第9章 动态类型
- 9.1 LDyn语言
- 9.2 标记值的表示
- 9.3 LAny语言
- 9.4 强制转换插入:编译LDyn为LAny
- 9.5 揭示强制转换
- 9.6 移除复杂操作数
- 9.7 详细控制和CAny
- 9.8 选择指令
- 9.9 LAny的寄存器分配
- 第10章 渐变类型
- 10.1 类型检查L?
- 10.2 解释LCast
- 10.3 插入强制转换
- 10.4 低层类型转换
- 10.5 区分代理
- 10.6 揭示强制转换
- 10.7 闭包转换
- 10.8 选择指令
- 10.9 延伸阅读
- 第11章 泛型
- 11.1 编译泛型
- 11.2 解析实例化
- 11.3 擦除泛型类型
- 附录
- A.1 解译器
- A.2 实用函数
- A.3 x86指令集快速参考
- 参考文献
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。
