注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書教育/教材/教輔教材研究生/本科/專科教材編譯技術(shù)與應(yīng)用(微課視頻版 題庫(kù)版)

編譯技術(shù)與應(yīng)用(微課視頻版 題庫(kù)版)

編譯技術(shù)與應(yīng)用(微課視頻版 題庫(kù)版)

定 價(jià):¥69.00

作 者: 楊金民,陳果,黎文偉
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302631057 出版時(shí)間: 2023-04-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 字?jǐn)?shù):  

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

  本書以全新的視角透視編譯技術(shù),圍繞編譯中的詞法分析、語(yǔ)法分析、語(yǔ)法制導(dǎo)的翻譯、語(yǔ)義分析和中間代碼生成、運(yùn)行環(huán)境和目標(biāo)代碼生成、代碼優(yōu)化這6個(gè)核心問(wèn)題展開,共分7章。本書重點(diǎn)針對(duì)編譯器構(gòu)造方法學(xué)展開分析和論述,以揭示編譯技術(shù)的內(nèi)涵,展示其優(yōu)美性和藝術(shù)性。本書也探索技術(shù)演進(jìn)背后的動(dòng)因,追蹤業(yè)界**技術(shù)及其發(fā)展趨勢(shì),幫助讀者靈活應(yīng)對(duì)IT技術(shù)發(fā)展與變遷所帶來(lái)的挑戰(zhàn)。本書內(nèi)容新穎、通俗易懂,特別適合作為高等院校計(jì)算機(jī)及相關(guān)專業(yè)的教材,也可以作為工程技術(shù)培訓(xùn)的教材。本書也非常適合科研人員和工程技術(shù)人員閱讀,從中感悟編譯技術(shù)的內(nèi)涵,體會(huì)其精妙之處。

作者簡(jiǎn)介

  楊金民,男,湖南寧鄉(xiāng)人。1990年在國(guó)防科技大學(xué)本科畢業(yè)后,先后在空軍飛機(jī)修理廠從事飛機(jī)修理工作,在電力公司任IT高級(jí)工程師。2004年在湖南大學(xué)獲得計(jì)算機(jī)應(yīng)用博士學(xué)位后留校任教,主講數(shù)據(jù)庫(kù)系統(tǒng),編譯技術(shù),軟件集成等課程。2005年被評(píng)為湖南省青年骨干教師培養(yǎng)對(duì)象;2007年在加拿大Victoria大學(xué)做博士后一年。2011年被推選為湖南大學(xué)“我心目中最敬愛的老師”候選人,2015年在美國(guó)Illinios做訪問(wèn)學(xué)者半年?,F(xiàn)為湖南大學(xué)信息科學(xué)與構(gòu)成學(xué)院教授。是HPCC19,IEEEMAW13、PACRIM11、DMIR10、PRDC05國(guó)際會(huì)議的程序委員會(huì)成員,China HPC專委會(huì)成員。先后發(fā)表論文30多篇,獲得省部級(jí)科技進(jìn)步獎(jiǎng)四次,專利兩項(xiàng)。

圖書目錄

第1章編譯技術(shù)概述1

1.1計(jì)算模型和機(jī)器語(yǔ)言的特性2

1.2高級(jí)程序語(yǔ)言及其特性4

1.3編譯方法及過(guò)程6

1.3.1源程序的構(gòu)成特性6

1.3.2編譯過(guò)程7

1.3.3編譯器的結(jié)構(gòu)特性12

1.4編譯器構(gòu)造方法學(xué)13

1.5編譯前對(duì)源程序文本的預(yù)處理15

1.6程序調(diào)試17

1.7編譯執(zhí)行和解釋執(zhí)行18

1.8編譯方式的演進(jìn)20

1.9虛擬機(jī)22

1.10程序語(yǔ)言的發(fā)展歷程23

1.11當(dāng)前主流的編譯器產(chǎn)品24

1.12編譯知識(shí)的廣泛應(yīng)用25

1.13本章小結(jié)26

知識(shí)拓展: 別名的概述26

習(xí)題28

第2章詞法分析29

2.1高級(jí)程序語(yǔ)言的詞構(gòu)成特性29

2.2詞法的描述31

2.2.1正則語(yǔ)言和正則運(yùn)算31

2.2.2C語(yǔ)言詞法的正則描述33

2.2.3詞法分析的實(shí)現(xiàn)框架34

2.2.4正則表達(dá)式的含義35

2.3基于狀態(tài)轉(zhuǎn)換圖的詞法分析36

2.3.1基于狀態(tài)轉(zhuǎn)換圖的匹配判斷36

2.3.2狀態(tài)轉(zhuǎn)換圖的特征37

