複製鏈接
請複製以下鏈接發送給好友

編譯技術

(2015年機械工業出版社出版的圖書)

鎖定
《編譯技術》是2015年機械工業出版社出版的圖書,作者是周爾強,本書重點介紹了編譯器基礎軟件框架LLVM及相關工具的使用實例。書中給出了大量代碼,以幫助讀者掌握編譯器構造的相關技術。以提高學生的動手實踐能力為重點,鼓勵學生嘗試設計並實現一個新的語言編譯器。
中文名
編譯技術
作    者
周爾強 
出版社
機械工業出版社
ISBN
9787111509110

編譯技術內容簡介

法解析、語義分析、代碼生成等過程中所面臨的技術問題及解決方案;第7章介紹運行時存儲空間的組織與分配;第8章介紹LCC(Learning Compiler with C)語言編譯程序的C語言實現。本書在強調基礎理論的同時,力求反映編譯技術方面的**成果,書中給出了大量代碼,以幫助讀者掌握編譯器構造的相關技術。本書配套授課電子課件,需要的教師可登錄www.cmpedu.com免費註冊、審核通過後下載,或聯繫編輯索取(微信:15910938545,QQ:2850823885,email:2308140194@qq.com,電話:010-88379739)另外,為方便任課教師進行交流,提供本科計算機教師QQ交流羣:158665100,歡迎加入!CAD/CAM/CAE教師交流羣:329622498。 [1] 

編譯技術圖書目錄

出版説明
前言
第1章 編譯概述
1.1編譯器與解釋器
1.2編譯器的組織與結構
1.2.1詞法分析
1.2.2語法分析
1.2.3語義分析
1.2.4代碼生成與優化
1.2.5符號表管理及錯誤處理
1.3總結與展望
1.4習題
第2章 實現一個簡單編譯器
2.1語言定義
2.1.1詞法定義
2.1.2語法定義
2.2簡單編譯器的結構
2.3詞法分析
2.4遞歸下降語法解析
2.4.1規則的程序實現
2.4.2預測所選的規則
2.5抽象語法樹
2.6語義分析
2.6.1符號表
2.6.2類型檢查與轉換
2.7中間代碼生成
2.7.1三地址代碼
2.7.2樹的遍歷與代碼生成
2.8習題
第3章 詞法分析器
3.1詞法分析器概述
3.2單詞的識別
3.3狀態轉換圖
3.4正則表達式
3.4.1字母表的概念
3.4.2正則表達式的形式化定義
3.5有限狀態自動機與詞法分析器
3.5.1確定的有限狀態自動機
3.5.2正則表達式到有限狀態自動機的轉換
3.5.3詞法分析器的自動機實現
3.6詞法分析器的自動生成
3.6.1Lex中的單詞符號定義
3.6.2Lex中的字符處理
3.6.3其他工具簡介
3.7習題
第4章 文法與語法解析
4.1文法和語法的定義
4.1.1文法的定義
4.1.2上下文無關文法
4.1.3推導與規約
4.1.4語法樹
4.2自上而下的語法分析
4.2.1左遞歸的消除
4.2.2提取公共左因子
4.2.3遞歸下降分析法
4.2.4表驅動的預測分析法
4.3自下而上的語法分析
4.3.1LR分析過程
4.3.2LR(0)分析表的構造
4.3.3SLR(1)分析表的構造
4.4語法解析相關工具
4.4.1YACC
4.4.2ANTLR
4.5習題
第5章 語義分析
5.1語義分析概況
5.1.1語義分析的功能
5.1.2語義分析方法
5.2構建抽象語法樹
5.2.1單一類型語法樹的設計
5.2.2多類型語法樹的設計
5.2.3多類型語法樹的遍歷
5.3符號表
5.3.1符號表的數據結構
5.3.2哈希符號表的實現
5.3.3分程序結構的作用域
5.3.4分程序結構符號表的實現
5.4説明語句分析
5.4.1簡單變量聲明
5.4.2結構類型的聲明
5.5賦值語句分析
5.6控制語句分析
5.6.1if語句
5.6.2while語句
5.6.3for語句
5.6.4過程調用語句
5.7習題
第6章 LLVM代碼生成與優化
6.1LLVM系統
6.1.1LLVM框架設計理念
6.1.2LLVM中間代碼表示
6.1.3LLVM代碼示例分析
6.1.4LLVM工具集
6.2LLVM代碼生成
6.2.1常量、局部變量的代碼生成
6.2.2表達式的代碼生成
6.2.3函數聲明與調用
6.3優化概述
6.4基本塊與流圖
6.4.1基本塊
6.4.2程序流圖
6.5基本塊內的優化
6.6循環優化
6.6.1必經結點
6.6.2回邊及循環的查找
6.6.3循環的優化
6.7習題
第7章 運行時存儲空間的組織與分配
7.1存儲組織
7.1.1運行時內存的劃分
7.1.2活動記錄
7.1.3存儲分配策略
7.1.4變量的存儲分配
7.2棧式分配
7.2.1只含半靜態變量的棧式分配
7.2.2半動態變量的棧式分配
7.3嵌套子程序的存儲組織
7.4參數傳遞方式
7.4.1參數傳遞的語義模型
7.4.2參數傳遞的實現模型
7.5習題
第8章 LCC語言編譯程序的實現
8.1LCC語言簡介
8.2詞法分析
8.3語法分析
8.3.1LCC語言文法説明
8.3.2YACC與Lex之間的約定
8.3.3抽象語法樹結點設計
8.3.4構建抽象語法樹
8.3.5文法動作説明
8.4語義分析
8.4.1符號表的實現
8.4.2語義檢查
8.4.3數組設計與檢查
8.5中間代碼生成
8.5.1LLVM代碼生成接口
8.5.2LCC語言的代碼生成框架
8.5.3表達式的代碼生成
8.5.4輸入輸出語句的代碼生成
8.6LCC語言代碼運行測試
8.6.1變量作用域測試
8.6.2控制語句測試
8.6.3整型數組測試
8.6.4字符串數組測試
8.7習題
附錄縮略語
參考文獻
參考資料