华为方舟编译器之美——基于开源代码的架构分析与实现
方舟编译器创始人叶寒栋作序!全面分析方舟编译器的架构与关键功能的实现!助力读者开启编译器的探索旅程!

作者:史宁宁

定价:69元

印次:1-2

ISBN:9787302562627

出版日期:2020.09.01

印刷日期:2021.05.17

图书责编:赵佳霓

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

华为方舟编译器自面世以来,在业界乃至互联网科技圈引发了巨大的反响。作为一款国内研发的大型工业编译器,方舟编译器从一开始就承载了众多期望。方舟编译器开源之后,业界不少同仁开始分析方舟编译器的架构和实现,本书也是这时候开始编写的。 本书基于方舟编译器开源代码的V0.2.1版本,从方舟编译器的开源进程与前景谈起,介绍方舟编译器的构建、总体架构、IR设计、Maple IR的处理、Me体系、phase体系的设计与实现等内容,覆盖了V0.2.1版本所开源的所有核心内容。在最后,还对如何参与方舟编译器社区的建设给出了指引。 总体而言,本书既有对整体架构的分析,又有对整体架构实现以及重点内容代码实现的介绍,可以帮助读者快速的了解方舟编译器的开源代码,让读者更加方便的参与到方舟编译器的建设和使用之中。

史宁宁,中国科学院软件研究所智能软件研究中心PLCT实验室项目主管。吉林大学计算机学院硕士。2012年起作为核心开发人员和项目经理参与组织开发多个编译器项目。长期坚持撰写技术博客,其中“LLVM每日谈”“方舟编译器学习笔记”等系列影响较大,曾出版图书1部。目前活跃在HelloGCC/HelloLLVM、方舟编译器等开源社区。

FOREWORD 前言 方舟编译器自2019年4月出现在大家的视野之后,就引发了强烈关注。2019年8月31日,方舟编译器开始开源,大家对方舟编译器的关注达到了顶点。编译器行业的从业者、App开发者等相关从业者都保持了对方舟编译器的极大热情。笔者也是从2019年8月31日开始对方舟编译器保持持续关注。 方舟编译器开源之后,为了丰富方舟编译器的学习资料,方便更多相关行业从业者学习方舟编译器,我从2019年8月31日开始在知乎连载方舟编译器学习笔记系列博客。该系列博客保持每天至少更新一篇,连续更新了2个多月,累计更新70余篇。同时,我参与了方舟编译器社区的所有线上线下活动,积极跟踪方舟编译器社区的最新动态。在此基础上,对方舟编译器目前唯一的开源版本V0.2.1的代码进行了梳理,编写了这本《华为方舟编译器之美——基于开源代码的架构分析与实现》。 阅读本书需要具备基本的编译原理知识,至少系统地阅读或学习过“编译原理”课程,了解编译器的基本环节和处理流程。同时,需要对业界主流编译器的大致情况有一个基本的了解。阅读本书并不需要遵循一定的顺序,可按照需要选取对应的章节进行阅读。 本书对V0.2.1版本开源代码整体情况进行了梳理和介绍。同时,抽取其中开源代码比较集中的IR框架部分,进行了详细的源码分析。其各章的主要内容如下: 第1章方舟编译器的前世今生,主要对方舟编译器的开源进程进行介绍,采用大事记的形式,记录开源过程中的重大事件节点。同时,还对方舟编译器的发展前景进行了展望。 第2章方舟编译器的构建,对方舟编译器所采用的三层构建体系及其运作流程...

暂无课件

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情

CONTENTS

目录

第1章方舟编译器的前世今生00

1.1方舟编译器的开源进程00

1.2方舟编译器的前景00

第2章方舟编译器的构建00

2.1方舟编译器构建体系00

2.2方舟编译器源码编译0

2.3方舟编译器官方例子编译0

2.4Toy runtime简介0

第3章方舟编译器总体介绍0

3.1方舟编译器的架构0

3.2方舟编译器源码目录0

3.2.1一级目录0

3.2.2src目录介绍0

3.3方舟编译器文档0

3.4方舟编译器的执行流程0

第4章中间表示0

4.1IR简介0

4.2三地址码0

4.3SSA0

第5章方舟编译器IR的设计与实现0

5.1Maple IR设计的起源与思想0

5.2Maple IR的结构0

5.3Maple IR结构表示代码0

5.4Maple IR中的基本类型的设计与实现0

5.4.1基本类型的设计0

华为方舟编译器之美——基于开源代码的架构分析与实现

目录

0

0

5.4.2Maple IR基本类型的实现0

5.5Maple IR中的控制流语句的设计与实现0

5.5.1控制流语句的设计0

5.5.2控制流语句的实现0

第6章方舟编译器IR与其他编译器IR的横向对比0

6.1Maple IR与LLVM IR的对比0

6.1.1Maple IR与LLVM IR的结构对比0

6.1.2Maple IR与LLVM... 查看详情

编译器作为中国软件发展的关键环节,非常受重视。华为选择研发和开源方舟编译器,为国内的编译器发展起到了很大的推动作用。方舟编译器作为一个工业级的编译器,对于其进行研究和分析,将非常有利于推动国内编译器产业的发展。本书基于方舟编译器开源代码的V0.2.1版本,从方舟编译器的开源进程与前景谈起,覆盖了V0.2.1版本所开源的所有核心内容。在最后,还对如何参与方舟编译器社区的建设给出了指引。本书有助于读者对方舟编译器的学习和理解,推动方舟编译器的普及和发展。 查看详情