注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具編譯器設(shè)計之路

編譯器設(shè)計之路

編譯器設(shè)計之路

定 價:¥59.00

作 者: 裘巍 編著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 程序設(shè)計

ISBN: 9787111321644 出版時間: 2011-01-01 包裝: 平裝
開本: 16開 頁數(shù): 449 字?jǐn)?shù):  

內(nèi)容簡介

  本書系統(tǒng)地介紹了一個實際的Pascal編譯器Neo Pascal的設(shè)計與實現(xiàn)。結(jié)合Neo Pascal的源代碼,詳細(xì)講述了LL(1)語法分析器、符號表系統(tǒng)、中間表示、類型系統(tǒng)、優(yōu)化技術(shù)、運行時刻的存儲管理、代碼生成器等編譯器設(shè)計的核心話題。各章都附有少量以實踐應(yīng)用為主的練習(xí)題,既可作為閱讀思考題,也可作為課程設(shè)計選題。與國內(nèi)其他介紹編譯技術(shù)的圖書相比,本書更關(guān)注的是編譯器的實現(xiàn)細(xì)節(jié),而不僅僅局限于理論闡述。本書可供從事編譯器設(shè)計相關(guān)工作的工程人員閱讀,也可作為高等院校計算機專業(yè)的編譯原理課程參考書。讀者可在http://neopascal.sourceforge.net獲得Neo Pascal的源代碼及相關(guān)文檔。

作者簡介

暫缺《編譯器設(shè)計之路》作者簡介

圖書目錄

