注冊(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ǔ)言

兩周自制腳本語(yǔ)言

兩周自制腳本語(yǔ)言

定 價(jià):¥59.00

作 者: (日)千葉滋 著,陳筱煙 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

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


ISBN: 9787115355645 出版時(shí)間: 2014-05-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 285 字?jǐn)?shù):  

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

  《兩周自制腳本語(yǔ)言》是一本優(yōu)秀的編譯原理入門(mén)讀物。全書(shū)穿插了大量輕松風(fēng)趣的對(duì)話,讀者可以隨書(shū)中的人物一起從最簡(jiǎn)單的語(yǔ)言解釋器開(kāi)始,逐步添加新功能,最終完成一個(gè)支持函數(shù)、數(shù)組、對(duì)象等高級(jí)功能的語(yǔ)言編譯器?!秲芍茏灾颇_本語(yǔ)言》與眾不同的實(shí)現(xiàn)方式不僅大幅簡(jiǎn)化了語(yǔ)言處理器的復(fù)雜度,還有助于拓展讀者的視野?!秲芍茏灾颇_本語(yǔ)言》適合對(duì)編譯原理及語(yǔ)言處理器設(shè)計(jì)有興趣的讀者以及正在學(xué)習(xí)相關(guān)課程的大中專(zhuān)院校學(xué)生。同時(shí),已經(jīng)學(xué)習(xí)過(guò)相關(guān)知識(shí),有一定經(jīng)驗(yàn)的開(kāi)發(fā)者,也一定能從本書(shū)新穎的實(shí)現(xiàn)方式中受益良多。

作者簡(jiǎn)介

  千葉滋 東京工業(yè)大學(xué)研究生院信息技術(shù)理工系研究科教授,兼任東京大學(xué)研究生院信息技術(shù)理工系研究科教授。著有《面向切面入門(mén)——從Java語(yǔ)言?面向?qū)ο蟛饺階spectJ語(yǔ)言程序設(shè)計(jì)》《簡(jiǎn)明Java程序設(shè)計(jì)——Great Ideas for Java Programming》《GUI庫(kù)機(jī)制——軟件設(shè)計(jì)案例研習(xí)》等。

圖書(shū)目錄

