現(xiàn)代編譯程序設(shè)計(jì)ModernCompilerDesign中文版

出版時(shí)間:2003-9  出版社:人民郵電  作者:格倫  頁數(shù):548  譯者:馮博琴  
Tag標(biāo)簽:無  

內(nèi)容概要

  《現(xiàn)代編譯程序設(shè)計(jì)》全面地介紹了現(xiàn)代編譯技術(shù),結(jié)構(gòu)上分為通用編譯技術(shù)和高級(jí)編譯技術(shù)兩大部分。第一部分介紹通用的編譯程序?qū)崿F(xiàn)技術(shù),包括詞法和語法分析、上下文處理、代碼生成以及存儲(chǔ)器管理的一般方法。第二部分介紹特定范型語言的高級(jí)編譯技術(shù),包括命令式語言、面向?qū)ο笳Z言、邏輯式語言、函數(shù)式語言及并行 / 分布式語言的上下文處理和代碼生成等內(nèi)容?!冬F(xiàn)代編譯程序設(shè)計(jì)》注重編譯程序的具體實(shí)現(xiàn)和優(yōu)化技術(shù),實(shí)例豐富,具有很強(qiáng)的可讀性和實(shí)用性?!  冬F(xiàn)代編譯程序設(shè)計(jì)》可作為高校計(jì)算機(jī)專業(yè)本科和研究生編譯程序設(shè)計(jì)課程的教科書,也可供從事計(jì)算機(jī)軟件開發(fā)的人員參考。

書籍目錄

