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