舉報

會員
Go語言定制指南
最新章節:
后記
Go語言語法樹是Go語言源文件的另一種語義等價的表現形式,Go語言自帶的gofmt和godoc等命令都是建立在Go語言語法樹基礎之上的分析工具。本書從Go語言語法樹出發,重新審視Go語言源文件,闡述定制Go語言的核心技術。書中通過對go/ast、go/ssa等包的分析,-步步深入Go語言核心,最后簡要介紹LLVM,讀者可以結合IIVM和Go語言語法樹按需定制,創造一個語法與Go語言語法頭似的簡單的編程語言及與其對應的編譯器,達到掌握自制編程語言和編譯器的目的。本書面向已經熟練掌握Go語言并在進行項目開發的程序員,也適合想深入了解Go語言底層運行機制的程序員閱讀,同時可作為對編程語言/編譯器有興趣并想進行實際項目實踐的程序員的參考書。
目錄(127章)
倒序
- 封面
- 版權信息
- 版權
- 內容提要
- 序一
- 序二
- 序三
- 前言
- 資源與支持
- 第1章 詞法單元
- 1.1 詞法單元簡介
- 1.2 表示詞法單元的數據類型
- 1.3 FileSet和File
- 1.4 解析詞法單元
- 1.5 位置信息
- 1.6 小結
- 第2章 基礎字面值
- 2.1 基礎字面值的定義
- 2.2 基礎字面值的語法樹結構
- 2.3 構造基礎字面值
- 2.4 解析基礎字面值
- 2.5 標識符字面值
- 2.6 小結
- 第3章 基礎表達式
- 3.1 語法規范
- 3.2 解析表達式
- 3.3 求值表達式
- 3.4 標識符:為表達式引入變量
- 3.5 小結
- 第4章 代碼結構
- 4.1 目錄結構和包結構
- 4.2 文件結構
- 4.3 診斷語法樹
- 4.4 小結
- 第5章 通用聲明
- 5.1 導入聲明
- 5.2 類型聲明
- 5.3 常量聲明
- 5.4 變量聲明
- 5.5 聲明分組
- 5.6 小結
- 第6章 函數聲明
- 6.1 語法規范
- 6.2 函數聲明和方法聲明
- 6.3 參數列表和返回值列表
- 6.4 小結
- 第7章 復合類型
- 7.1 語法規范
- 7.2 基礎類型
- 7.3 指針類型
- 7.4 數組類型
- 7.5 切片類型
- 7.6 結構體類型
- 7.7 映射類型
- 7.8 管道類型
- 7.9 函數類型
- 7.10 接口類型
- 7.11 小結
- 第8章 更復雜的字面值
- 8.1 語法規范
- 8.2 函數字面值
- 8.3 復合字面值的語法
- 8.4 數組字面值和切片字面值
- 8.5 結構體字面值
- 8.6 映射字面值
- 8.7 小結
- 第9章 復合表達式
- 9.1 表達式語法
- 9.2 類型轉換和函數調用
- 9.3 點選擇運算
- 9.4 索引運算
- 9.5 切片運算
- 9.6 類型斷言
- 9.7 小結
- 第10章 語句塊和語句
- 10.1 語法規范
- 10.2 空語句塊
- 10.3 表達式語句
- 10.4 返回語句
- 10.5 聲明語句
- 10.6 短聲明語句和多賦值語句
- 10.7 if/else分支語句
- 10.8 for循環
- 10.9 類型斷言
- 10.10 go語句和defer語句
- 10.11 小結
- 第11章 類型檢查
- 11.1 語義錯誤
- 11.2 go/types包
- 11.3 跨包的類型檢查
- 11.4 小結
- 第12章 語義信息
- 12.1 名字空間
- 12.2 整體架構
- 12.3 小結
- 第13章 靜態單賦值形式
- 13.1 靜態單賦值簡介
- 13.2 生成靜態單賦值
- 13.3 靜態單賦值解釋執行
- 13.4 go/ssa包的架構
- 13.5 小結
- 第14章 凹語言
- 14.1 Hello,凹語言
- 14.2 訪問全局變量
- 14.3 調用自定義函數
- 14.4 四則運算
- 14.5 分支控制
- 14.6 導入函數
- 14.7 小結
- 第15章 LLVM簡介
- 15.1 背景介紹
- 15.2 安裝LLVM
- 15.3 printf函數
- 15.4 簡單的四則運算
- 15.5 比較運算
- 15.6 分支與循環
- 15.7 基本塊
- 15.8 PHI指令
- 15.9 有限循環
- 15.10 小結
- 第16章 LLVM示例
- 16.1 W語言
- 16.2 W語言編譯器wcc的設計
- 16.3 W語言編譯器wcc的實現
- 16.4 W語言的代碼示例
- 16.5 小結
- 后記 更新時間:2022-05-09 14:50:29
推薦閱讀
- 玩轉Scratch少兒趣味編程
- Instant Apache Stanbol
- C#編程入門指南(上下冊)
- Instant 960 Grid System
- 快速念咒:MySQL入門指南與進階實戰
- Integrating Facebook iOS SDK with Your Application
- 基于SpringBoot實現:Java分布式中間件開發入門與實戰
- 移動互聯網軟件開發實驗指導
- Quantum Computing and Blockchain in Business
- Spring+Spring MVC+MyBatis從零開始學
- Clojure for Machine Learning
- QGIS 2 Cookbook
- Visual Basic程序設計全程指南
- C語言程序設計與應用實驗指導書(第2版)
- FusionCharts Beginner’s Guide:The Official Guide for FusionCharts Suite
- C/C++代碼調試的藝術
- Blender 3D Cookbook
- H5匠人手冊:霸屏H5實戰解密
- Scratch超人漫游記:創意程序設計:STEAM創新教育指南
- Java EE應用開發及實訓
- SFML Essentials
- 片上系統設計思想與源代碼分析
- 超簡單:用Python讓Excel飛起來·核心模塊語法詳解篇
- CAE分析大系:ABAQUS有限元分析從入門到精通
- SQL編程思想:基于5種主流數據庫代碼實現
- 計算機網絡技術及應用
- Jenkins 2權威指南
- 小猴編程:Scratch 3.0趣味少兒編程(提高篇)
- 步步為贏:交互設計全流程解析
- Swift 3 Functional Programming