普通高等教育“十一五”國家級(jí)規(guī)劃教材·21世紀(jì)計(jì)算機(jī)科學(xué)與技術(shù)實(shí)踐型教程:編譯原理及實(shí)現(xiàn)(第2版)
定 價(jià):28 元
- 作者:孫悅紅 著
- 出版時(shí)間:2011/11/1
- ISBN:9787302265849
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP314
- 頁碼:256
- 紙張:膠版紙
- 版次:2
- 開本:16開
《普通高等教育“十一五”國家級(jí)規(guī)劃教材·21世紀(jì)計(jì)算機(jī)科學(xué)與技術(shù)實(shí)踐型教程:編譯原理及實(shí)現(xiàn)(第2版)》以通俗易懂的語言介紹編譯原理的理論和常用的方法與技術(shù),并著重介紹各種編譯方法的實(shí)現(xiàn)途徑。全書共分10章,包括形式語言基礎(chǔ)、詞法分析、語法分析、語義分析及代碼生成、符號(hào)表管理、運(yùn)行時(shí)的存儲(chǔ)分配,以及代碼優(yōu)化等?紤]目前學(xué)計(jì)算機(jī)專業(yè)的學(xué)生對(duì)C語言比較了解,本書以C語言為雛形設(shè)計(jì)了一種TEST語言,并在介紹全書內(nèi)容時(shí),用TEST語言進(jìn)行分析與實(shí)現(xiàn),使編譯原理的抽象性通過TEST語言編譯器的實(shí)現(xiàn)而具體化,從而使讀者輕松掌握編譯原理。
《普通高等教育“十一五”國家級(jí)規(guī)劃教材·21世紀(jì)計(jì)算機(jī)科學(xué)與技術(shù)實(shí)踐型教程:編譯原理及實(shí)現(xiàn)(第2版)》理論與實(shí)踐并重,內(nèi)容深入淺出,便于自學(xué)。每章后都提供了適量的習(xí)題。
《普通高等教育“十一五”國家級(jí)規(guī)劃教材·21世紀(jì)計(jì)算機(jī)科學(xué)與技術(shù)實(shí)踐型教程:編譯原理及實(shí)現(xiàn)(第2版)》特點(diǎn) 本教材以通俗易懂的語言講解編譯原理,包括詞法分析、語法分析、語義分析及代碼生成、符號(hào)表管理、運(yùn)行時(shí)的存儲(chǔ)分配、代碼優(yōu)化等,并注重介紹各種編譯方法的應(yīng)用實(shí)現(xiàn)。 本教材考慮到目前學(xué)計(jì)算機(jī)專業(yè)的學(xué)生對(duì)C語言比較了解,以C語言為雛形設(shè)計(jì)了一種TEST語言,并建立該語言的詞法、語法、語義文法規(guī)則,系統(tǒng)介紹編譯過程的各個(gè)部分,擺脫了以往編譯教材的抽象以及理論與實(shí)際的脫節(jié),使編譯原理的抽象性通過TEsT語言的編譯器實(shí)現(xiàn)而具體化,從而使學(xué)習(xí)者輕松掌握編譯原理。 目前多數(shù)已出版的編譯原理教材普遍偏重于理論,對(duì)實(shí)現(xiàn)技術(shù)講解的極少或根本沒有,而且教材內(nèi)容過多,由于授課時(shí)數(shù)的限制以及學(xué)生接受能力的差異,教科書的內(nèi)容往往不能充分利用。而本書以通俗易懂的語言講解編譯原理,注重理論與實(shí)踐相結(jié)合,深入講解如何具體用C語言編程實(shí)現(xiàn)詞法分析、語法分析以及語義分析和代碼生成,從而使學(xué)習(xí)者不再畏懼編譯原理的學(xué)習(xí),提高學(xué)習(xí)并動(dòng)手編寫編譯器的興趣。
編譯原理是高等學(xué)校計(jì)算機(jī)專業(yè)的必修專業(yè)課之一,是一門理論與實(shí)踐并重的課程。編譯原理介紹程序設(shè)計(jì)語言翻譯的原理、技術(shù)及實(shí)現(xiàn),對(duì)引導(dǎo)學(xué)生進(jìn)行科學(xué)思維、提高學(xué)生解決實(shí)際問題的能力有重要作用。
在我國高等教育逐步實(shí)現(xiàn)大眾化后,越來越多的高等學(xué)校將會(huì)面向國民經(jīng)濟(jì)發(fā)展的第一線,為行業(yè)、企業(yè)培養(yǎng)各類高級(jí)應(yīng)用型專門人才。而受我國傳統(tǒng)歷史文化思想的影響,重理論、輕實(shí)踐的觀念在高教界仍較普遍,使我們培養(yǎng)的很多人才不適應(yīng)社會(huì)需求,造成畢業(yè)生的結(jié)構(gòu)性就業(yè)困難,這也迫使很多高等學(xué)校走向應(yīng)用型教育,培養(yǎng)應(yīng)用型人才。目前國內(nèi)的編譯原理教材大多偏重于理論,對(duì)實(shí)現(xiàn)技術(shù)介紹得較少,使學(xué)習(xí)者感到抽象、難以理解;而且教材篇幅厚重,由于授課時(shí)數(shù)的限制,以及學(xué)生接受能力的差異,教科書的內(nèi)容往往不能充分發(fā)揮作用。根據(jù)這種現(xiàn)狀,我們編寫了本書,目的在于加強(qiáng)對(duì)學(xué)生應(yīng)用能力的培養(yǎng),使學(xué)生不僅具備理論知識(shí),更要具備應(yīng)用能力,使所學(xué)能為所用,以適應(yīng)新經(jīng)濟(jì)時(shí)代對(duì)人才的需要,滿足就業(yè)要求。
本書以通俗易懂的語言介紹編譯原理,包括詞法分析、語法分析、語義分析及代碼生成、符號(hào)表管理、運(yùn)行時(shí)的存儲(chǔ)分配、代碼優(yōu)化等,并著重介紹各種編譯方法的實(shí)現(xiàn)途徑。考慮到目前計(jì)算機(jī)專業(yè)的學(xué)生對(duì)C語言比較了解,書中以C語言為基礎(chǔ)設(shè)計(jì)了一種TEST語言,建立該語言的詞法、語法、語義文法規(guī)則,系統(tǒng)介紹編譯過程的各個(gè)部分。包括詞法分析、語法分析、語義分析及代碼生成、符號(hào)表的建立及存儲(chǔ)分配、錯(cuò)誤處理都用具體的實(shí)例進(jìn)行分析與實(shí)現(xiàn)。并針對(duì)TEST語言中的典型語句,深入講解如何具體用C語言編程實(shí)現(xiàn)詞法分析、語法分析以及語義分析和代碼生成,擺脫以往編譯教材的抽象性以及理論與實(shí)際的脫節(jié),使編譯原理的抽象性通過TEST語言的編譯器實(shí)現(xiàn)而具體化,從而使學(xué)習(xí)者輕松掌握編譯原理。
全書共分10章,大約需要70課時(shí),其中包括20課時(shí)的上機(jī)。第1章對(duì)編譯過程、編譯程序的邏輯結(jié)構(gòu)以及編譯程序各組成部分的功能進(jìn)行概述;第2章介紹文法和語言,它為后面各章的學(xué)習(xí)奠定了理論基礎(chǔ);第3章介紹詞法分析程序的設(shè)計(jì)原理,包括適合手工設(shè)計(jì)和自動(dòng)生成詞法分析程序的方法,以及TEST語言的詞法分析程序的具體編程實(shí)現(xiàn);第4章、第5章分別介紹自頂向下和自底向上的語法分析方法,主要介紹遞歸下降分析法、LL (1)分析法以及LR分析法,同時(shí)介紹TEST語言的遞歸下降分析實(shí)現(xiàn);第6章介紹語法制導(dǎo)翻譯的概念以及屬性翻譯文法;第7章介紹符號(hào)表的組織與管理;第8章介紹存儲(chǔ)組織與分配技術(shù);第9章介紹語義分析及代碼生成的概念和技術(shù),并以TEST語言為范例,實(shí)現(xiàn)語義分析并同時(shí)生成抽象機(jī)匯編目標(biāo)代碼;第10章主要介紹局部?jī)?yōu)化和循環(huán)優(yōu)化常采用的方法。另外,附錄中列出了TEST語言的文法規(guī)則、詞法分析程序、語法分析程序、語義及代碼生成程序以及TEST抽象機(jī)模擬器的完整程序。每章后都提供適量的習(xí)題,使學(xué)習(xí)者通過適量的練習(xí)掌握書中的內(nèi)容。
本書是作者多年教學(xué)實(shí)踐的匯集和提煉,同時(shí)也參考了許多國內(nèi)外的參考書,第2版除了修改第1版的部分內(nèi)容外,還增加了實(shí)例。在第2版的編寫中,司慧琳、曹建、陳紅倩參與了本書第3、4、6、9章的部分內(nèi)容的編寫和示例程序的設(shè)計(jì)與調(diào)試,陳誼參加了本書的內(nèi)容編排和資料收集工作,并提出了許多寶貴意見。本書還配有相應(yīng)的教學(xué)輔助課件,以及詞法分析、語法分析和語義分析方法的演示程序(包括遞歸下降、LL (1) 、LR分析法和可在DOS環(huán)境下運(yùn)行的LEX與YACC) ,有需要者可與作者聯(lián)系,E-mail地址為: sun_yh@tom.com.
鑒于作者水平有限,書中難免有錯(cuò)誤和不妥之處,懇請(qǐng)讀者批評(píng)指正。
第1章 編譯概述
1.1 程序設(shè)計(jì)語言
1.2 翻譯程序
1.3 編譯程序的組成
1.3.1 詞法分析
1.3.2 語法分析
1.3.3 語義分析及中間代碼生成
1.3.4 代碼優(yōu)化
1.3.5 目標(biāo)代碼生成
1.3.6 符號(hào)表管理
1.3.7 錯(cuò)誤處理
1.4 編譯程序的結(jié)構(gòu)
1.4.1 單遍編譯程序
1.4.2 多遍編譯程序
1.4.3 編譯程序分遍的優(yōu)缺點(diǎn)
1.4.4 “端”的概念
1.5 編譯程序的前后處理器
1.5.1 預(yù)處理器
1.5.2 匯編程序
1.5.3 連接加載程序
1.6 TEST語言與編譯器
1.6.1 TEST語言
1.6.2 TEST編譯器
1.6.3 TEST機(jī)
習(xí)題
第2章 文法和語言
2.1 字母表和符號(hào)串
2.1.1 字母表
2.1.2 符號(hào)串
2.1.3 符號(hào)串及其集合的運(yùn)算
2.2 文法
2.2.1 文法形式定義
2.2.2 文法的EBNF表示
2.3 推導(dǎo)
2.3.1 直接推導(dǎo)定義
2.3.2 推導(dǎo)定義
2.3.3 規(guī)范推導(dǎo)
2.4 句型和句子
2.5 語言
2.6 遞歸規(guī)則與遞歸文法
2.6.1 遞歸規(guī)則
2.6.2 遞歸文法
2.7 短語、簡(jiǎn)單短語和句柄
2.8 語法樹
2.9 子樹與短語
2.10 由樹構(gòu)造推導(dǎo)過程
2.11 文法的二義性
2.12 有關(guān)文法的實(shí)用限制
2.13 文法和語言分類
習(xí)題
第3章 詞法分析
3.1 詞法分析的功能
3.2 程序語言的單詞符號(hào)種類及詞法分析輸出
3.3 正則文法及狀態(tài)圖
3.3.1 狀態(tài)圖
3.3.2 狀態(tài)圖的用法
3.4 詞法分析程序的設(shè)計(jì)與實(shí)現(xiàn)
3.4.1 TEST語言的詞法規(guī)則及狀態(tài)圖
3.4.2 TEST語言詞法分析程序的構(gòu)造
3.4.3 TEsT語言的詞法分析程序?qū)崿F(xiàn)
3.5 正則表達(dá)式
3.5.1 正則表達(dá)式定義
3.5.2 正則文法到正則表達(dá)式的轉(zhuǎn)換
3.6 有窮自動(dòng)機(jī)
……
第4章 語法分析——自頂向下分析
第5章 語法分析——自底向上分析
第6章 語法制導(dǎo)翻譯技術(shù)
第7章 符號(hào)表管理技術(shù)
第8章 程序運(yùn)行時(shí)的存儲(chǔ)組織及管理
第9章 語義分析和代碼生成
第10章 代碼優(yōu)化
附錄A TEST語言文法規(guī)則
附錄B 詞法分析程序
附錄C 語法分析程序