-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

華為方舟編譯器之美——基于開源代碼的架構分析與實現

( 簡體 字)
作者:史寧寧類別:1. -> 程式設計 -> 綜合
譯者:
出版社:清華大學出版社華為方舟編譯器之美——基于開源代碼的架構分析與實現 3dWoo書號: 53651
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:9/1/2020
頁數:188
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302562627
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

方舟編譯器自2019年4月出現在大家的視野之后,就引發了強烈關注。2019年8月31日,方舟編譯器開始開源,大家對方舟編譯器的關注達到了頂點。編譯器行業的從業者、App開發者等相關從業者都保持了對方舟編譯器的極大熱情。筆者也是從2019年8月31日開始對方舟編譯器保持持續關注。
方舟編譯器開源之后,為了豐富方舟編譯器的學習資料,方便更多相關行業從業者學習方舟編譯器,我從2019年8月31日開始在知乎連載方舟編譯器學習筆記系列博客。該系列博客保持每天至少更新一篇,連續更新了2個多月,累計更新70余篇。同時,我參與了方舟編譯器社區的所有線上線下活動,積極跟蹤方舟編譯器社區的最新動態。在此基礎上,對方舟編譯器目前唯一的開源版本V0.2.1的代碼進行了梳理,編寫了這本《華為方舟編譯器之美——基于開源代碼的架構分析與實現》。
閱讀本書需要具備基本的編譯原理知識,至少系統地閱讀或學習過“編譯原理”課程,了解編譯器的基本環節和處理流程。同時,需要對業界主流編譯器的大致情況有一個基本的了解。閱讀本書并不需要遵循一定的順序,可按照需要選取對應的章節進行閱讀。
本書對V0.2.1版本開源代碼整體情況進行了梳理和介紹。同時,抽取其中開源代碼比較集中的IR框架部分,進行了詳細的源碼分析。其各章的主要內容如下:
第1章方舟編譯器的前世今生,主要對方舟編譯器的開源進程進行介紹,采用大事記的形式,記錄開源過程中的重大事件節點。同時,還對方舟編譯器的發展前景進行了展望。
第2章方舟編譯器的構建,對方舟編譯器所采用的三層構建體系及其運作流程做簡要介紹,在此基礎上,介紹方舟編譯器源碼及其sample的編譯。
華為方舟編譯器之美——基于開源代碼的架構分析與實現
前言
00
00
第3章方舟編譯器總體介紹,對方舟編譯器的架構、源碼目錄、官方文檔和執行流程等幾方面進行初步介紹,更詳細的內容在后續對應章節進行討論。
第4章中間表示,介紹三地址碼和SSA等基本的中間表示基礎理論,為后續的源碼分析提供基本的理論知識。
第5章方舟編譯器IR的設計與實現,從方舟編譯器IR設計的思想起源入手,對Maple IR的結構及其代碼實現、基本類型的設計與實現、控制流語句的設計與實現等方面進行分析。
第6章方舟編譯器IR與其他編譯器IR的橫向對比,將Maple IR與LLVM IR、Open64的WHIRL IR進行IR設計層面的一些橫向對比。
第7章Maple IR的處理流程分析,分析Maple IR的處理流程所涉及的lexer、parser、lower等環節,以及符號表的相關處理。
第8章Me體系實現,對Me體系中的相關結構及其實現進行分析。
第9章方舟編譯器phase體系的設計與實現,對方舟編譯器的整個phase體系從設計入手,對其注冊、添加、調用,以及其兩個類別ModulePhase、MeFuncPhase的設計與實現進行分析。
第10章phase實例分析,對ModulePhase的整體實現和運行情況及具體的classhierarchy進行分析。同時,對MeFuncPhase的執行前準備、返回,以及具體的dominance、ssaTab和SSA進行分析。
第11章如何參與方舟編譯器社區,對如何參與方舟編譯器社區的討論及代碼提交進行介紹。
另外,方舟編譯器本身也在不斷完善中,社區代碼也在不斷更新中,本書選取其中的V0.2.1版進行分析,但是依然可能會出現本書代碼與實際代碼不同的情況,在這種情況下請跟蹤最新代碼并獲取最新信息。
史寧寧