2.3.3基于狀態(tài)轉(zhuǎn)換圖的通用詞法分析器39

2.4正則表達(dá)式的狀態(tài)轉(zhuǎn)換圖自動(dòng)生成方法40

2.4.1正則表達(dá)式的NFA原生構(gòu)造方法41

2.4.2基于NFA的匹配判斷算法44

2.4.3基于NFA的DFA構(gòu)造方法46

2.4.4正則表達(dá)式的最簡(jiǎn)NFA構(gòu)造法49

2.4.5特殊正則表達(dá)式的最簡(jiǎn)NFA構(gòu)造54

2.4.6NFA和DFA中狀態(tài)屬性值的確定方法56

2.4.7正則表達(dá)式之間的包含關(guān)系58

2.5正則表達(dá)式及其DFA在文本搜索中的應(yīng)用61

2.6本章小結(jié)62

知識(shí)拓展: NFA和DFA構(gòu)造中涉及的數(shù)據(jù)結(jié)構(gòu)63

習(xí)題65

◆編譯技術(shù)與應(yīng)用(微課視頻版·題庫(kù)版)目錄◆第3章語(yǔ)法分析67

3.1程序的樹結(jié)構(gòu)特性68

3.2語(yǔ)言的語(yǔ)法描述69

3.3詞串的語(yǔ)法分析樹及其構(gòu)造策略73

3.4語(yǔ)法描述和詞法描述的比較75

3.5自頂向下和最左推導(dǎo)的語(yǔ)法分析78

3.5.1自頂向下和最左推導(dǎo)的語(yǔ)法分析過(guò)程78

3.5.2左遞歸及其消除方法80

3.5.3左公因子及其提取方法83

3.5.4推導(dǎo)中的產(chǎn)生式選擇84

3.5.5FIRST和FOLLOW函數(shù)值求解算法87

3.5.6LL(1)文法特性及其語(yǔ)法分析表93

3.5.7二義性文法的可改造性94

3.5.8基于LL(1)語(yǔ)法分析表和符號(hào)棧的語(yǔ)法分析器通用代碼95

3.6自底向上的語(yǔ)法分析98

3.6.1自底向上的語(yǔ)法分析及有待解決的關(guān)鍵問(wèn)題99

3.6.2文法的DFA構(gòu)造方法100

3.6.3基于狀態(tài)棧和文法DFA的LR語(yǔ)法分析104

3.6.4基于FOLLOW函數(shù)值的沖突解決方法107

3.6.5基于語(yǔ)法分析表的LR語(yǔ)法分析通用代碼108

3.6.6基于FOLLOW精確化的沖突解決方法112

3.7LL語(yǔ)法分析和LR語(yǔ)法分析的對(duì)比116

3.8LR文法設(shè)計(jì)116

3.8.1DFA物理含義的挖掘和應(yīng)用117

3.8.2盡量減少文法中的非終結(jié)符數(shù)量119

3.8.3非終結(jié)符語(yǔ)義的寬泛化121

3.8.4文法的二義性及其消除方法124

3.8.5LALR(1)型DFA的收益和代價(jià)124

3.8.6文法的上下文無(wú)關(guān)性126

3.9LR語(yǔ)法分析中錯(cuò)誤的恢復(fù)127

3.10本章小結(jié)129

知識(shí)拓展: 語(yǔ)法分析表構(gòu)造中涉及的數(shù)據(jù)結(jié)構(gòu)130

習(xí)題132

第4章語(yǔ)法制導(dǎo)的翻譯135

4.1LR分析中的語(yǔ)法制導(dǎo)翻譯136

4.1.1LR分析中的語(yǔ)法制導(dǎo)翻譯簡(jiǎn)介136

4.1.2LR分析中語(yǔ)法制導(dǎo)的翻譯實(shí)現(xiàn)框架139

4.1.3詞法分析器構(gòu)造工具的實(shí)現(xiàn)142

4.2LL分析中語(yǔ)法制導(dǎo)的翻譯149

4.2.1LL分析中語(yǔ)法制導(dǎo)的翻譯簡(jiǎn)介149

4.2.2LL分析中語(yǔ)法制導(dǎo)的翻譯實(shí)現(xiàn)框架150

4.3從LR型SDT得出LL型SDT156

4.4LR語(yǔ)法分析中對(duì)繼承屬性的處理158

4.5本章小結(jié)161

習(xí)題162

第5章語(yǔ)義分析與中間代碼生成164

5.1語(yǔ)義分析和中間代碼生成簡(jiǎn)介165

5.1.1程序的層級(jí)結(jié)構(gòu)165

5.1.2類型的語(yǔ)義分析167

5.1.3變量的語(yǔ)義分析170

