Go 語言定製指南
柴樹杉 史斌 丁爾男
買這商品的人也買了...
-
$419自己動手寫編譯器、鏈接器 -
Git 團隊使用手冊 (Git for Teams: A User-Centered Approach to Creating Efficient Workflows in Git)$580$458 -
$403Go語言機器學習實戰 -
$454Go語言高併發與微服務實戰 -
深入淺出 Go (Head First Go)$880$695 -
BPF 之巔:洞悉 Linux 系統和應用性能 (BPF Performance Tools)$1,194$1,134 -
$539C/C++ 代碼調試的藝術 -
$305Linux 環境下 C程序設計 -
完全自學!Go 語言 (Golang) 實戰聖經 (The Go Workshop: Learn to write clean, efficient code and build high-performance applications with Go)$880$695 -
$713Go 語言設計與實現 -
簡單有趣的金融數學$408$388 -
$454時間序列預測 : 基於機器學習和 Python 實現 (Machine Learning for Time Series Forecasting with Python) -
$230雲計算平臺搭建與維護 (基於 OpenStack 和 Kubernetes)(微課版) -
$403C語言編程思想與方法 -
PyTorch 開發入門:深度學習模型的構建與程序實現$474$450 -
汽車電子系統設計與模擬$414$393 -
$347ROS 機器人開發技術基礎 -
演算法洞見:遞推與遞迴$600$396 -
用 Go語言自製編譯器$599$569 -
用 Go語言自製解釋器$599$569 -
OAuth 2.0 從入門到實戰:利用驗證和授權守護 API 的安全$600$468 -
Hacking APIs|剖析 Web API 漏洞攻擊技法$580$458 -
$551Go 專家編程, 2/e -
最強 AI 投資分析:打造自己的股市顧問機器人,股票趨勢分析×年報解讀×選股推薦×風險管理$750$593 -
AI 神助攻!程式設計新境界 – GitHub Copilot 開發 Python 如虎添翼 : 提示工程、問題分解、測試案例、除錯$560$442
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
Go 語言語法樹是 Go 語言源文件的另一種語義等價的表現形式,Go 語言自帶的go fmt 和 go doc等命令都是建立在 Go 語言語法樹基礎之上的分析工具。本書從Go 語言語法樹出發,重新審視Go 語言源文件,闡述定製Go 語言的核心技術。書中通過對 go/ast、go/ssa 等包的分析,-步步深入Go 語言核心,最後簡要介紹 LLVM,讀者可以結合 IIVM 和 Go 語言語法樹按需定製,創造一個語法與 Go 語言語法頭似的簡單的編程語言及與其對應的編譯器,達到掌握自製編程語言和編譯器的目的。
本書面向已經熟練掌握 Go 語言並在進行項目開發的程序員,也適合想深入瞭解 Go 語言底層運行機制的程序員閱讀,同時可作為對編程語言/編譯器有興趣並想進行實際項目實踐的程序員的參考書。
作者簡介
柴樹杉,Go/C/匯編語言愛好者,《Go語言高級編程》作者之一,關註與匯編語言相關的底層技術。他目前在螞蟻集團從事領域特定語言(DSL)的設計和開發工作。
史斌,有十餘年編譯器和虛擬機開發經驗。Go和LLVM 開源項目貢獻者,擁有這兩個項目官方代碼倉庫的提交權限,目前兩個項目的提交記錄都超過100次。他在全球Go貢獻者榜上長期排名TOP50,目前致力於國產芯片軟件生態系統的構建工作。
丁爾男,Go/C/Web前端技術愛好者,長年從事3D開發工作,熱衷於性能優化。他目前在武漢航天遠景科技股份有限公司分管3D相關產品的開發工作。
目錄大綱
第 1章 詞法單元 1
1.1 詞法單元簡介 2
1.2 表示詞法單元的數據類型 3
1.3 FileSet和File 6
1.4 解析詞法單元 7
1.5 位置信息 10
1.6 小結 11
第 2章 基礎字面值 13
2.1 基礎字面值的定義 13
2.2 基礎字面值的語法樹結構 15
2.3 構造基礎字面值 16
2.4 解析基礎字面值 17
2.5 標識符字面值 18
2.6 小結 19
第3章 基礎表達式 21
3.1 語法規範 21
3.2 解析表達式 22
3.3 求值表達式 25
3.4 標識符:為表達式引入變量 26
3.5 小結 28
第4章 代碼結構 29
4.1 目錄結構和包結構 29
4.2 文件結構 30
4.3 診斷語法樹 34
4.4 小結 36
第5章 通用聲明 39
5.1 導入聲明 39
5.2 類型聲明 42
5.3 常量聲明 44
5.4 變量聲明 46
5.5 聲明分組 48
5.6 小結 49
第6章 函數聲明 51
6.1 語法規範 51
6.2 函數聲明和方法聲明 52
6.3 參數列表和返回值列表 54
6.4 小結 55
第7章 復合類型 57
7.1 語法規範 57
7.2 基礎類型 58
7.3 指針類型 61
7.4 數組類型 63
7.5 切片類型 66
7.6 結構體類型 67
7.7 映射類型 70
7.8 管道類型 71
7.9 函數類型 72
7.10 接口類型 73
7.11 小結 75
第8章 更復雜的字面值 77
8.1 語法規範 77
8.2 函數字面值 78
8.3 復合字面值的語法 80
8.4 數組字面值和切片字面值 81
8.5 結構體字面值 83
8.6 映射字面值 85
8.7 小結 86
第9章 復合表達式 87
9.1 表達式語法 87
9.2 類型轉換和函數調用 88
9.3 點選擇運算 90
9.4 索引運算 91
9.5 切片運算 92
9.6 類型斷言 93
9.7 小結 95
第 10章 語句塊和語句 97
10.1 語法規範 97
10.2 空語句塊 98
10.3 表達式語句 100
10.4 返回語句 101
10.5 聲明語句 103
10.6 短聲明語句和多賦值語句 104
10.7 if/else分支語句 106
10.8 for循環 108
10.9 類型斷言 111
10.10 go語句和defer語句 113
10.11 小結 114
第 11章 類型檢查 115
11.1 語義錯誤 115
11.2 go/types包 116
11.3 跨包的類型檢查 118
11.4 小結 122
第 12章 語義信息 123
12.1 名字空間 123
12.2 整體架構 127
12.3 小結 128
第 13章 靜態單賦值形式 129
13.1 靜態單賦值簡介 129
13.2 生成靜態單賦值 130
13.3 靜態單賦值解釋執行 134
13.4 go/ssa包的架構 136
13.5 小結 138
第 14章 凹語言 139
14.1 Hello,凹語言 139
14.2 訪問全局變量 144
14.3 調用自定義函數 153
14.4 四則運算 157
14.5 分支控制 160
14.6 導入函數 165
14.7 小結 168
第 15章 LLVM簡介 169
15.1 背景介紹 169
15.2 安裝LLVM 171
15.3 printf函數 172
15.4 簡單的四則運算 175
15.5 比較運算 176
15.6 分支與循環 177
15.7 基本塊 180
15.8 PHI指令 182
15.9 有限循環 184
15.10 小結 185
第 16章 LLVM示例 187
16.1 W語言 187
16.2 W語言編譯器wcc的設計 189
16.3 W語言編譯器wcc的實現 191
16.4 W語言的代碼示例 198
16.5 小結 200
後記 201


