出版時(shí)間:2010-9 出版社:機(jī)械工業(yè) 作者:賀汛 頁(yè)數(shù):287
前言
編譯技術(shù)是計(jì)算機(jī)語(yǔ)言發(fā)展的支柱,也是計(jì)算機(jī)科學(xué)中發(fā)展最迅速、最成熟的分支之一。編譯原理課程是繼C語(yǔ)言程序設(shè)計(jì)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)等課程后,對(duì)工科計(jì)算機(jī)專業(yè)開(kāi)設(shè)的一門(mén)重要課程,在教學(xué)中占有十分重要的地位。編譯的一般原理和基本技術(shù)不僅適用于構(gòu)造程序設(shè)計(jì)語(yǔ)言的編譯程序,也適用于各種系統(tǒng)軟件、應(yīng)用軟件的設(shè)計(jì)和實(shí)現(xiàn)。其中的形式語(yǔ)言理論和自動(dòng)機(jī)理論,通過(guò)對(duì)問(wèn)題的抽象、描述和識(shí)別,從本質(zhì)上對(duì)問(wèn)題進(jìn)行認(rèn)識(shí)和分析,并加以解決,這種思維方法對(duì)學(xué)生抽象思維能力的培養(yǎng)有著極其積極的意義。編譯原理課程與數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、程序設(shè)計(jì)語(yǔ)言等課程的聯(lián)系也甚為密切??梢哉f(shuō),編譯是這些課程的綜合應(yīng)用,對(duì)這些課程內(nèi)容的理解和鞏固起到了良好的作用?! ∽髡呔帉?xiě)本教材的主導(dǎo)思想是:以培養(yǎng)抽象思維能力為目的,在介紹編譯相關(guān)的理論、工具和方法的同時(shí),重點(diǎn)強(qiáng)調(diào)問(wèn)題的抽象描述和問(wèn)題分析的思路,以求提高學(xué)生分析問(wèn)題解決問(wèn)題的能力,同時(shí)通過(guò)實(shí)際編程,提高學(xué)生理論應(yīng)用于實(shí)踐的能力,提高程序設(shè)計(jì)水平?! ”窘滩膬?nèi)容共分3部分:第1部分即第1章,簡(jiǎn)單介紹編譯的基本過(guò)程和編譯程序的基本結(jié)構(gòu);第2部分包括第2章的形式語(yǔ)言和文法、第3章的有窮自動(dòng)機(jī),介紹形式語(yǔ)言理論中有關(guān)語(yǔ)言和文法的基本知識(shí)、自動(dòng)機(jī)理論中的有窮自動(dòng)機(jī)的相關(guān)內(nèi)容,為后續(xù)編譯方法的介紹做基礎(chǔ)理論準(zhǔn)備;第3部分從第4章開(kāi)始,按編譯的過(guò)程逐一介紹編譯的各個(gè)階段的任務(wù)、原理和實(shí)現(xiàn)的基本技術(shù),包括第4章的詞法分析方法、第5~7章的自頂向下和自底向上兩大類語(yǔ)法分析方法、第8章的自底向上語(yǔ)法制導(dǎo)翻譯技術(shù)、第11章的中間代碼優(yōu)化中的基本塊優(yōu)化技術(shù)和循環(huán)優(yōu)化技術(shù),以及第12章的基本塊目標(biāo)代碼生成方法,另外,第9章介紹了編譯程序的重要組成部分——符號(hào)表,以及有關(guān)符號(hào)表的組織與操作,第10章介紹了與編譯相關(guān)的程序運(yùn)行時(shí)的存儲(chǔ)空間組織問(wèn)題。
內(nèi)容概要
《編譯方法(第2版)》介紹程序設(shè)計(jì)語(yǔ)言的編譯程序的設(shè)計(jì)技術(shù),主要由編譯程序的基本結(jié)構(gòu)、形式語(yǔ)言和自動(dòng)機(jī)理論的基礎(chǔ)知識(shí)、編譯過(guò)程各階段的工作原理與實(shí)現(xiàn)方法三大部分組成。 《編譯方法(第2版)》內(nèi)容通俗易懂,敘述簡(jiǎn)明,強(qiáng)調(diào)抽象思維,突出理論與實(shí)踐的結(jié)合。為便于學(xué)生及時(shí)復(fù)習(xí)與鞏固所學(xué)知識(shí),在各章的最后給出了典型例題、內(nèi)容小結(jié)和練習(xí)題。書(shū)中還設(shè)計(jì)了兩套實(shí)驗(yàn),一套是局部性的針對(duì)某一算法的編程實(shí)驗(yàn),每個(gè)程序相對(duì)獨(dú)立;另一套是綜合性實(shí)驗(yàn),為一個(gè)小語(yǔ)言構(gòu)造完整的編譯程序。兩套實(shí)驗(yàn)可根據(jù)學(xué)生情況進(jìn)行適當(dāng)?shù)倪x擇。 《編譯方法(第2版)》適合作為高校計(jì)算機(jī)專業(yè)的教材,也可供從事計(jì)算機(jī)應(yīng)用和軟件開(kāi)發(fā)的工程技術(shù)人員自學(xué)。
書(shū)籍目錄
出版說(shuō)明前言第1章 概述1.1 程序設(shè)計(jì)語(yǔ)言與程序1.1.1 程序設(shè)計(jì)語(yǔ)言的定義1.1.2 程序設(shè)計(jì)語(yǔ)言的分類1.1.3 程序及其結(jié)構(gòu)1.1.4 高級(jí)語(yǔ)言程序的處理過(guò)程1.2 編譯程序1.2.1 編譯與解釋1.2.2 編譯過(guò)程和編譯程序的結(jié)構(gòu)1.2.3 編譯程序的生成1.2.4 編譯程序與程序設(shè)計(jì)環(huán)境1.3 編譯技術(shù)的應(yīng)用1.4 本章 小結(jié)1.5 習(xí)題第2章 形式語(yǔ)言和文法2.1 形式語(yǔ)言2.1.1 語(yǔ)言的概念2.1.2 語(yǔ)言的定義方式2.2 文法2.2.1 文法的形式定義2.2.2 文法的表示方法2.2.3 相關(guān)概念2.3 文法的分類和化簡(jiǎn)2.3.1 文法的分類2.3.2 兩個(gè)定理2.3.3 文法的化簡(jiǎn)2.4 文法的二義性2.5 典型例題2.6 本章 小結(jié)2.7 習(xí)題第3章 有窮自動(dòng)機(jī)3.1 正規(guī)式與正規(guī)集3.1.1 概念3.1.2 正規(guī)式和正規(guī)文法的等價(jià)性3.2 有窮自動(dòng)機(jī)3.2.1 有窮自動(dòng)機(jī)3.2.2 確定的有窮自動(dòng)機(jī)3.2.3 不確定的有窮自動(dòng)機(jī)3.2.4 NFA與DFA的等價(jià)性3.2.5 DFA的化簡(jiǎn)3.3 正規(guī)式和FA的等價(jià)性3.3.1 構(gòu)造與FA等價(jià)的正規(guī)式3.3.2 構(gòu)造與正規(guī)式等價(jià)的FA3.4 正規(guī)文法和FA的等價(jià)性3.4.1 構(gòu)造與正規(guī)文法等價(jià)的FA3.4.2 構(gòu)造與FA等價(jià)的正規(guī)文法3.5 典型例題3.6 本章 小結(jié)3.7 習(xí)題3.8 實(shí)驗(yàn)第4章 詞法分析4.1 詞法分析的任務(wù)4.2 程序設(shè)計(jì)語(yǔ)言的單詞4.2.1 單詞的種類4.2.2 單詞的機(jī)內(nèi)表示方法4.3 單詞的形式描述4.3.1 正規(guī)式描述4.3.2 正規(guī)文法描述4.4 詞法分析程序的構(gòu)造4.4.1 根據(jù)DFA構(gòu)造詞法分析程序4.4.2 詞法分析程序構(gòu)造的相關(guān)問(wèn)題4.5 詞法分析程序的自動(dòng)生成工具LEx簡(jiǎn)介4.5.1 LEX語(yǔ)言源程序4.5.2 LEX編譯程序工作原理4.6 典型例題4.7 本章 小結(jié)4.8 習(xí)題4.9 實(shí)驗(yàn)第5章 自頂向下語(yǔ)法分析5.1 程序設(shè)計(jì)語(yǔ)言的語(yǔ)法描述5.2 自頂向下的語(yǔ)法分析概述5.2.1 自頂向下的語(yǔ)法分析方法5.2.2 確定的自頂向下的語(yǔ)法分析方法5.2.3 不確定的自頂向下的語(yǔ)法分析方法5.3 LL(1)文法5.3.1 “回溯”的原因5.3.2 “回溯”的消除5.3.3 LL(1)文法的定義5.4 預(yù)測(cè)分析法5.4.1 預(yù)測(cè)分析表5.4.2 分析棧5.4.3 預(yù)測(cè)分析程序5.5 遞歸下降分析法5.6 典型例題5.7 本章 小結(jié)5.8 習(xí)題5.9 實(shí)驗(yàn)第6章 算符優(yōu)先分析6.1 自底向上語(yǔ)法分析概述6.1.1 自底向上語(yǔ)法分析過(guò)程6.1.2 自底向上語(yǔ)法分析的實(shí)現(xiàn)6.1.3 短語(yǔ)和句柄6.2 簡(jiǎn)單優(yōu)先分析法6.2.1 優(yōu)先關(guān)系6.2.2 簡(jiǎn)單優(yōu)先文法6.2.3 簡(jiǎn)單優(yōu)先分析法6.3 算符優(yōu)先分析法6.3.1 算符優(yōu)先文法6.3.2 算符優(yōu)先分析算法6.4 優(yōu)先函數(shù)6.4.1 優(yōu)先函數(shù)的定義6.4.2 優(yōu)先函數(shù)的構(gòu)造6.5 典型例題6.6 本章 小結(jié)6.7 習(xí)題6.8 實(shí)驗(yàn)第7章 LR分析法7.1 LR分析概述7.1.1 分析思想7.1.2 分析器組成7.2 LR(0)分析表7.2.1 LR(O)項(xiàng)目集規(guī)范族7.2.2 LR(O)文法7.2.3 LR(o)分析器的工作過(guò)程7.3 SLR(1)分析表7.3.1 SLR(1)文法7.3.2 SLR(1)分析表的構(gòu)造7.4 LR(1)分析表7.4.1 LR(1)文法7.4.2 LR(1)項(xiàng)目集規(guī)范族的構(gòu)造7.4.3 LR(1)分析表的構(gòu)造7.5 LALR(1)分析表7.5.1 LALR(1)文法7.5.2 LALR(1)分析表的構(gòu)造7.6 語(yǔ)法分析程序的自動(dòng)生成工具YACC簡(jiǎn)介7.6.1 YACC對(duì)語(yǔ)言的要求7.6.2 YACC的輸入/輸出7.6.3 YACC源程序7.7 典型例題7.8 本章 小結(jié)7.9 習(xí)題7.10 實(shí)驗(yàn)第8章 語(yǔ)義分析和中間代碼生成第9章 符號(hào)表第10章 運(yùn)行時(shí)存儲(chǔ)空間的組織第11章 代碼優(yōu)化第12章 目標(biāo)代碼生成附錄參考文獻(xiàn)
章節(jié)摘錄
眾所周知,計(jì)算機(jī)硬件并不懂得BASIC、Pascal、C、C++、Ada、Java等高級(jí)程序設(shè)計(jì)語(yǔ)言,它所能執(zhí)行的僅僅是O/I代碼的機(jī)器語(yǔ)言,但高級(jí)語(yǔ)言之所以能以其獨(dú)特的優(yōu)勢(shì)而被廣泛使用,其原因就在于翻譯程序的存在。翻譯程序能將高級(jí)語(yǔ)言程序翻譯成等價(jià)的0/1代碼指令,而編譯程序就是這種翻譯程序之一,它已成為現(xiàn)代計(jì)算機(jī)系統(tǒng)的基本組成部分?! 【幾g原理與技術(shù)是計(jì)算機(jī)工作者所必備的專業(yè)基礎(chǔ)知識(shí),其內(nèi)容涉及程序設(shè)計(jì)語(yǔ)言、形式語(yǔ)言與自動(dòng)機(jī)理論、算法分析與設(shè)計(jì)、軟件工程等諸多方面。通過(guò)對(duì)這些知識(shí)的學(xué)習(xí),不僅能掌握基本理論與方法,還將得到分析問(wèn)題和解決問(wèn)題的方法與能力的訓(xùn)練,并極大地提高邏輯思維和抽象思維能力?! ”菊聦⒃诨仡櫝绦蛟O(shè)計(jì)語(yǔ)言相關(guān)內(nèi)容的基礎(chǔ)上說(shuō)明編譯程序與程序設(shè)計(jì)語(yǔ)言之間的關(guān)系,并簡(jiǎn)單敘述編譯的過(guò)程及編譯程序的結(jié)構(gòu)?! ?/pre>圖書(shū)封面
評(píng)論、評(píng)分、閱讀與下載
- 還沒(méi)讀過(guò)(75)
- 勉強(qiáng)可看(546)
- 一般般(932)
- 內(nèi)容豐富(3866)
- 強(qiáng)力推薦(317)
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版