5.1.4函數(shù)的語(yǔ)義分析173

5.1.5中間語(yǔ)言簡(jiǎn)介174

5.1.6中間代碼生成簡(jiǎn)介176

5.2類型和變量的語(yǔ)義分析框架179

5.3類型和變量定義的SDT設(shè)計(jì)180

5.3.1高級(jí)程序語(yǔ)言中的指針語(yǔ)義180

5.3.2類型和變量定義的文法設(shè)計(jì)182

5.3.3類型和變量定義的語(yǔ)義分析及其SDD設(shè)計(jì)183

5.3.4類型和變量定義的語(yǔ)義分析SDT設(shè)計(jì)185

5.4變量使用的SDT設(shè)計(jì)190

5.4.1變量地址的確定方法190

5.4.2描述變量使用的文法192

5.4.3變量使用的語(yǔ)義分析和中間代碼生成SDD設(shè)計(jì)194

5.4.4變量使用的語(yǔ)義分析和中間代碼生成SDT設(shè)計(jì)197

5.5運(yùn)算的語(yǔ)義分析和中間代碼生成201

5.6類型系統(tǒng)205

5.7分支語(yǔ)句的中間代碼生成206

5.7.1分支語(yǔ)句的文法207

5.7.2分支語(yǔ)句的中間代碼生成SDD設(shè)計(jì)209

5.7.3分支語(yǔ)句的中間代碼生成SDT設(shè)計(jì)212

5.7.4分支語(yǔ)句中break和continue語(yǔ)句的處理217

5.8函數(shù)調(diào)用的語(yǔ)義分析和中間代碼生成218

5.9本章小結(jié)219

習(xí)題220

第6章運(yùn)行環(huán)境和目標(biāo)代碼生成222

6.1函數(shù)調(diào)用223

6.1.1局部變量的靜態(tài)存儲(chǔ)分配方案224

6.1.2局部變量的動(dòng)態(tài)存儲(chǔ)分配方案225

6.1.3相對(duì)尋址方式帶來(lái)的好處228

6.1.4形參和數(shù)組的動(dòng)態(tài)性229

6.2軟件集成230

6.2.1源代碼級(jí)的軟件集成231

6.2.2二進(jìn)制可執(zhí)行文件級(jí)的軟件集成233

6.2.3跨模塊內(nèi)存訪問(wèn)帶來(lái)的問(wèn)題及解決方法235

6.2.4靜態(tài)鏈接與動(dòng)態(tài)鏈接237

6.3軟件調(diào)試238

6.3.1程序之間的交互238

6.3.2運(yùn)行環(huán)境的構(gòu)建239

6.3.3調(diào)試器與被調(diào)程序之間的協(xié)同交互241

6.3.4變量值的獲取與關(guān)聯(lián)243

6.4垃圾自動(dòng)回收245

6.4.1基于引用記數(shù)的垃圾回收方法246

6.4.2基于定期識(shí)別和清掃的垃圾回收方法247

6.4.3基于程序分析的垃圾識(shí)別和清除249

6.5異常處理250

6.6面向?qū)ο笾械亩鄳B(tài)252

6.6.1面向?qū)ο缶幊虇?wèn)題的揭示253

6.6.2基于代理的解耦和封裝實(shí)現(xiàn)方案255

6.6.3基于多態(tài)的面向?qū)ο缶幊虇?wèn)題解決方案256

6.6.4接口特性259

6.6.5接口獲取259

6.7本章小結(jié)260

習(xí)題262

第7章代碼優(yōu)化264

7.1中間代碼的優(yōu)化265

7.1.1基本塊和流圖265

7.1.2中間代碼優(yōu)化途徑267

7.2目標(biāo)代碼優(yōu)化基礎(chǔ)270

7.2.1計(jì)算機(jī)特性270

7.2.2目標(biāo)語(yǔ)言272

7.2.3目標(biāo)代碼生成與優(yōu)化275

7.3寄存器分配276

7.3.1活變量標(biāo)識(shí)算法276

7.3.2基于圖著色的寄存器分配278

7.3.3變量溢出280

7.3.4內(nèi)存數(shù)據(jù)的加載和刷新281

7.3.5寄存器騰空和變量溢出283

7.3.6同步函數(shù)和異步函數(shù)284

7.4基于機(jī)器其他特性的代碼優(yōu)化285

7.4.1基于指令流水線處理的代碼優(yōu)化285

7.4.2基于高速緩存的代碼優(yōu)化286

7.4.3基于多核處理器的代碼優(yōu)化287

7.4.4大數(shù)據(jù)處理和云計(jì)算中的優(yōu)化288

7.5本章小結(jié)289

習(xí)題289

參考文獻(xiàn)291


本目錄推薦

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