注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計自己動手寫Python虛擬機

自己動手寫Python虛擬機

自己動手寫Python虛擬機

定 價:¥79.00

作 者: 海納 著
出版社: 北京航空航天大學(xué)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787512429758 出版時間: 2019-06-01 包裝: 平裝
開本: 小全開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書按內(nèi)容分為六個部分,第一部分介紹語言虛擬機的基本概念,并實現(xiàn)字節(jié)碼解釋器;第二部分,實現(xiàn)內(nèi)嵌類型,如整數(shù)、字符串、列表和字典等;第三部分,實現(xiàn)了函數(shù);第四部分,實現(xiàn)自定義類、對象和方法;第五部分,實現(xiàn)垃圾回收,也就是自動內(nèi)存管理;第六部分,模塊和迭代。本書的章節(jié)內(nèi)容之間都有很強的依賴性,后面的章節(jié)內(nèi)容都是在前面章節(jié)的基礎(chǔ)上去實現(xiàn)的,所以讀者必須按部就班地從前向后閱讀,才能保證閱讀的流暢。 本書適合的人群包括:在校大學(xué)生(可以通過本書掌握很多計算機工作運行的核心知識),以及對編譯器,編程語言感興趣的人。

作者簡介

  海納,曾就職于人大金倉、網(wǎng)易游戲,現(xiàn)就職于華為編譯器實驗室。長期從事編譯器和編輯語言虛擬機的研發(fā)工作,擅長編譯器后端和垃圾回收機制。

圖書目錄

第1章編程語言虛擬機1
1.1編程語言的發(fā)展1
1.2編程語言虛擬機2
1.3開發(fā)環(huán)境5
第2章編譯流程6
2.1Python字節(jié)碼6
2.2詞法分析7
2.3文法分析10
2.4抽象語法樹13
2.4.1構(gòu)建AST14
2.4.2遞歸程序的本質(zhì)16
2.4.3訪問者模式21
2.4.4用Visitor重寫AST29
第3章二進制文件結(jié)構(gòu)32
3.1pyc文件格式32
3.2加載CodeObject34
3.2.1準備工具36
3.2.2創(chuàng)建CodeObject41
3.3整理工程結(jié)構(gòu)47
3.4執(zhí)行字節(jié)碼49
第4章實現(xiàn)控制流55
4.1分支結(jié)構(gòu)55
4.1.1條件判斷56
4.1.2跳轉(zhuǎn)59
4.1.3True、False和None60
4.2循環(huán)結(jié)構(gòu)62
4.2.1變量62
4.2.2循環(huán)內(nèi)的跳轉(zhuǎn)67
第5章基本的數(shù)據(jù)類型75
5.1KlassOop二元結(jié)構(gòu)75
5.2整數(shù)78
5.3字符串82
第6章函數(shù)和方法85
6.1函數(shù)85
6.1.1棧幀86
6.1.2創(chuàng)建FunctionObject89
6.1.3調(diào)用方法92
6.2變量和參數(shù)96
6.2.1LEGB規(guī)則96
6.2.2函數(shù)的參數(shù)104
6.2.3參數(shù)默認值107
6.3Native函數(shù)111
6.4方法115
第7章列表和字典122
7.1列表122
7.1.1列表的定義122
7.1.2操作列表126
7.2字典154
7.2.1字典的定義154
7.2.2操作字典157
7.3增強函數(shù)功能165
7.3.1靈活多變的函數(shù)參數(shù)165
7.3.2閉包和函數(shù)修飾器172
7.4總結(jié)179
第8章類和對象180
8.1類型對象180
8.1.1TypeObject180
8.1.2object185
8.1.3通過類型創(chuàng)建對象189
8.2自定義類型191
8.3創(chuàng)建對象196
8.4操作符重載206
8.5繼承215
第9章垃圾回收223
9.1自動內(nèi)存管理223
9.1.1概念定義223
9.1.2引用計數(shù)224
9.1.3圖的知識226
9.1.4Tracing GC231
9.2復(fù)制回收234
9.2.1算法描述234
9.2.2算法實現(xiàn)235
9.2.3建堆237
9.2.4在堆中創(chuàng)建對象243
9.2.5垃圾回收247
第10章模塊和庫261
10.1import語句261
10.1.1ModuleObject262
10.1.2加載模塊264
10.1.3from子句266
10.2builtin模塊268
10.3加載動態(tài)庫271
10.3.1定義接口27
10.3.2實現(xiàn)math module277
第11章迭代281
11.1異常281
11.1.1finally子句281
11.1.2break和continue287
11.1.3Exception291
11.2自定義迭代器類306
11.3Generator309
11.3.1yield語句309
11.3.2Generator對象311
11.4總結(jié)317
附錄APython2字節(jié)碼表318
附錄B高級算法321
B.1字符串查找321
B.2排序算法325
B.2.1快速排序325
B.2.2選擇排序328
B.2.3堆排序329

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號