Go語言定制指南( 簡體 字) | |
作者:柴樹杉 史斌 丁爾男 | 類別:1. -> 程式設計 -> Go語言 |
出版社:人民郵電出版社 | 3dWoo書號: 55693 詢問書籍請說出此書號! 有庫存 NT售價: 400 元 |
出版日:4/1/2022 | |
頁數:202 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115584410 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第 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 Go 語言語法樹是 Go 語言源文件的另一種語義等價的表現形式,Go 語言自帶的go fmt 和 go doc等命令都是建立在 Go 語言語法樹基礎之上的分析工具。本書從Go 語言語法樹出發,重新審視Go 語言源文件,闡述定制Go 語言的核心技術。書中通過對 go/ast、go/ssa 等包的分析,-步步深入Go 語言核心,最后簡要介紹 LLVM,讀者可以結合 IIVM 和 Go 語言語法樹按需定制,創造一個語法與 Go 語言語法頭似的簡單的編程語言及與其對應的編譯器,達到掌握自制編程語言和編譯器的目的。
本書面向已經熟練掌握 Go 語言并在進行項目開發的程序員,也適合想深入了解 Go 語言底層運行機制的程序員閱讀,同時可作為對編程語言/編譯器有興趣并想進行實際項目實踐的程序員的參考書。 |