用 Go語言自製編譯器 Writing A Compiler In Go
[德]索斯藤·鮑爾(Thorsten Ball)
- 出版商: 人民郵電
- 出版日期: 2022-06-01
- 定價: $599
- 售價: 8.5 折 $509
- 語言: 簡體中文
- 頁數: 306
- ISBN: 7115591105
- ISBN-13: 9787115591104
-
相關分類:
Go 程式語言
- 此書翻譯自: Writing A Compiler In Go
立即出貨
買這商品的人也買了...
-
編譯原理, 2/e (Compilers : Principles, Techniques, and Tools, 2/e)$534$507 -
$474自製編程語言 -
兩周自製腳本語言$354$336 -
30天自製操作系統【附代碼光盤30天從零開始編寫圖形操作系統】$779$740 -
$419自己動手寫編譯器、鏈接器 -
$234自製搜尋引擎 -
$422精通 Linux 設備驅動程序開發 (Essential Linux Device Drivers) -
$454現代編譯原理 C語言描述 (修訂版) -
$352Kafka Streams 實戰 (Kafka Streams in Action: Real-time apps and microservices with the Kafka Streaming API) -
Go語言高併發與微服務實戰$534$507 -
資料密集型應用系統設計 (Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems)$980$774 -
CQRS 命令查詢職責分離模式 (Command Query Responsibility Segregation)$500$390 -
大師養成起手式:從核心真正了解 Linux 運作原理$880$695 -
$509區塊鏈架構與實現:Cosmos詳解 -
$407Python 代碼整潔之道 (Practices of the Python Pro) -
C++ 程式設計的樂趣|範例實作與專題研究的程式設計課 (C++ Crash Course: A Fast-Paced Introduction)$880$748 -
$407Go 語言定製指南 -
軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures)$780$616 -
用 Go語言自製解釋器$599$569 -
$512Go語言從入門到項目實戰(視頻版) -
$607Python 高效編程 — 基於 Rust語言 -
$602計算機底層的秘密 -
左耳聽風:傳奇程序員練級攻略$528$502 -
$331LangChain 編程:從入門到實踐 -
並發編程圖解$588$559
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
VIP 95折
深入淺出 SSD 測試 : 固態存儲測試流程 方法與工具$594$564 -
VIP 95折
MCP 開發從入門到實戰$515$489 -
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
RISC-V 架構 DSP 處理器設計$534$507 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
85折
$454RAG 實踐權威指南:構建精準、高效大模型之道 -
VIP 95折
CUDA 並行編程與性能優化$714$678 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
VIP 95折
大模型驅動的具身智能 架構,設計與實現$534$507 -
VIP 95折
納米級CMOS VLSI電路(可制造性設計)$474$450 -
VIP 95折
Manus應用與AI Agent設計指南:從入門到精通$359$341 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
VIP 95折
芯片的較量 (日美半導體風雲)$414$393 -
VIP 95折
Manus AI 智能體從入門到精通$294$279 -
87折
$981深度學習:基礎與概念 -
85折
$505GitHub Copilot 編程指南 -
87折
$469Cursor 與 Copilot 開發實戰 : 讓煩瑣編程智能化 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
Verilog HDL計算機網絡典型電路算法設計與實現$354$336 -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
85折
$505GitHub Copilot 編程指南 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673 -
VIP 95折
深入淺出 Docker, 2/e$419$398 -
85折
$658Unity 特效制作:Shader Graph 案例精講 -
79折
$275零基礎玩轉國產大模型DeepSeek -
VIP 95折
人工智能大模型:機器學習基礎$774$735 -
VIP 95折
RAG 極簡入門:原理與實踐$419$398 -
VIP 95折
大模型實戰 : 從零實現 RAG 與 Agent 系統$419$398 -
VIP 95折
算法趣學(第2版)$348$331 -
VIP 95折
大模型理論與實踐——打造行業智能助手$354$336 -
VIP 95折
大模型應用開發 RAG 實戰課$599$569 -
85折
$509生成式人工智能 (基於 PyTorch 實現) -
VIP 95折
機器人抓取力學$894$849 -
VIP 95折
集成電路版圖設計從入門到精通$474$450 -
VIP 95折
Java 學習筆記, 6/e$839$797
相關主題
商品描述
本書是《用Go語言自製解釋器》的續篇。在自製解釋器時,你已經為Monkey語言實現了類C語法、變量綁定、基本數據類型、算術運算、內置函數、閉包等特性。是時候讓Monkey繼續成長了!在本書中,Monkey將繼續“進化”,並最終成長為成熟的程序設計語言。在已有詞法分析器、語法分析器和抽象語法樹的基礎上,你將為Monkey語言定義字節碼指令,指定操作數,編寫反匯編程序,構建執行字節碼的虛擬機。通過動手學習,你將能夠體驗從無到有實現類C語言的樂趣。
作者簡介
索斯藤·鮑爾(Thorsten Ball)
Sourcegraph軟件工程師,精通多門程序設計語言,包括Go、C、JavaScript和Ruby,深諳編譯原理、系統編程、Unix、數據庫等相關技術。現居德國,長期活躍於歐洲各大技術大會。
廖彬
畢業於中國科學院計算技術研究所,高級語言虛擬機愛好者,在語言虛擬機領域從事開發近十年,曾就職於阿裡巴巴和騰訊。
目錄大綱
第 1章 編譯器與虛擬機 1
1.1 編譯器 2
1.2 虛擬機與物理機 5
1.2.1 物理機 6
1.2.2 什麼是虛擬機 11
1.2.3 為什麼要構建虛擬機 14
1.2.4 字節碼 15
1.3 虛擬機與編譯器的二元性 17
第 2章 你好,字節碼! 19
2.1 第 一條指令 20
2.1.1 以字節作為開端 21
2.1.2 最小編譯器 26
2.1.3 字節碼與反匯編程序 32
2.1.4 回歸初心,繼續前行 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 執行跳轉 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章 字符串、數組和哈希表 132
6.1 字符串 132
6.2 數組 138
6.3 哈希表 142
6.4 索引運算符 149
第7章 函數 156
7.1 一個簡單的函數 156
7.1.1 函數表示 157
7.1.2 執行函數的操作碼 158
7.1.3 編譯函數字面量 161
7.1.4 編譯函數調用 176
7.1.5 虛擬機中的函數 179
7.1.6 一點獎勵 190
7.2 局部綁定 191
7.2.1 局部綁定操作碼 192
7.2.2 編譯局部綁定 195
7.2.3 在虛擬機中實現局部綁定 208
7.3 參數 218
7.3.1 編譯帶參數的函數調用 219
7.3.2 將引用解析為參數 224
7.3.3 虛擬機中的參數 227
第8章 內置函數 237
8.1 使修改變得簡單 238
8.2 做出改變:計劃 244
8.3 內置函數作用域 245
8.4 執行內置函數 250
第9章 閉包 256
9.1 問題 257
9.2 計劃 258
9.3 將一切視為閉包 260
9.4 編譯和解析自由變量 271
9.5 運行時創建閉包 283
9.6 遞歸閉包 288
第 10章 最後的測試 303


