注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計用Go語言自制編譯器

用Go語言自制編譯器

用Go語言自制編譯器

定 價:¥99.80

作 者: [德] 索斯藤·鮑爾(Thorsten Ball) 著,廖彬 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115591104 出版時間: 2022-06-01 包裝: 平裝
開本: 小16開 頁數(shù): 306 字數(shù):  

內容簡介

  本書是《用Go語言自制解釋器》的續(xù)篇。在自制解釋器時,你已經為Monkey語言實現(xiàn)了類C語法、變量綁定、基本數(shù)據類型、算術運算、內置函數(shù)、閉包等特性。是時候讓Monkey繼續(xù)成長了!在本書中,Monkey將繼續(xù)“進化”,并最終成長為成熟的程序設計語言。在已有詞法分析器、語法分析器和抽象語法樹的基礎上,你將為Monkey語言定義字節(jié)碼指令,指定操作數(shù),編寫反匯編程序,構建執(zhí)行字節(jié)碼的虛擬機。通過動手學習,你將能夠體驗從無到有實現(xiàn)類C語言的樂趣。

作者簡介

  索斯藤·鮑爾(Thorsten Ball)Sourcegraph軟件工程師,精通多門程序設計語言,包括Go、C、JavaScript和Ruby,深諳編譯原理、系統(tǒng)編程、Unix、數(shù)據庫等相關技術?,F(xiàn)居德國,長期活躍于歐洲各大技術大會。廖彬畢業(yè)于中國科學院計算技術研究所,高級語言虛擬機愛好者,在語言虛擬機領域從事開發(fā)近十年,曾就職于阿里巴巴和騰訊。

圖書目錄

第 1章 編譯器與虛擬機 1
1.1 編譯器 2
1.2 虛擬機與物理機 5
1.2.1 物理機 6
1.2.2 什么是虛擬機 11
1.2.3 為什么要構建虛擬機 14
1.2.4 字節(jié)碼 15
1.3 虛擬機與編譯器的二元性 17
第 2章 你好,字節(jié)碼! 19
2.1 第 一條指令 20
2.1.1 以字節(jié)作為開端 21
2.1.2 最小編譯器 26
2.1.3 字節(jié)碼與反匯編程序 32
2.1.4 回歸初心,繼續(xù)前行 37
2.1.5 給機器上電 40
2.2 棧上加法 46
2.3 連接REPL 52
第3章 編譯表達式 55
3.1 棧清理 55
3.2 中綴表達式 60
3.3 布爾類型 64
3.4 比較運算符 69
3.5 前綴表達式 76
第4章 條件語句 83
4.1 跳轉 86
4.2 編譯條件語句 88
4.3 執(zhí)行跳轉 103
4.4 歡迎回來,Null 值 106
第5章 追蹤名稱 115
5.1 計劃 116
5.2 編譯綁定 117
5.2.1 添加符號表 120
5.2.2 在編譯器中使用符號 123
5.3 在虛擬機中支持全局變量 126
第6章 字符串、數(shù)組和哈希表 132
6.1 字符串 132
6.2 數(shù)組 138
6.3 哈希表 142
6.4 索引運算符 149
第7章 函數(shù) 156
7.1 一個簡單的函數(shù) 156
7.1.1 函數(shù)表示 157
7.1.2 執(zhí)行函數(shù)的操作碼 158
7.1.3 編譯函數(shù)字面量 161
7.1.4 編譯函數(shù)調用 176
7.1.5 虛擬機中的函數(shù) 179
7.1.6 一點獎勵 190
7.2 局部綁定 191
7.2.1 局部綁定操作碼 192
7.2.2 編譯局部綁定 195
7.2.3 在虛擬機中實現(xiàn)局部綁定 208
7.3 參數(shù) 218
7.3.1 編譯帶參數(shù)的函數(shù)調用 219
7.3.2 將引用解析為參數(shù) 224
7.3.3 虛擬機中的參數(shù) 227
第8章 內置函數(shù) 237
8.1 使修改變得簡單 238
8.2 做出改變:計劃 244
8.3 內置函數(shù)作用域 245
8.4 執(zhí)行內置函數(shù) 250
第9章 閉包 256
9.1 問題 257
9.2 計劃 258
9.3 將一切視為閉包 260
9.4 編譯和解析自由變量 271
9.5 運行時創(chuàng)建閉包 283
9.6 遞歸閉包 288
第 10章 最后的測試 303

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號