出版說明
前言
第1章 概述
1.1 編譯技術(shù)概述
1.1.1 程序設(shè)計語言基礎(chǔ)
1.1.2 程序設(shè)計語言的翻譯機制
1.1.3 編譯器的基本結(jié)構(gòu)
1.2 Pascal語言基礎(chǔ)
1.2.1 Pascal語言簡介
1.2.2 Pascal程序基本組成
1.2.3 Pascal的聲明部分
1.2.4 Pascal的類型
1.2.5 Pascal的運算符
1.2.6 Pascal的語句
1.3 開發(fā)環(huán)境與Delphi基礎(chǔ)
1.3.1 開發(fā)環(huán)境與文件列表
1.3.2 Delphi基礎(chǔ)
1.4 深入學(xué)習(xí)
1.5 實踐與思考
1.6 大師風(fēng)采——Niklaus Wirth
第2章 詞法分析
2.1 詞法分析概述
2.1.1 詞法分析的任務(wù)
2.1.2 單詞的分類
2.2 詞法分析器的設(shè)計
2.2.1 識別單詞
2.2.2 轉(zhuǎn)換圖
2.2.3 構(gòu)造詞法分析器
2.3 詞法分析器的實現(xiàn)
2.3.1 詞法定義
2.3.2 構(gòu)造轉(zhuǎn)換圖與轉(zhuǎn)換表
2.3.3 相關(guān)數(shù)據(jù)結(jié)構(gòu)
2.3.4 源代碼實現(xiàn)
2.4 深入學(xué)習(xí)
2.5 實踐與思考
2.6 大師風(fēng)采——Dennis M.Ritchie
第3章 語法分析
3.1 程序設(shè)計語言的語法描述
3.1.1 上下文無關(guān)文法
3.1.2 推導(dǎo)
3.1.3 語法樹
3.1.4 歸約簡介
3.2 語法分析概述
3.2.1 語法分析的任務(wù)
3.2.2 自上而下的語法分析法
3.2.3 構(gòu)造語法分析器
3.3 語法分析器的實現(xiàn)
3.3.I文法定義
3.3.2 語法分析表
3.3.3 源代碼實現(xiàn)
3.4 深入學(xué)習(xí)
3.5 實踐與思考
3.6 大師風(fēng)采——Edsger Wybe Dijkstra
第4章 符號表系統(tǒng)
4.1 語義分析概述
4.1.1 程序設(shè)計語言的語義
4.1.2 語義分析與IR生成的任務(wù)
4.1.3 語法制導(dǎo)翻譯
4.2 符號表設(shè)計
4.2.1 符號表概述
4.2.2 符號表的邏輯結(jié)構(gòu)
4.2.3 符號表的實例分析
4.3 聲明部分的實現(xiàn)
4.3.1 相關(guān)數(shù)據(jù)結(jié)構(gòu)
4.3.2 主程序首部聲明
4.3.3 包含文件聲日月部分
4.3.4 標(biāo)號聲明部分
4.3.5 常量聲明部分
4.3.6 類型聲明部分
4.3.7 變量聲明部分
4.3.8 過程、函數(shù)聲明部分
4.4 深入學(xué)習(xí)
4.5 實踐與思考
4.6 大師風(fēng)采——John Backus
第5章 中間表示
5.1 IR概述
5.1.1 IR的作用
5.1.2 IR設(shè)計及其級別
5.1.3 設(shè)計IR的重要意義
5.2 IR生成.
5.2.1 三地址代碼概述
5.2.2 Neo Pascal三地址代碼的實現(xiàn)
5.2.3 翻譯機制概述
5.3 語句翻譯概述
5.3.1 語句翻譯基礎(chǔ)
5.3 12翻譯輔助函數(shù)及其實現(xiàn)
5.4 if語句
5.4.1 if語句的翻譯
5.4.2 源代碼實現(xiàn)
5.5 while/repeat語句
5.5.1 while語句的翻譯
5.5.2 源代碼實現(xiàn)
5.5.3 repeat語句的翻譯
5.6 for語句
5.6.1 for語句的翻譯
5.6.2 源代碼實現(xiàn)
5.7 case語句
5.7.1 case語句的翻譯
5.7.2 源代碼實現(xiàn)
5.8 其他語句
5.8.1 break、continue語句的翻譯
5.8.2 goto語句的翻譯
5.8.3 asm語句的翻譯
5.9 深入學(xué)習(xí)
5.10 實踐與思考
5.11 大師風(fēng)采——Kenneth E.
Iverson
第6章 表達(dá)式語義
6.1 表達(dá)式概述
6.2 類型系統(tǒng)基礎(chǔ)
6.2.1 類型基礎(chǔ)
6.2.2 類型系統(tǒng)
6.2.3 類型轉(zhuǎn)換
6.3 類型系統(tǒng)的實現(xiàn)
6.3.1 類型系統(tǒng)的設(shè)計
6.3.2 IR的操作數(shù)
6.3.3 類型相容的實現(xiàn)
6.3.4 類型推斷的實現(xiàn)
6.4 表達(dá)式翻譯
6.4.1 表達(dá)式翻譯基礎(chǔ)
6.4.2 深入表達(dá)式翻譯
6.4.3 表達(dá)式翻譯的實現(xiàn)
6.5 操作數(shù)翻譯
6.5.1 操作數(shù)的地址與形態(tài)
6.5.2 操作數(shù)翻譯基礎(chǔ)
6.5.3 簡單變量操作數(shù)的翻譯
6.5.4 記錄字段操作數(shù)的翻譯
6.5.5 數(shù)組翻譯基礎(chǔ)
6.5.6 數(shù)組元素操作數(shù)的翻譯
6.5.7 指針運算的翻譯
6.6 深入學(xué)習(xí)
6.7 實踐與思考
6.8 大師風(fēng)采——Alan Kay
第7章 優(yōu)化技術(shù)
7.1 優(yōu)化概述
7.1.1 什么是優(yōu)化
7.1.2 優(yōu)化級別
7.2 控制流分析
7.2.1 流圖與基本塊
7.2.2 流圖的數(shù)據(jù)結(jié)構(gòu)
7.2.3 流圖的構(gòu)造
7.2.4 優(yōu)化的分類
7.3 數(shù)據(jù)流分析
7.3.1 數(shù)據(jù)流的相關(guān)概念
7.3.2 數(shù)據(jù)流分析的策略
7.3.3 活躍變量分析
7.3.4 ud鏈與du鏈
7.3.5 更多數(shù)據(jù)流問題
7.4 數(shù)據(jù)流分析的實現(xiàn).
7.4.1 定值點與引用點分析的基礎(chǔ)
7.4.2 定值點、引用點分析的相關(guān)數(shù)據(jù)結(jié)構(gòu)
7.4.3 定值點、引用點分析的實現(xiàn)
7.4.4 活躍變量分析的實現(xiàn)
7.4.5 ud鏈、du鏈分析的實現(xiàn)
7.5 常量傳播與常量折疊
7.5.1 常量傳播基礎(chǔ)
7.5.2 常量傳播的實現(xiàn)
7.6 復(fù)寫傳播
7.6.1 復(fù)寫傳播的基礎(chǔ)
7.6.2 復(fù)寫傳播的實現(xiàn)
7.7 代數(shù)簡化
7.7.1 代數(shù)簡化基礎(chǔ)
7.7.2 代數(shù)簡化的實現(xiàn)
7.8 跳轉(zhuǎn)優(yōu)化
7.8.1 跳轉(zhuǎn)優(yōu)化基礎(chǔ)
7.8.2 條件跳轉(zhuǎn)優(yōu)化的實現(xiàn)
7.8.3 連續(xù)跳轉(zhuǎn)優(yōu)化的實現(xiàn)
7.9 冗余代碼刪除
7.9.1 冗余代碼刪除基礎(chǔ)
7.9.2 死代碼刪除的實現(xiàn)
7.9.3 不可到達(dá)代碼刪除的實現(xiàn)
7.1 0深入學(xué)習(xí)
7.1 1實踐與思考
7.1 2大師風(fēng)采——Richard Stallman
第8章 運行時刻的存儲管理
8.1 存儲管理概述
8.1.1 存儲區(qū)域
8.1.2 存儲布局
8.1.3 存儲分配基礎(chǔ)
8.2 棧式存儲分配
8.2.1 棧式存儲分配基礎(chǔ)
8.2.2 i386棧式存儲分配
8.2.3 深入理解棧式存儲分配
8.3 存儲分配的實現(xiàn)
8.4 存儲優(yōu)化
8.4.1 存儲優(yōu)化基礎(chǔ)
8.4.2 存儲優(yōu)化的實現(xiàn)
8.5 深入學(xué)習(xí)
8.6 實踐與思考
8.7 大師風(fēng)采——Bjarne Stroustrup
第9章 目標(biāo)代碼生成
9.1 目標(biāo)代碼生成概述
9.1.1 目標(biāo)代碼生成基礎(chǔ)
9.1.2 指令選擇
9.1.3 寄存器分配
9.2 目標(biāo)機簡介
9.2.1 目標(biāo)機結(jié)構(gòu)
9.2.2 浮點處理單元
9.2.3 操作數(shù)尋址方式
9.2.4 ptr操作符
9.2.5 一個完整的匯編程序
9.3 構(gòu)造代碼生成器
9.3.1 自動代碼生成器基礎(chǔ)
9.3.2 指令模板
9.3.3 寄存器描述
9.3.4 寄存器分配
9.3.5 代碼生成器的基本結(jié)構(gòu)
9.4 深入學(xué)習(xí)
9.5 實踐與思考
9.6 大師風(fēng)采——Peter Naur
第10章 GCC內(nèi)核與現(xiàn)代編譯技術(shù)概述
10.1 編譯技術(shù)的現(xiàn)狀及發(fā)展
10.2 GCC內(nèi)核分析
10.2.1 GCC的基本結(jié)構(gòu)
10.2.2 GENERIC
10.2.3 GIMPLE
10.2.4 SSA
10.2.5 RTL概述
10.2 RTX
10.3 動態(tài)編譯技術(shù)簡介
10.3.1 動態(tài)編譯技術(shù)基礎(chǔ)
10.3.2 運行時特定化
10.3.3 動態(tài)二進(jìn)制翻譯
10.4 并行編譯技術(shù)簡介
10.4.1 并行編譯技術(shù)基礎(chǔ)
10.4.2 并行計算機及其編譯系統(tǒng)
10.5 深入學(xué)習(xí)
10.6 大師風(fēng)采——Alan Perlis
參考文獻(xiàn)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號