第1章 導(dǎo)論 11.1 為什么學(xué)習(xí)編譯程序構(gòu)造 41.1.1 編譯程序構(gòu)造是非常成功的 41.1.2 編譯程序構(gòu)造的廣泛應(yīng)用 61.1.3 編譯程序包含普遍適用的算法 61.2 一個(gè)簡單的傳統(tǒng)的模塊化編譯程序/解釋程序 61.2.1 抽象語法樹 71.2.2 范例編譯程序的結(jié)構(gòu) 81.2.3 范例編譯程序的語言 91.2.4 范例編譯程序的詞法分析 101.2.5 范例編譯程序的語法分析 111.2.6 范例編譯程序的上下文處理 141.2.7 范例編譯程序的代碼生成 141.2.8 范例編譯程序的解釋程序 151.3 一個(gè)更接近于實(shí)際的編譯程序的結(jié)構(gòu) 161.3.1 結(jié)構(gòu) 171.3.2 運(yùn)行時(shí)系統(tǒng) 181.3.3 捷徑 181.4 編譯程序體系結(jié)構(gòu) 181.4.1 編譯程序的寬度 191.4.2 誰主控 201.5 一個(gè)優(yōu)秀編譯程序的特性 221.6 可移植性和可重定目標(biāo)性 231.7 優(yōu)化的位置和效用 231.8 編譯程序構(gòu)造簡史 241.8.1 1945~1960年:代碼生成 241.8.2 1960~1975年:分析 241.8.3 1975年至今:代碼生成和代碼優(yōu)化;范型 241.9 文法 251.9.1 文法形式 251.9.2 產(chǎn)生式過程 251.9.3 文法的擴(kuò)展形式 271.9.4 文法特性 271.9.5 文法形式化方法 281.10 閉包算法 291.10.1 閉包算法的迭代實(shí)現(xiàn) 311.11 本書使用的概要代碼 331.12 小結(jié) 33第2章 從程序文本到抽象語法樹 382.1 從程序文本到記號(hào)——詞法結(jié)構(gòu) 412.1.1 讀程序文本 412.1.2 詞法分析與語法分析 422.1.3 正則表達(dá)式和正則描述 432.1.4 詞法分析 442.1.5 手動(dòng)產(chǎn)生詞法分析程序 452.1.6 自動(dòng)產(chǎn)生詞法分析程序 502.1.7 轉(zhuǎn)換表壓縮 632.1.8 詞法分析程序的錯(cuò)誤處理 682.1.9 一個(gè)傳統(tǒng)的詞法分析程序產(chǎn)生器——lex 692.1.10 記號(hào)的詞法識(shí)別 702.1.11 符號(hào)表 722.1.12 宏處理和文件包含 762.1.13 小結(jié) 802.2 從記號(hào)到語法樹——語法分析 812.2.1 語法分析的兩種方法 822.2.2 錯(cuò)誤檢測和錯(cuò)誤恢復(fù) 842.2.3 手工生成一個(gè)自頂向下的語法分析程序 862.2.4 自動(dòng)生成一個(gè)自頂向下的語法分析程序 882.2.5 自動(dòng)創(chuàng)建一個(gè)自底向上的語法分析程序 1112.3 小結(jié) 132第3章 注釋抽象語法樹——上下文 1423.1 屬性文法 1433.1.1 依賴圖 1463.1.2 屬性計(jì)算 1473.1.3 循環(huán)處理 1533.1.4 屬性分配 1583.1.5 多次訪問屬性文法 1583.1.6 屬性文法類型的總結(jié) 1673.1.7 L-屬性文法 1673.1.8 S-屬性文法 1703.1.9 L-屬性文法與S-屬性文法的等價(jià)性 1713.1.10 擴(kuò)展的文法符號(hào)和屬性文法 1723.1.11 小結(jié) 1733.2 手工方法 1733.2.1 線性化AST 1743.2.2 符號(hào)解釋 1783.2.3 數(shù)據(jù)流方程 1843.2.4 過程間的數(shù)據(jù)流分析 1883.2.5 上傳信息流——活躍分析 1893.2.6 符號(hào)解釋和數(shù)據(jù)流方程的比較 1943.3 小結(jié) 194第4章 處理中間代碼 2024.1 解釋 2034.1.1 遞歸解釋 2034.1.2 迭代解釋 2074.2 代碼生成 2104.2.1 避免完全的代碼生成 2134.2.2 開始點(diǎn) 2144.2.3 直接代碼生成 2144.2.4 簡單代碼生成 2184.2.5 基本塊的代碼生成 2304.2.6 BURS代碼生成和動(dòng)態(tài)程序設(shè)計(jì) 2414.2.7 通過圖著色的寄存器分配 2554.2.8 超級(jí)編譯 2594.2.9 代碼生成技術(shù)的評(píng)價(jià) 2614.2.10 代碼優(yōu)化器的調(diào)試 2614.2.11 預(yù)處理中間代碼 2624.2.12 后處理目標(biāo)代碼 2654.2.13 機(jī)器代碼生成 2674.3 匯編程序、連接程序和裝入程序 2684.3.1 匯編程序設(shè)計(jì)問題 2704.3.2 連接程序設(shè)計(jì)問題 2724.4 小結(jié) 273第5章 存儲(chǔ)管理 2835.1 顯式回收的數(shù)據(jù)空間分配 2845.1.1 基本存儲(chǔ)空間分配 2855.1.2 鏈表 2885.1.3 可擴(kuò)展數(shù)組 2905.2 隱式回收的數(shù)據(jù)空間分配 2915.2.1 基本垃圾收集算法 2915.2.2 背景預(yù)備 2925.2.3 引用計(jì)數(shù) 2975.2.4 標(biāo)記和掃描 3005.2.5 兩空間復(fù)制 3035.2.6 緊縮 3065.2.7 世代垃圾收集 3075.3 小結(jié) 307第6章 命令式和面向?qū)ο蟪绦?3136.1 上下文處理 3146.1.1 識(shí)別 3156.1.2 類型檢查 3216.1.3 小結(jié) 3286.2 源語言數(shù)據(jù)表示和處理 3286.2.1 基本類型 3296.2.2 枚舉類型 3296.2.3 指針類型 3296.2.4 記錄類型 3326.2.5 共用體類型 3336.2.6 數(shù)組類型 3346.2.7 集合類型 3366.2.8 例程類型 3366.2.9 對(duì)象類型 3376.2.10 接口類型 3446.3 例程及其活動(dòng) 3456.3.1 活動(dòng)記錄 3456.3.2 例程 3476.3.3 例程上的操作 3486.3.4 非嵌套例程 3506.3.5 嵌套例程 3526.3.6 Lambda提升 3576.3.7 迭代器和協(xié)作例程 3586.4 控制流語句的代碼生成 3596.4.1 局部控制流 3596.4.2 例程調(diào)用 3666.4.3 運(yùn)行時(shí)錯(cuò)誤處理 3726.5 模塊的代碼生成 3746.5.1 名字生成 3756.5.2 模塊初始化 3756.5.3 泛型的代碼生成 3766.6 小結(jié) 377第7章 函數(shù)式程序 3867.1 Haskell簡介 3877.1.1 越位規(guī)則 3877.1.2 列表 3887.1.3 列表內(nèi)涵 3887.1.4 模式匹配 3897.1.5 多態(tài)類型 3907.1.6 引用透明性 3917.1.7 高階函數(shù) 3917.1.8 惰性計(jì)算 3927.2 編譯函數(shù)式語言 3937.2.1 函數(shù)核 3947.3 多態(tài)類型檢查 3957.3.1 多態(tài)函數(shù)應(yīng)用 3967.4 脫糖 3977.4.1 列表的翻譯 3977.4.2 模式匹配的翻譯 3977.4.3 列表內(nèi)涵的翻譯 3997.4.4 嵌套函數(shù)的翻譯 4017.5 圖歸約 4027.5.1 歸約順序 4057.5.2 歸約引擎 4067.6 函數(shù)核程序的代碼生成 4097.6.1 避免一些應(yīng)用框架的構(gòu)造 4117.7 優(yōu)化函數(shù)核 4127.7.1 嚴(yán)格性分析 4137.7.2 裝箱分析 4177.7.3 尾部調(diào)用 4177.7.4 累加器轉(zhuǎn)換 4197.7.5 局限性 4207.8 高級(jí)圖處理 4217.8.1 可變長度結(jié)點(diǎn) 4217.8.2 指針標(biāo)記 4217.8.3 聚集結(jié)點(diǎn)分配 4217.8.4 向量應(yīng)用結(jié)點(diǎn) 4227.9 小結(jié) 422第8章 邏輯式程序 4278.1 邏輯式程序設(shè)計(jì)模型 4288.1.1 構(gòu)建模塊 4288.1.2 推理機(jī)制 4308.2 解釋的通用實(shí)現(xiàn)模型 4318.2.1 解釋程序指令 4328.2.2 避免冗余目標(biāo)列表 4348.2.3 避免復(fù)制目標(biāo)列表尾部 4348.3 合一 4358.3.1 結(jié)構(gòu)、列表和集合的合一 4358.3.2 合一的實(shí)現(xiàn) 4378.3.3 兩個(gè)自由變量的合一 4408.3.4 小結(jié) 4418.4 編譯的通用實(shí)現(xiàn)模型 4418.4.1 列表程序 4428.4.2 編譯子句的搜索和合一 4448.4.3 WAM中的優(yōu)化子句選擇 4488.4.4 應(yīng)用“cut”機(jī)制 4508.4.5 謂詞assert和retract的實(shí)現(xiàn) 4528.5 合一的編譯代碼 4558.5.1 WAM中的合一指令 4568.5.2 通過手工局部計(jì)算得到合一指令 4578.5.3 WAM中的結(jié)構(gòu)合一 4628.5.4 一種優(yōu)化:讀/寫模式 4648.5.5 WAM中合一結(jié)構(gòu)的進(jìn)一步優(yōu)化 4668.5.6 小結(jié) 467第9章 并行和分布式程序 4729.1 并行程序設(shè)計(jì)模型 4749.1.1 共享變量和管程 4749.1.2 消息傳遞模型 4769.1.3 面向?qū)ο笳Z言 4779.1.4 Linda元組空間 4779.1.5 數(shù)據(jù)并行語言 4789.2 進(jìn)程和線程 4799.3 共享變量 4819.3.1 鎖 4819.3.2 管程 4819.4 消息傳遞 4829.4.1 接收方定位 4839.4.2 編組 4839.4.3 消息的類型檢查 4849.4.4 消息選擇 4849.5 并行的面向?qū)ο笳Z言 4859.5.1 對(duì)象定位 4859.5.2 對(duì)象遷移 4869.5.3 對(duì)象復(fù)制 4879.6 元組空間 4889.6.1 避免關(guān)聯(lián)尋址的開銷 4889.6.2 元組空間的分布實(shí)現(xiàn) 4909.7 自動(dòng)并行 4929.7.1 自動(dòng)地使用并行性 4929.7.2 數(shù)據(jù)依賴 4949.7.3 循環(huán)轉(zhuǎn)換 4959.7.4 分布式存儲(chǔ)器的自動(dòng)并行 4969.8 小結(jié) 498附錄A 一個(gè)簡單的面向?qū)ο缶幾g程序/解釋程序 502附錄B 練習(xí)答案 509附錄C 參考文獻(xiàn) 519附錄D 術(shù)語表 527

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    現(xiàn)代編譯程序設(shè)計(jì)ModernCompilerDesign中文版 PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7