失效链接处理 |
LLVM Cookbook中文版 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/11204383111.html
相关截图: 资料简介: 本书以任务驱动的方式,带领读者编写基于LLVM 的编译器前端、优化器、后端。通过丰富的实例,读者能够从中理解LLVM 的架构,以及如何使用LLVM 来编写自己的编译器。相比于传统的介绍编译技术的书籍,此书更偏向于实战,因此适合熟悉编译但对LLVM 比较陌生的人员,也适合正在学习编译技术并且在寻找实战机会的人员。 资料目录:
前言 ............................................................................................................... XI
第1 章 LLVM设计与使用 .............................................................................. 1
概述 ........................................................................................................................................... 1
模块化设计 ............................................................................................................................... 2
交叉编译Clang/LLVM ............................................................................................................ 6
将C 源码转换为LLVM 汇编码 ............................................................................................ 8
将LLVM IR 转换为bitcode .................................................................................................... 9
将LLVM bitcode 转换为目标平台汇编码 ........................................................................... 12
将LLVM bitcode 转回为LLVM 汇编码 .............................................................................. 14
转换LLVM IR ........................................................................................................................ 15
链接LLVM bitcode ................................................................................................................ 18
执行LLVM bitcode ................................................................................................................ 19
使用C 语言前端——Clang................................................................................................... 20
使用GO 语言前端 ................................................................................................................. 24
使用DragonEgg ..................................................................................................................... 25
第2 章 实现编译器前端 ............................................................................... 29
概述 ......................................................................................................................................... 29
定义TOY 语言 ...................................................................................................................... 30
实现词法分析器 ..................................................................................................................... 32
定义抽象语法树 ..................................................................................................................... 35
实现语法分析器 ..................................................................................................................... 38
解析简单的表达式 ................................................................................................................. 39
解析二元表达式 ..................................................................................................................... 42
为解析编写驱动 ..................................................................................................................... 45
对TOY 语言进行词法分析和语法分析 ............................................................................... 47
为每个AST 类定义IR 代码生成方法 ................................................................................. 48
为表达式生成IR 代码 ........................................................................................................... 49
为函数生成IR 代码 ............................................................................................................... 51
增加IR 优化支持 ................................................................................................................... 55
第3 章 扩展前端并增加JIT 支持 ................................................................. 57
概述 ......................................................................................................................................... 57
处理条件控制结构——if/then/else 结构 .............................................................................. 58
生成循环结构 ......................................................................................................................... 64
处理自定义二元运算符 .........................................
|