編譯原理實用教程(第二版)(簡體書)
商品資訊
系列名:普通高等院校計算機專業(本科)實用教程系列
ISBN13:9787302312437
出版社:清華大學出版社(大陸)
作者:溫敬和
出版日:2013/04/01
裝訂/頁數:平裝/216頁
商品簡介
名人/編輯推薦
序
目次
相關商品
商品簡介
《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》共分7章,主要介紹編譯程序的基本原理和實現方法。內容包括:詞法分析,形式語言和自動機的基本概念,語法分析,符號表和靜態內存分配,語法制導翻譯和中間代碼產生,目標代碼生成。《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》還介紹了作者本人的一些工作成果,如LR分析法在詞法分析器自動構造中的應用,語法制導翻譯在匯編程序自動構造中的應用。為了方便讀者學習,各章都安排了一定數量的習題,并配有習題答案。
《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》附錄B中的“課程實習指導”向讀者提供了一個較為完整的、切實可用的“編譯原理”課程實習方案,并附有參考程序,可供有關教師選用或參考。
《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》可作為本科院校計算機專業“編譯原理”課程的教材,也可供有關教師、研究生以及從事計算機軟件設計和開發人員參考。
《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》附錄B中的“課程實習指導”向讀者提供了一個較為完整的、切實可用的“編譯原理”課程實習方案,并附有參考程序,可供有關教師選用或參考。
《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》可作為本科院校計算機專業“編譯原理”課程的教材,也可供有關教師、研究生以及從事計算機軟件設計和開發人員參考。
名人/編輯推薦
以編譯四個主要階段“詞法分析”,“語法分析”、“語義分析”和“目標代碼生成”為線索,介紹各個階段常用的軟件技術和實現方法。各章安排了一定數量的習題,并附有習題答案。在《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》中出現的源程序,除附錄B中兩個程序外,都可以從清華大學出版社主指定網站下載。另外,由本人編寫的“編譯原理”課程電子教案和試卷集錦可以從“中國高等學校教學資源網”下載。介紹了兩項新的編譯技術和方法,它們是“LR分析法在詞法分析器自動構造中的應用”和“語法制導翻譯在匯編程序自動構造中的應用”。附錄A介紹了用軟件實現的虛擬計算機和匯編程序使用方法。讀者可使用《普通高等院校計算機專業(本科)實用教程系列:編譯原理實用教程(第2版)》第7章介紹的匯編語言編寫程序,然后進行詞法分析和LR分析法制導的語義翻譯,最終生成的目標代碼可以在虛擬計算機上運行。附錄B中的“課程實習指導”,向讀者提供了一個較為完整的,切實可用的“編譯原理”課程實習方案,并附有參考程序,可供有關教師選用或參考。
序
1982年2月本人畢業于上海交通大學,2010年1月退休,在上海第二工業大學工作了近三十年。在此期間,主要從事“編譯程序”和“算法”這兩門學科的教學和科研。2005年4月清華大學出版社出版了由本人編著的《編譯原理實用教程》,該書至今仍用于我校和國內其他普通高等院校“編譯原理”課程的教學。該書從脫稿至今已近十年,先后共印刷了1萬冊左右。雖然印刷的數量不大,但是90%是外校師生所使用的,說明書的質量得到了同行的認可。
在第2版中,書的章節基本沒有變化,僅刪除了原書中的5.10.3小節(5.10.3LR分析控制程序的修改),增加了6.11節(6.11自上而下分析制導翻譯概述)。做出上述調整,主要考慮用于詞法分析的LR分析控制程序修改不大,一是增加了token數組,用于記錄構成單詞的字符。在執行移進操作時,除完成規定動作外,還應將當前字符移人token數組;二是把“出錯”理解為找到單詞尾。對于熟悉LR分析控制程序工作原理的讀者,在理解上不會有困難。在后繼章節中,對于用于詞法分析的LR分析控制程序有詳細介紹,沒有必要單獨列出。為了完整,在6.11節簡略討論了自上而下分析制導翻譯技術。原書中的附錄A和附錄B合并為新書的附錄A。原書的附錄C刪除,改為下載文件。原書的附錄D改為新書的附錄B。
在第2版中,各章節的知識點沒有變化,增加了算法偽代碼描述,對原書各章節中的所有源程序都做了比較大的修改。在原書中,算法除文字簡單描述外,基本用源程序表達,這樣對算法的描述和理解有可能受到語言細節的束縛。在本書中,增加了算法偽代碼描述,這樣可避免語言的限制,更容易表達算法的基本思想。考慮有些讀者編程經驗不足,源程序仍保留了下來,但在編排上做了改進,使其更容易閱讀和理解。在本書中出現的源程序,除附錄B中兩個程序外,都可以從清華大學出版社指定網站下載。另外,由本人編寫的“編譯原理”課程電子教案和試卷集錦可以從“中國高等學校教學資源網”下載。
在寫第1版時,主要考慮程序的正確性。在再版中,力求使程序寫得更簡潔、更易理解,并且注意前后統一。例如,本書介紹了三個詞法分析器,它們是Lexl、Lex2和Lex3。三個詞法分析器都是由預處理程序和掃描器(單詞識別程序)兩個部分構成。預處理程序是同一個,差異在于如何實現掃描器。Lexl是利用狀態轉換圖來實現的,Lex2是利用確定有限自動機來實現的,而Lex3是利用LR分析法來實現的。掃描器的程序結構大同小異,讀者只需關注單詞識別時所使用的技術和方法。
在第2版中,書的章節基本沒有變化,僅刪除了原書中的5.10.3小節(5.10.3LR分析控制程序的修改),增加了6.11節(6.11自上而下分析制導翻譯概述)。做出上述調整,主要考慮用于詞法分析的LR分析控制程序修改不大,一是增加了token數組,用于記錄構成單詞的字符。在執行移進操作時,除完成規定動作外,還應將當前字符移人token數組;二是把“出錯”理解為找到單詞尾。對于熟悉LR分析控制程序工作原理的讀者,在理解上不會有困難。在后繼章節中,對于用于詞法分析的LR分析控制程序有詳細介紹,沒有必要單獨列出。為了完整,在6.11節簡略討論了自上而下分析制導翻譯技術。原書中的附錄A和附錄B合并為新書的附錄A。原書的附錄C刪除,改為下載文件。原書的附錄D改為新書的附錄B。
在第2版中,各章節的知識點沒有變化,增加了算法偽代碼描述,對原書各章節中的所有源程序都做了比較大的修改。在原書中,算法除文字簡單描述外,基本用源程序表達,這樣對算法的描述和理解有可能受到語言細節的束縛。在本書中,增加了算法偽代碼描述,這樣可避免語言的限制,更容易表達算法的基本思想。考慮有些讀者編程經驗不足,源程序仍保留了下來,但在編排上做了改進,使其更容易閱讀和理解。在本書中出現的源程序,除附錄B中兩個程序外,都可以從清華大學出版社指定網站下載。另外,由本人編寫的“編譯原理”課程電子教案和試卷集錦可以從“中國高等學校教學資源網”下載。
在寫第1版時,主要考慮程序的正確性。在再版中,力求使程序寫得更簡潔、更易理解,并且注意前后統一。例如,本書介紹了三個詞法分析器,它們是Lexl、Lex2和Lex3。三個詞法分析器都是由預處理程序和掃描器(單詞識別程序)兩個部分構成。預處理程序是同一個,差異在于如何實現掃描器。Lexl是利用狀態轉換圖來實現的,Lex2是利用確定有限自動機來實現的,而Lex3是利用LR分析法來實現的。掃描器的程序結構大同小異,讀者只需關注單詞識別時所使用的技術和方法。
目次
第1章 編譯系統概述
習題
第2章 詞法分析
2.1 詞法分析器的設計考慮及手工構造
2.1.1 單詞類型及二元式編碼
2.1.2 源程序的輸入及預處理
2.1.3 基本字的識別和超前搜索
2.1.4 狀態轉換圖和詞法分析器的手工構造
2.1.5 詞法分析器手工構造實例
2.2 正規式、自動機及詞法分析器的自動生成
2.2.1 基本概念
2.2.2 正規式與正規集
2.2.3 確定有限自動機
2.2.4 非確定有限自動機
2.2.5 NFA的確定化
2.2.6 正規式的NFA表示
2.2.7 正規式與確定有限自動機的等價性
2.3 詞法分析器的自動生成
2.3.1 自動生成過程概述
2.3.2 掃描器控制程序工作原理
2.3.3 掃描器控制程序的實現
習題
習題答案
第3章 程序設計語言的語法描述
3.1 文法的引入
3.1.1 語法樹
3.1.2 語法規則和句子推導
3.1.3 遞歸規則和遞歸文法
3.2 上下文無關文法
3.2.1 文法和語言
3.2.2 文法的二義性
3.3 文法舉例
習題
習題答案
第4章 自上而下的語法分析
4.1 帶回溯的自上而下分析法概述
4.2 直接左遞歸的消除
4.3 不帶回溯的自上而下分析法的基本原理
4.4 提取左因子
4.5 first集和follow集
4.5.1 first集的定義及構造算法
4.5.2 follow集的定義及構造算法
4.6 遞歸下降分析法
4.7 預測分析法
4.7.1 預測分析表的構造
4.7.2 預測分析控制程序
4.7.3 預測分析程序討論
4.7.4 應用舉例
習題
習題答案
第5章 自下而上的語法分析
5.1 自下而上的語法分析概述
5.2 LR分析法的基本原理
5.3 LR(O)項目集規范族的構造
5.4 有效項目
5.5 LR(O)分析表的構造
5.6 SLR(1)分析表的構造
5.7 LR語法分析器的控制程序
5.8 二義文法在LR分析法中的應用
5.9 應用舉例
5.10 LR分析法在詞法分析器自動構造中的應用
5.10.1 模型語言的詞法描述及SLR分析表
5.10.2 使用SLR分析表識別單詞的基本原理
5.10.3 算法描述和程序實現
5.10.4 LR-LEX中的分析表最小化
習題
習題答案
第6章 語法制導翻譯和中間代碼生成
6.1 語法制導翻譯概述
6.2 符號表和常數表
6.3 中間代碼
6.3.1 三元式
6.3.2 四元式
6.4 說明語句(簡單變量)的翻譯
6.5 整型算術表達式及賦值語句的翻譯
6.6 混合型算術表達式及賦值語句的翻譯
6.7 布爾表達式的翻譯
6.8 標號和無條件轉移語句的翻譯
6.9 控制語句的翻譯
6.9.1 if-then語句的翻譯
6.9.2 if-then-else語句的翻譯
6.9.3 while-do語句的翻譯
6.9.4 復合語句的翻譯
6.10 小結
6.11 自上而下分析制導翻譯概述
習題
習題答案
第7章 目標代碼生成
7.1 目標計算機的虛擬實現
7.2 語法制導翻譯在匯編程序自動構造中的應用
7.2.1 匯編語言文法和分析表構造
7.2.2 單詞編碼表和詞法分析
7.2.3 匯編語言語義和語法制導翻譯
7.3 從四元式到匯編語言的翻譯
習題
習題答案
附錄A 虛擬機匯編程序使用說明
附錄B 課程實習指導
參考文獻
習題
第2章 詞法分析
2.1 詞法分析器的設計考慮及手工構造
2.1.1 單詞類型及二元式編碼
2.1.2 源程序的輸入及預處理
2.1.3 基本字的識別和超前搜索
2.1.4 狀態轉換圖和詞法分析器的手工構造
2.1.5 詞法分析器手工構造實例
2.2 正規式、自動機及詞法分析器的自動生成
2.2.1 基本概念
2.2.2 正規式與正規集
2.2.3 確定有限自動機
2.2.4 非確定有限自動機
2.2.5 NFA的確定化
2.2.6 正規式的NFA表示
2.2.7 正規式與確定有限自動機的等價性
2.3 詞法分析器的自動生成
2.3.1 自動生成過程概述
2.3.2 掃描器控制程序工作原理
2.3.3 掃描器控制程序的實現
習題
習題答案
第3章 程序設計語言的語法描述
3.1 文法的引入
3.1.1 語法樹
3.1.2 語法規則和句子推導
3.1.3 遞歸規則和遞歸文法
3.2 上下文無關文法
3.2.1 文法和語言
3.2.2 文法的二義性
3.3 文法舉例
習題
習題答案
第4章 自上而下的語法分析
4.1 帶回溯的自上而下分析法概述
4.2 直接左遞歸的消除
4.3 不帶回溯的自上而下分析法的基本原理
4.4 提取左因子
4.5 first集和follow集
4.5.1 first集的定義及構造算法
4.5.2 follow集的定義及構造算法
4.6 遞歸下降分析法
4.7 預測分析法
4.7.1 預測分析表的構造
4.7.2 預測分析控制程序
4.7.3 預測分析程序討論
4.7.4 應用舉例
習題
習題答案
第5章 自下而上的語法分析
5.1 自下而上的語法分析概述
5.2 LR分析法的基本原理
5.3 LR(O)項目集規范族的構造
5.4 有效項目
5.5 LR(O)分析表的構造
5.6 SLR(1)分析表的構造
5.7 LR語法分析器的控制程序
5.8 二義文法在LR分析法中的應用
5.9 應用舉例
5.10 LR分析法在詞法分析器自動構造中的應用
5.10.1 模型語言的詞法描述及SLR分析表
5.10.2 使用SLR分析表識別單詞的基本原理
5.10.3 算法描述和程序實現
5.10.4 LR-LEX中的分析表最小化
習題
習題答案
第6章 語法制導翻譯和中間代碼生成
6.1 語法制導翻譯概述
6.2 符號表和常數表
6.3 中間代碼
6.3.1 三元式
6.3.2 四元式
6.4 說明語句(簡單變量)的翻譯
6.5 整型算術表達式及賦值語句的翻譯
6.6 混合型算術表達式及賦值語句的翻譯
6.7 布爾表達式的翻譯
6.8 標號和無條件轉移語句的翻譯
6.9 控制語句的翻譯
6.9.1 if-then語句的翻譯
6.9.2 if-then-else語句的翻譯
6.9.3 while-do語句的翻譯
6.9.4 復合語句的翻譯
6.10 小結
6.11 自上而下分析制導翻譯概述
習題
習題答案
第7章 目標代碼生成
7.1 目標計算機的虛擬實現
7.2 語法制導翻譯在匯編程序自動構造中的應用
7.2.1 匯編語言文法和分析表構造
7.2.2 單詞編碼表和詞法分析
7.2.3 匯編語言語義和語法制導翻譯
7.3 從四元式到匯編語言的翻譯
習題
習題答案
附錄A 虛擬機匯編程序使用說明
附錄B 課程實習指導
參考文獻
主題書展
更多
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。