求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

編程語言實現模式檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
編程語言實現模式

《編程語言實現模式》是Terence Parr編寫的書籍,由華中科技大學出版社於2012年3月20日出版。

基本內容

定價:72

出版時間:2012-3-20

裝幀:平裝

頁數:388

書名:編程語言實現模式

出版社:華中科技大學出版社

作者:Terence Parr

譯者:李袁奎堯飄海

類別:9787560977003

內容簡介

本書旨在傳授構建語言應用(工具)的經驗和理念,教讀者構建自己的語言應用。這裡的語言應用並非特指用編譯器或解釋器實現編程語言,而是泛指任何處理、分析、翻譯輸入文件的程序,比如配置文件讀取器、數據讀取器、模型驅動的代碼生成器、源碼到源碼的翻譯器、源碼分析工具、解釋器,以及諸如此類的工具。為此,作者舉例講解已有語言應用的工作機制,拆解、歸納出31種易於理解且常用的設計模式(每種都包括通用數據結構、算法、策略)。雖然示例是用Java編寫的,但相信讀者可以觸類旁通,利用這些設計模式構建針對其他編程語言(既包括特定領域語言,也包括通用編程語言)的應用。

作者簡介

Terence Parr是美國舊金山大學的計算機教授、研究生導師,他一直致力於從事ANTLR項目和模板引擎 的設計和開發工作。Terence曾擔任IBM、洛克希德馬丁、NeXT、雷諾汽車等公司的技術顧問,另著有《ANTLR權威指南》。

圖書目錄

第1部分 讀取輸入

第1章 初探語言應用 3

1.1 大局觀 3

1.2 模式概覽 5

1.3 深入淺出語言應用 9

1.4 為語言應用選擇合適的模式 17

第2章 基本解析模式 21

2.1 識別式子的結構 22

2.2 構建遞歸下降語法解析器 24

2.3 使用文法DSL來構建語法解析器 26

2.4 詞法單元和句子 27

第3章 高階解析模式 49

3.1 利用任意多的向前看符號進行解析 50

3.2 記憶式解析 52

3.3 採用語義信息指導解析過程 52

第2部分 分析輸入

第4章 從語法樹構建中間表示 73

4.1 為什麼要構建樹 75

4.2 構建抽象語法樹 77

4.3 簡要介紹ANTLR 84

4.4 使用ANTLR文法構建AST 86

第5章 遍歷並改寫樹形結構 101

5.1 遍歷樹以及訪問順序 102

5.2 封裝訪問節點的代碼 105

5.3 根據文法自動生成訪問者 107

5.4 將遍歷與匹配解耦 110

第6章 記錄並識別程序中的符號 131

6.1 收集程序實體的信息 132

6.2 根據作用域劃分符號 134

6.3 解析符號 139

第7章 管理數據聚集的符號表 155

7.1 為結構體構建作用域樹 156

7.2 為類構建作用域樹 158

第8章 靜態類型檢查 181

第3部分 解釋執行

第9章 構建高級解釋器 219

9.1 高級解釋器存儲系統的設計 220

9.2 高級解釋器中的符號記錄 222

9.3 處理指令 224

第10章 構建字節碼解釋器 239

10.1 設計字節碼解釋器 241

10.2 定義匯編語言語法 243

10.3 字節碼機器的架構 245

10.4 如何深入 250

第4部分 生成輸出

第11章 語言的翻譯 278

11.1 語法制導的翻譯 280

11.2 基於規則的翻譯 281

11.3 模型驅動的翻譯 283

11.4 創建嵌套的輸出模型 291

第12章 使用模板生成DSL 312

12.1 熟悉StringTemplate 313

12.2 StringTemplate的性質 316

12.2 從一個簡單的輸入模型生成模板 317

12.4 在輸入模型不同的情況下復用模板 320

12.5 使用樹文法來創建模板 323

12.6 對數據列表使用模板 330

12.7 編寫可改變輸出結果的翻譯器 336

第13章 知識匯總 348

13.1 在蛋白質結構中查找模式 348

13.2 使用腳本構建三維場景 349

13.3 處理XML 350

13.4 讀取通用的配置文件 352

13.5 對代碼進行微調 353

13.6 為Java添加新的類型 354

13.7 美化源代碼 355

13.8 編譯為機器碼 356

參考文獻 359

索引 361[1]

參考文獻

  1. 自定義編程語言的實現簡書網,2018-03-01