目 錄
第1部分 基礎(chǔ)篇
第1天 來(lái),我們一起做些什么吧 1
1.1 機(jī)器語(yǔ)言與匯編語(yǔ)言 2
1.2 解釋器與編譯器 3
1.3 開(kāi)發(fā)語(yǔ)言處理器 5
1.4 語(yǔ)言處理器的結(jié)構(gòu)與本書(shū)的框架 6
第2天 設(shè)計(jì)程序設(shè)計(jì)語(yǔ)言 10
2.1 麻雀雖小、五臟俱全的程序設(shè)計(jì)語(yǔ)言 11
2.2 句尾的分號(hào) 12
2.3 含糊不得的語(yǔ)言 14
第3天 分割單詞 17
3.1 Token對(duì)象 18
3.2 通過(guò)正則表達(dá)式定義單詞 19
3.3 借助java.util.regex設(shè)計(jì)詞法分析器 22
3.4 詞法分析器試運(yùn)行 27
第4天 用于表示程序的對(duì)象 30
4.1 抽象語(yǔ)法樹(shù)的定義 31
4.2 設(shè)計(jì)節(jié)點(diǎn)類(lèi) 34
4.3 BNF 38
4.4 語(yǔ)法分析與抽象語(yǔ)法樹(shù) 42
第5天 設(shè)計(jì)語(yǔ)法分析器 44
5.1 Stone語(yǔ)言的語(yǔ)法 45
5.2 使用解析器與組合子 46
5.3 由語(yǔ)法分析器生成的抽象語(yǔ)法樹(shù) 53
5.4 測(cè)試語(yǔ)法分析器 59
第6天 通過(guò)解釋器執(zhí)行程序 62
6.1 eval方法與環(huán)境對(duì)象 63
6.2 各種類(lèi)型的eval方法 65
6.3 關(guān)于GluonJ 69
6.4 執(zhí)行程序 72
第7天 添加函數(shù)功能 75
7.1 擴(kuò)充語(yǔ)法規(guī)則 76
7.2 作用域與生存周期 81
7.3 執(zhí)行函數(shù) 83
7.4 計(jì)算斐波那契數(shù) 89
7.5 為閉包提供支持 90
7.6 實(shí)現(xiàn)閉包 92
第8天 關(guān)聯(lián)Java語(yǔ)言 95
8.1 原生函數(shù) 96
8.2 編寫(xiě)使用原生函數(shù)的程序 98
第9天 設(shè)計(jì)面向?qū)ο笳Z(yǔ)言 101
9.1 設(shè)計(jì)用于操作類(lèi)與對(duì)象的語(yǔ)法 102
9.2 實(shí)現(xiàn)類(lèi)所需的語(yǔ)法規(guī)則 103
9.3 實(shí)現(xiàn)eval方法 104
9.4 通過(guò)閉包表示對(duì)象 110
9.5 運(yùn)行包含類(lèi)的程序 114
第10天 無(wú)法割舍的數(shù)組 115
10.1 擴(kuò)展語(yǔ)法分析器 116
10.2 僅通過(guò)修改器來(lái)實(shí)現(xiàn)數(shù)組 119
第2部分 性能優(yōu)化篇
第11天 優(yōu)化變量讀寫(xiě)性能 123
11.1 通過(guò)簡(jiǎn)單數(shù)組來(lái)實(shí)現(xiàn)環(huán)境 124
11.2 用于記錄全局變量的環(huán)境 127
11.3 事先確定變量值的存放位置 130
11.4 修正eval方法并最終完成性能優(yōu)化 134
第12天 優(yōu)化對(duì)象操作性能 137
12.1 減少內(nèi)存占用 138
12.2 能否通過(guò)事先查找變量的保存位置來(lái)優(yōu)化性能 141
12.3 定義lookup方法 144
12.4 整合所有修改并執(zhí)行 147
12.5 內(nèi)聯(lián)緩存 152
第13天 設(shè)計(jì)中間代碼解釋器 156
13.1 中間代碼與機(jī)器語(yǔ)言 157
13.2 Stone虛擬機(jī) 158
13.3 通過(guò)棧實(shí)現(xiàn)環(huán)境 167
13.4 寄存器的使用 170
13.5 引用變量的值 173
13.6 if語(yǔ)句與while語(yǔ)句 173
13.7 函數(shù)的定義與調(diào)用 175
13.8 轉(zhuǎn)換為虛擬機(jī)器語(yǔ)言 177
13.9 通過(guò)虛擬機(jī)執(zhí)行 184
第14天 為Stone語(yǔ)言添加靜態(tài)類(lèi)型支持以優(yōu)化性能 187
14.1 指定變量類(lèi)型 188
14.2 通過(guò)數(shù)據(jù)類(lèi)型檢查發(fā)現(xiàn)錯(cuò)誤 193
14.3 運(yùn)行程序時(shí)執(zhí)行類(lèi)型檢查 204
14.4 對(duì)類(lèi)型省略的變量進(jìn)行類(lèi)型推論 208
14.5 Java二進(jìn)制代碼轉(zhuǎn)換 214
14.6 綜合所有修改再次運(yùn)行程序 226
第3部分 解說(shuō)篇(自習(xí)時(shí)間)
第15天 手工設(shè)計(jì)詞法分析器 229
15.1 修改自動(dòng)機(jī) 230
15.2 自動(dòng)機(jī)程序 233
15.3 正則表達(dá)式的極限 235
第16天 語(yǔ)法分析方式 236
16.1 正則表達(dá)式與BNF 237
16.2 語(yǔ)法分析算法 238
16.3 LL語(yǔ)法分析 239
16.4 算符優(yōu)先分析法與自底向上語(yǔ)法分析 244
第17天 Parser庫(kù)的內(nèi)部結(jié)構(gòu) 251
17.1 組合子分析 252
17.2 解析器組合子的內(nèi)部 252
第18天 GluonJ的使用方法 263
18.1 設(shè)定類(lèi)路徑 264
18.2 啟動(dòng)設(shè)定 265
18.3 GluonJ語(yǔ)言 267
18.4 功能總結(jié) 268
第19天 抽象語(yǔ)法樹(shù)與設(shè)計(jì)模式 271
19.1 理想的設(shè)計(jì) 272
19.2 Interpreter模式 273
19.3 Visitor模式 276
19.4 使用反射 282
19.5 面向切面語(yǔ)言 284

本目錄推薦

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