2020年6月

本書源代碼下載
內容簡介:

華為方舟編譯器自面世以來,在業界乃至互聯網科技圈引發了巨大的反響。作為一款國內研發的大型工業編譯器,方舟編譯器從一開始就承載了眾多期望。方舟編譯器開源之后,業界不少同仁開始分析方舟編譯器的架構和實現,本書也是這時候開始編寫的。
本書基于方舟編譯器開源代碼的V0.2.1版本,從方舟編譯器的開源進程與前景談起,介紹方舟編譯器的構建、總體架構、IR設計、Maple IR的處理、Me體系、phase體系的設計與實現等內容,覆蓋了V0.2.1版本所開源的所有核心內容。在最后,還對如何參與方舟編譯器社區的建設給出了指引。
總體而言,本書既有對整體架構的分析,又有對整體架構實現以及重點內容代碼實現的介紹,可以幫助讀者快速的了解方舟編譯器的開源代碼,讓讀者更加方便的參與到方舟編譯器的建設和使用之中。
目錄:

第1章方舟編譯器的前世今生00
1.1方舟編譯器的開源進程00
1.2方舟編譯器的前景00
第2章方舟編譯器的構建00
2.1方舟編譯器構建體系00
2.2方舟編譯器源碼編譯0
2.3方舟編譯器官方例子編譯0
2.4Toyruntime簡介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.1MapleIR設計的起源與思想0
5.2MapleIR的結構0
5.3MapleIR結構表示代碼0
5.4MapleIR中的基本類型的設計與實現0
5.4.1基本類型的設計0
華為方舟編譯器之美——基于開源代碼的架構分析與實現
目錄
0
0
5.4.2MapleIR基本類型的實現0
5.5MapleIR中的控制流語句的設計與實現0
5.5.1控制流語句的設計0
5.5.2控制流語句的實現0
第6章方舟編譯器IR與其他編譯器IR的橫向對比0
6.1MapleIR與LLVMIR的對比0
6.1.1MapleIR與LLVMIR的結構對比0
6.1.2MapleIR與LLVMIR的類型對比0
6.1.3MapleIR與LLVMIR中module層面的
信息對比0
6.2MapleIR與WHIRLIR的對比0
6.2.1MapleIR與WHIRLIR的基本類型對比0
6.2.2MapleIR與WHIRLIR的控制流語句對比0
第7章MapleIR的處理流程分析0
7.1MapleIR的整體處理流程0
7.2MapleIR的build類0
7.3MapleIR的符號表0
7.4MapleIR的寄存器實現0
7.5MapleIR的lower處理0
7.5.1if語句的向下轉換0
7.5.2while和dowhile語句的向下轉換0
7.5.3doloop語句的向下轉換
第8章Me體系實現
8.1MeFunction實現
8.2MeCFG實現
8.3BB實現
8.4MeStmt實現
8.5MeExpr實現
第9章方舟編譯器phase體系的設計與實現
9.1phase體系的總體設計與實現
9.2phase的注冊與新增
9.3phase的運行機制
9.4ModulePhase的設計與實現
9.5MeFuncPhase的設計與實現
9.6DriverRunner的調用
第10章phase實例分析
10.1ModulePhase類phase的實現與運行
10.2ModulePhase之classhierarchy分析
10.3MeFuncPhase類phase的執行前準備
10.4MeFuncPhase類的phase的返回分析
10.5MeFuncPhase之dominance分析
10.6MeFuncPhase之ssaTab分析
10.7MeFuncPhase之ssa分析
第11章如何參與方舟編譯器社區
附錄A方舟編程體系
參考文獻
后記
序: