注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合編程語(yǔ)言實(shí)現(xiàn)模式

編程語(yǔ)言實(shí)現(xiàn)模式

編程語(yǔ)言實(shí)現(xiàn)模式

定 價(jià):¥72.00

作 者: Terence Parr 著
出版社: 華中科技大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)理論

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787560977003 出版時(shí)間: 2012-03-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 388 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《編程語(yǔ)言實(shí)現(xiàn)模式》旨在傳授開(kāi)發(fā)語(yǔ)言應(yīng)用(工具)的經(jīng)驗(yàn)和理念,幫助讀者構(gòu)建自己的語(yǔ)言應(yīng)用。這里的語(yǔ)言應(yīng)用并非特指用編譯器或解釋器實(shí)現(xiàn)編程語(yǔ)言,而是泛指任何處理、分析、翻譯輸入文件的程序,比如配置文件讀取器、數(shù)據(jù)讀取器、模型驅(qū)動(dòng)的代碼生成器、源碼到源碼的翻譯器、源碼分析工具、解釋器,以及諸如此類(lèi)的工具。為此,作者舉例講解已有語(yǔ)言應(yīng)用的工作機(jī)制,拆解、歸納出31種易于理解且常用的設(shè)計(jì)模式(每種都包括通用數(shù)據(jù)結(jié)構(gòu)、算法、策略)。雖然示例是用Java編寫(xiě)的,但相信讀者可以觸類(lèi)旁通,利用這些設(shè)計(jì)模式構(gòu)建針對(duì)其他編程語(yǔ)言(既包括特定領(lǐng)域語(yǔ)言,也包括通用編程語(yǔ)言)的應(yīng)用。

作者簡(jiǎn)介

  Terence Parr是美國(guó)舊金山大學(xué)的計(jì)算機(jī)教授、研究生導(dǎo)師,他一直致力于從事ANTLR項(xiàng)目(antlr.org)和模板引擎(stringtemplate.org)的設(shè)計(jì)和開(kāi)發(fā)工作。Terence曾擔(dān)任IBM、洛克希德馬丁、Next、雷諾汽車(chē)等公司的技術(shù)顧問(wèn),另著有《ANTLR權(quán)威指南》。

圖書(shū)目錄

第1部分  讀取輸入
第1章  初探語(yǔ)言應(yīng)用 3
1.1  大局觀 3
1.2  模式概覽 5
1.3  深入淺出語(yǔ)言應(yīng)用 9
1.4  為語(yǔ)言應(yīng)用選擇合適的模式 17
第2章  基本解析模式 21
2.1  識(shí)別式子的結(jié)構(gòu) 22
2.2  構(gòu)建遞歸下降語(yǔ)法解析器 24
2.3  使用文法DSL來(lái)構(gòu)建語(yǔ)法解析器 26
2.4  詞法單元和句子 27
第3章  高階解析模式 49
3.1  利用任意多的向前看符號(hào)進(jìn)行解析 50
3.2  記憶式解析 52
3.3  采用語(yǔ)義信息指導(dǎo)解析過(guò)程 52
第2部分  分析輸入
第4章  從語(yǔ)法樹(shù)構(gòu)建中間表示 73
4.1  為什么要構(gòu)建樹(shù) 75
4.2  構(gòu)建抽象語(yǔ)法樹(shù) 77
4.3  簡(jiǎn)要介紹ANTLR 84
4.4  使用ANTLR文法構(gòu)建AST 86
第5章  遍歷并改寫(xiě)樹(shù)形結(jié)構(gòu) 101
5.1  遍歷樹(shù)以及訪問(wèn)順序 102
5.2  封裝訪問(wèn)節(jié)點(diǎn)的代碼 105
5.3  根據(jù)文法自動(dòng)生成訪問(wèn)者 107
5.4  將遍歷與匹配解耦 110
第6章  記錄并識(shí)別程序中的符號(hào) 131
6.1  收集程序?qū)嶓w的信息 132
6.2  根據(jù)作用域劃分符號(hào) 134
6.3  解析符號(hào) 139
第7章  管理數(shù)據(jù)聚集的符號(hào)表 155
7.1  為結(jié)構(gòu)體構(gòu)建作用域樹(shù) 156
7.2  為類(lèi)構(gòu)建作用域樹(shù) 158
第8章  靜態(tài)類(lèi)型檢查 181
第3部分  解釋執(zhí)行
第9章  構(gòu)建高級(jí)解釋器 219
9.1  高級(jí)解釋器存儲(chǔ)系統(tǒng)的設(shè)計(jì) 220
9.2  高級(jí)解釋器中的符號(hào)記錄 222
9.3  處理指令 224
第10章  構(gòu)建字節(jié)碼解釋器 239
10.1  設(shè)計(jì)字節(jié)碼解釋器 241
10.2  定義匯編語(yǔ)言語(yǔ)法 243
10.3  字節(jié)碼機(jī)器的架構(gòu) 245
10.4  如何深入 250
第4部分  生成輸出
第11章  語(yǔ)言的翻譯 278
11.1  語(yǔ)法制導(dǎo)的翻譯 280
11.2  基于規(guī)則的翻譯 281
11.3  模型驅(qū)動(dòng)的翻譯 283
11.4  創(chuàng)建嵌套的輸出模型 291
第12章  使用模板生成DSL 312
12.1  熟悉StringTemplate 313
12.2  StringTemplate的性質(zhì) 316
12.2  從一個(gè)簡(jiǎn)單的輸入模型生成模板 317
12.4  在輸入模型不同的情況下復(fù)用模板 320
12.5  使用樹(shù)文法來(lái)創(chuàng)建模板 323
12.6  對(duì)數(shù)據(jù)列表使用模板 330
12.7  編寫(xiě)可改變輸出結(jié)果的翻譯器 336
第13章  知識(shí)匯總 348
13.1  在蛋白質(zhì)結(jié)構(gòu)中查找模式 348
13.2  使用腳本構(gòu)建三維場(chǎng)景 349
13.3  處理XML 350
13.4  讀取通用的配置文件 352
13.5  對(duì)代碼進(jìn)行微調(diào) 353
13.6  為Java添加新的類(lèi)型 354
13.7  美化源代碼 355
13.8  編譯為機(jī)器碼 356
參考文獻(xiàn) 359
索引 361

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)