編譯器構造:C語言描述(中文版) PDF 掃描版[86M]
86.63MB / 06-21
程序設計抽象思想:C語言描述(Programming Abstractions in C) P
33.63MB / 06-08
數(shù)據(jù)結構與算法分析 C語言描述 pdf格式電子書
10MB / 06-19
算法精解:C語言描述 完整中文pdf掃描版
8MB / 03-10
-
-
自用C++學習筆記(附2024面經) 中文完整版PDF C/C++ / 2.95MB
-
C++基礎與提高(王桂林) 第四版 中文pdf完整版 C/C++ / 3.5MB
-
C語言深度進階篇 v3 中文pdf完整版 C/C++ / 18.4MB
-
零基礎入門C語言(全) 王桂林 中文pdf完整版 C/C++ / 4.7MB
-
-
C++編程MFC基礎教程 中文完整版PDF C/C++ / 28.3MB
-
Qt5.10 GUI完全參考手冊 中文完整版PDF C/C++ / 9.50MB
-
C++標準庫參考(STL) 完整版PDF C/C++ / 27.9MB
-
C++編程學習與實踐案例 中文完整版PDF C/C++ / 1.55MB
詳情介紹
《現(xiàn)代編譯原理:C語言描述》全面講述了現(xiàn)代編譯器的結構、編譯算法和實現(xiàn)方法,是Andrew w.Apple的“虎書”——Modern Compiler Implementation——“紅、藍、綠”三序列之一。這三本書的內容基本相同。但是使用不同的語言來實現(xiàn)書中給出的一個編譯器。本書使用的是更適合廣大讀者的c語言,而另外兩本書分別采用ML語言和Java語言。本書的另一個特點是增加了一些其他編譯原理教科書沒有涉及的內容。前端增加了面向對象的程序設計語言、函數(shù)式程序設計語言等現(xiàn)代語言的編譯實現(xiàn)方法,后端增加了針對現(xiàn)代計算機體系結構特征的一些比較成熟的優(yōu)化方法。這部分內容展現(xiàn)了現(xiàn)代商業(yè)編譯器需解決的一些關鍵問題,開拓了學生的視野,為學生未來進行更深入的研究奠定了基礎?!?br /> 《現(xiàn)代編譯原理:C語言描述》全面講述了現(xiàn)代編譯器的各個組成部分,包括詞法分析、語法分析、抽象語法、語義檢查、中間代碼表示、指令選擇、數(shù)據(jù)流分析、寄存器分配以及運行時系統(tǒng)等。全書分成兩部分,第一部分是編譯的基礎知識,適用于第一門編譯原理課程(一個學期);第二部分是高級主題,包括面向對象語言和函數(shù)語言、垃圾收集、循環(huán)優(yōu)化、ssA(靜態(tài)單賦值)形式、循環(huán)調度、存儲結構優(yōu)化等,適合于后續(xù)課程或研究生教學。書中專門為學生提供了一個用C語言編寫的實習項目,包括前端和后端設計,學生可以在一學期內創(chuàng)建一個功能完整的編譯器。
目錄:
第一部分編譯基本原理
第1章 緒論
1.1模塊與接口
1.2 工具和軟件
1.3樹語言的數(shù)據(jù)結構
程序設計:直線式程序解釋器
推薦閱讀
習題
第2章 詞法分析
2.1詞法單詞
2.2正則表達式
2.3有限自動機
2.4非確定有限自動機
2.4.1將正則表達式轉換為NFA
2.4.2將NFA轉換為DFA
2.5 Lex:詞法分析器的生成器
程序設計:詞法分析
推薦閱讀
習題
第3章 語法分析
3.1上下文無關文法
3.1.1推導
3.1.2語法分析樹
3.1.3二義性文法
3.1.4文件結束符
3.2預測分析
3.2.1 FIRST集合和FOLLOW集合
3.2.2構造一個預測分析器
3.2.3消除左遞歸
3.2.4提取左因子
3.2.5錯誤恢復
3.3 LR分析
3.3.1 LR分析引擎
3.3.2 LR(0)分析器生成器
3.3.3 SLR分析器的生成
3.3.4 LR(1)項和LR(1)分析表
3.3.5 LALR(1)分析表
3.3.6各類文法的層次一
3.3.7二義性文法的LR分析一
3.4使用分析器的生成器一
3.4.1 沖突一
3.4.2優(yōu)先級指導
3.4.3語法和語義
3.5錯誤恢復
3.5.1用elTOI‘符號恢復
3.5.2全局錯誤修復
程序設計:語法分析
推薦閱讀
習題
第4章 抽象語法
4.1語義動作
4.1.1 遞歸下降
4.1.2 Yacc生成的分析器
4.1.3語義動作的解釋器
4.2抽象語法分析樹
4.2.1位置
4.2.2 Tiger的抽象語法
程序設計:抽象語法
推薦閱讀
習題
第5章 語義分析
5.1 符號表
5.1.1多個符號表
5.1.2高效的命令式風格符號表
5.1.3高效的函數(shù)式符號表
5.1.4 Tiger編譯器的符號
5.1.5函數(shù)式風格的符號表
5.2 Tiger編譯器的綁定
5.3表達式的類型檢查
5.4聲明的類型檢查
5.4.1變量聲明
5.4.2類型聲明
5.4.3函數(shù)聲明
5.4.4遞歸聲明
程序設計:類型檢查
習題
第6章 活動記錄
6.1 棧幀
6.1.1 幀指針
6.1.2寄存器
6.1.3參數(shù)傳遞
6.1.4返回地址
6.1.5棧幀內的變量
6.1.6靜態(tài)鏈
6.2 Tiger編譯器的棧幀
6.2.1棧幀描述的表示
6.2.2局部變量
6.2.3計算逃逸變量
6.2.4臨時變量和標號
6.2.5兩層抽象
6.2.6管理靜態(tài)鏈
6.2.7追蹤層次信息
程序設計:棧幀
推薦閱讀
習題
第7章 翻譯成中間代碼
7.1中間表示樹
7.2翻譯為樹中間語言
7.2.1表達式的種類
7.2.2簡單變量
7.2.3追隨靜態(tài)鏈
7.2.4數(shù)組變量
7.2.5結構化的左值
7.2.6下標和域選擇
7.2.7關于安全性的勸告
7.2.8算術操作
7.2.9條件表達式
7.2.10字符串
7.2.11記錄和數(shù)組的創(chuàng)建
7.2.12 while循環(huán)
7.2.13 for循環(huán)
7.2.14函數(shù)調用
7.3聲明
7.3.1變量定義
7.3.2函數(shù)定義
程序設計:翻譯成樹
習題
第8章 基本塊和軌跡
8.1規(guī)范樹
8.1.1 ESEQ的轉換
8.1.2一般重寫規(guī)則
8.1.3將cALL移到頂層
8.1.4線性語句表
8.2處理條件分支
8.2.1基本塊
8.2.2軌跡
8.2.3完善
8.2.4最優(yōu)軌跡
推薦閱讀
習題
第9章 指令選擇
9.1指令選擇算法
9.1.1 Maximal Munch算法
9.1.2動態(tài)規(guī)劃
9.1.3樹文法
9.1.4快速匹配
9.1.5覆蓋算法的效率
9.2 CIS(:機器
9.3 Tiger編譯器的指令選擇
9.3.1抽象的匯編語言指令
9.3.2生成匯編指令
9.3.3過程調用
9.3.4無幀指針的情形
程序設計:指令選擇
推薦閱讀
習題
第10章 活躍分析
10.1數(shù)據(jù)流方程的解
10.1.1活躍性計算
10.1.2集合的表示
10.1.3時間復雜度
10.1.4最小不動點
10.1.5靜態(tài)活躍性與動態(tài)活躍性
10.1.6 沖突圖
10.2 Tiger編譯器的活躍分析
10.2.1 圖
10.2.2控制流圖
10.2.3活躍分析
程序設計:構造流圖
程序設計:活躍分析模塊
習題一
第11章 寄存器分配
11.1通過簡化進行著色
11.2合并一
11.3預著色的結點
11.3.1機器寄存器的臨時副本
11.3.2調用者保護的寄存器和
被調用者保護的寄存器
11.3.3含預著色結點的例子
11.4圖著色的實現(xiàn)
11.4.1傳送指令工作表的管理
11.4.2數(shù)據(jù)結構
11.4.3程序代碼
11.5針對樹的寄存器分配
程序設計:圖著色
推薦閱讀一
習題
第12章 整合為一體
程序設計:過程入口/出口
程序設計:創(chuàng)建一個可運行的編譯器
第二部分高級主題
第13章 垃圾收集
13.1標記一清掃式收集
13.2引用計數(shù)
13.3復制式收集
13.4分代收集
13.5增量式收集
13.6 Baker算法
13.7編譯器接口
13.7.1快速分配
13.7.2數(shù)據(jù)布局的描述
13.7.3導出指針
程序設計:描述字
程序設計:垃圾收集
推薦閱讀
習題
第14章 面向對象的語言
14.1類
14.2數(shù)據(jù)域的單繼承性
14.3多繼承
14.4測試類成員關系
14.5私有域和私有方法
14.6無類語言
14.7面向對象程序的優(yōu)化
程序設計:OBJE~~:T—Tigei’
推薦閱讀
習題
第15章 函數(shù)式程序設計語言
15.1一個簡單的函數(shù)式語言
15.2閉包
15.3不變的變量
15.3.1基于延續(xù)的L/O
15.3.2語言上的變化
15.3.3純函數(shù)式語言的優(yōu)化
15.4內聯(lián)擴展
15.5閉包變換
15.6高效的尾遞歸
15.7懶惰計算
15.7.1傳名調用計算
15.7.2按需調用
15.7.3懶惰程序的計算
15.7.4懶惰函數(shù)式程序的優(yōu)化
15.7.5嚴格性分析
推薦閱讀
程序設計:編譯函數(shù)式語言
習題
第16章 多態(tài)類型
16.1參數(shù)多態(tài)性
16.1.1 顯式帶類型的多態(tài)語言
16.1.2多態(tài)類型的檢查
16.2類型推論
16.2.1一個隱式類型的多態(tài)語言
16.2.2類型推論算法
16.2.3遞歸的數(shù)據(jù)類型
16.2.4 HindleyMilner類型的能力
16.3多態(tài)變量的表示一
16.3.1多態(tài)函數(shù)的擴展一
16.3.2完全的裝箱轉換一
16.3.3基于強制的表示分析”
16.3.4將類型作為運行時參數(shù)
傳遞一
16.4靜態(tài)重載的解決方法一
推薦閱讀
習題
第17章 數(shù)據(jù)流分析
17.1流分析使用的中間表示
17.2各種數(shù)據(jù)流分析
17.2.1到達定值
17.2.2可用表達式
17.2.3到達表達式
17.2.4活躍分析
17.3使用數(shù)據(jù)流分析結果的幾種
轉換
17.3.1公共子表達式刪除
17.3.2常數(shù)傳播
17.3.3復寫傳播
17.3.4死代碼刪除
17.4加快數(shù)據(jù)流分析
17.4.1位向量
17.4.2基本塊
17.4.3結點排序
17.4.4使用一定值鏈和定值一
使用鏈
17.4.5工作表算法
17.4.6增量式數(shù)據(jù)流分析
17.5別名分析
17.5.1基于類型的別名分析
17.5.2基于流的別名分析
17.5.3使用可能別名信息
17.5.4嚴格的純函數(shù)式語言中的
別名分析
推薦閱讀
習題
第18章 循環(huán)優(yōu)化
18.1 必經結點
18.1.1尋找必經結點的算法
18.1.2直接必經結點
18.1.3循環(huán)
18.1.4循環(huán)前置結點
18.2循環(huán)不變量計算
18.3歸納變量
18.3.1發(fā)現(xiàn)歸納變量
18.3.2強度削弱
18.3.3刪除
18.3.4重寫比較
18.4數(shù)組邊界檢查
18.5循環(huán)展開
推薦閱讀
習題
第19章 靜態(tài)單賦值形式
19.1轉化為SSA形式一
19.1.1插入西函數(shù)的標準一
19.1.2必經結點邊界一
19.1.3插入φ函數(shù)
19.1.4變量重命名
19.1.5邊分割
19.2必經結點樹的高效計算
19.2.1深度優(yōu)先生成樹
19.2.2半必經結點
19.2.3 LengauerTarjan算法
19.3使用SSA的優(yōu)化算法
19.3.1死代碼刪除
19.3.2簡單的常數(shù)傳播
19.3.3條件常數(shù)傳播
19.3.4保持必經結點性質
19.4數(shù)組、指針和存儲器
19.5控制依賴圖
19.6從SSA形式轉變回來
19.7函數(shù)式中間形式
推薦閱讀
習題
第20章 流水和調度
20.1 沒有資源約束時的循環(huán)調度
20.2有資源約束的循環(huán)流水
20.2.1模調度
20.2.2尋找最小的啟動間距
20.2.3其他控制流
20.2.4編譯器應該調度指令嗎
20.3分支預測
20.3.1靜態(tài)分支預測
20.3.2編譯器應該預測分支嗎
推薦閱讀
習題
第21章 存儲層次
21.1 cache的組織結構
21.2 cache塊對齊
21.3預取
21.4循環(huán)交換
21.5分塊一
21.6垃圾收集和存儲層次
推薦閱讀一
習題
附錄Tiger語言參考手冊
參考文獻
索引
下載地址
人氣書籍
Objective-C基礎教程 中文 PDF 清晰版 [31M]
C程序設計(第四版)+學習輔導 pdf版打包 譚浩強主編
C++ Primer Plus (第五版) 中文PDF清晰掃描版(57M)
Linux C編程實戰(zhàn) 中文 PDF版 [65.2M]
數(shù)據(jù)結構(C語言版) 第2版 (嚴蔚敏等) 高清pdf完整版[38MB]
數(shù)據(jù)結構基礎(C語言版)(第2版)中文 PDF清晰版(35.4M)
Lua程序設計 Programming in Lua 中文 PDF 高清版
數(shù)據(jù)結構C語言版(嚴蔚敏) 高清版 PDF格式
C語言經典編程282例 (明日科技) 高清PDF掃描版 161M
C++ GUI Qt 4編程(第二版) PDF掃描版
下載聲明
☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的現(xiàn)代編譯原理:C語言描述 Andrew W. Appel PDF掃描版資源來源互聯(lián)網(wǎng),版權歸該下載資源的合法擁有者所有。