第1章 導引/1
1.1 數(shù)學基礎(chǔ)/1
1.1.1 集合與序列/1
1.1.2 語言/2
1.1.3 關(guān)系與翻譯/3
1.1.4 圖/4
1.1.5 證明/6
1.2 編譯/8
1.2.1 編譯階段/8
1.2.2 編譯器構(gòu)造/12
1.3 重寫系統(tǒng)/13
1.3.1 語言模型/14
本書要點/15
習題/15
部分習題解答/17
第2章 詞法分析/19
2.1 模型/19
2.1.1 正規(guī)表達式/19
2.1.2 有窮自動機/20
2.1.3 有窮自動機的表示/22
2.1.4 簡化/23
2.1.5 有窮變換機/28
2.2 方法/29
2.2.1 單詞與單詞記號/29
2.2.2 詞法分析器/33
2.2.3 額外的任務/39
2.3 理論/39
2.3.1 正規(guī)表達式到有窮自動機的變換/39
2.3.2 有窮自動機的化簡/44
2.3.3 非正規(guī)詞法構(gòu)造/51
2.3.4 判定問題/60
習題/62
部分習題解答/67
第3章 語法分析/69
3.1 模型/69
3.1.1 文法/69
3.1.2 下推自動機/80
3.2 方法/83
3.2.1 自上而下分析/83
3.2.2 遞歸下降分析程序/86
3.2.3 消除左遞歸/89
3.2.4 自下而上分析/91
3.3 理論/96
3.3.1 分析模型的能力/97
3.3.2 驗證文法形式的語法描述/97
3.3.3 文法的簡化/99
3.3.4 文法的范式和基于它們的分析/108
3.3.5 文法不能描述的語法/114
3.3.6 判定問題/120
習題/122
部分習題解答/127
第4章 確定的自上而下分析/130
4.1 預測集合和LL文法/130
4.2 預測分析/136
4.2.1 遞歸下降預測分析/136
4.2.2 表驅(qū)動的預測分析/139
4.2.3 處理錯誤/144
習題/145
部分習題解答/149
第5章 確定的自下而上分析/151
5.1 優(yōu)先分析/151
5.1.1 算符優(yōu)先分析算法/151
5.1.2 算符優(yōu)先表的構(gòu)造/154
5.1.3 處理錯誤/155
5.1.4 擴展/158
5.1.5 限制/160
5.2 LR語法分析/160
5.2.1 LR分析算法/160
5.2.2 構(gòu)造LR表/163
5.2.3 LR分析中的錯誤處理/170
習題/172
部分習題解答/175
第6章 語法制導翻譯和中間代碼生成/178
6.1 自下而上語法制導翻譯和中間代碼生成/179
6.1.1 語法樹/180
6.1.2 三地址碼/185
6.1.3 波蘭式/188
6.2 自上而下的語法制導翻譯/189
6.3 語義分析/191
6.4 符號表/192
6.4.1 組織/192
6.4.2 存儲標識符名字/193
6.4.3 塊結(jié)構(gòu)的符號表/194
6.5 語法制導翻譯的軟件工具/195
6.5.1 Lex/196
6.5.2 Yacc/197
習題/201
部分習題解答/203
第7章 優(yōu)化和目標代碼生成/205
7.1 跟蹤變量的使用/205
7.1.1 基本塊/206
7.1.2 基本塊內(nèi)變量的使用/208
7.1.3 基本塊之間變量的使用/211
7.2 中間代碼優(yōu)化/214
7.3 目標代碼的優(yōu)化和生成/218
習題/222
部分習題解答/225
結(jié)束語/226
文獻紀要/226
研究生層次的話題/227
當前趨勢/230
附錄A實現(xiàn)/233
A.1 概念/233
類接口/234
A.2 代碼/236
參考文獻/256
《編譯器設(shè)計基礎(chǔ)》是編譯器編寫方面的入門教材,適用于一個學期的高年級本科課程。《編譯器設(shè)計基礎(chǔ)》堅持在這一主題的理論和實踐方法之間維持一種平衡。從理論角度來看,《編譯器設(shè)計基礎(chǔ)》介紹了編譯及其核心階段的基本模型?;谶@些模型,它講解了編譯器中用到的概念、方法和技術(shù)?!毒幾g器設(shè)計基礎(chǔ)》還簡述了編譯以及相關(guān)話題的數(shù)學基礎(chǔ),這些話題包括形式語言理論、自動機和變換機。同時,從實踐的視角來看,《編譯器設(shè)計基礎(chǔ)》描述了編譯器技術(shù)是如何實現(xiàn)的。一個案例學習貫穿全書,《編譯器設(shè)計基礎(chǔ)》設(shè)計一種新的類Pascal程序設(shè)計語言,并構(gòu)造其編譯器;在討論編譯器各種方法的同時,這個案例學習用作其實現(xiàn)的實例說明。此外,《編譯器設(shè)計基礎(chǔ)》提供了許多詳細的例子和計算機程序,以強調(diào)編譯算法的實際應用?!毒幾g器設(shè)計基礎(chǔ)》中也涵蓋了核心軟件工具。學完《編譯器設(shè)計基礎(chǔ)》之后,學生應該能夠掌握編譯過程,編寫簡單的真實編譯器,并可以繼續(xù)學習關(guān)于該主題的更深入的書籍。
作者:(美國)梅杜納 (Alexander Meduna) 譯者:楊萍 王生原
Alexander Meduna,PhD,布爾諾理工大學計算機科學系教授,于1988年在那里獲得博士學位。從1988至1997年,他在美國密蘇里哥倫比亞大學講授計算機科學。從2000年起,他在布爾諾理工大學任教,更加專注于講授計算機科學和數(shù)學。除了這兩所大學,他還在美洲、歐洲和日本的幾所大學短期講授計算機科學。他的課程主要集中于編譯器的編寫。他所教授的內(nèi)容也涵蓋了多種主題,包括自動機、離散數(shù)學、形式語言、操作系統(tǒng)、程序設(shè)計語言原理以及計算理論。
F1:打開“幫助”系統(tǒng)F2:切換定義和繪圖界面;單構(gòu)件輸入構(gòu)件管理F3:打開“批量選擇構(gòu)件圖元”對話框;點式構(gòu)件繪制時水平翻轉(zhuǎn);單構(gòu)件輸入“查找下一個”F4:在繪圖時改變點式構(gòu)件圖元的插入點位置(例如...
緒論第一章 制圖基本知識§1-1國家標準《技術(shù)制圖》的基本規(guī)定§1-2儀器與使用§1-3平面圖形分析與繪制§1-4徒手草圖內(nèi)容小結(jié)思考題第二章投影原理§2-1投影法的基本知識§2-2三視圖§2-3立體...
1 總則2 術(shù)語3 基本規(guī)定4 建筑4.1 庫址選擇與總平面4.2 庫房的布置4.3 庫房的隔熱4.4 庫房的隔汽和防潮4.5 構(gòu)造要求4.6 制冷機房、變配電所和控制室5 結(jié)構(gòu)5.1 一般規(guī)定5.2...
出版社: 清華大學出版社; 第1版 (2009年4月1日)
外文書名: Elements Of Compiler Design
叢書名: 世界著名計算機教材精選
平裝: 277頁
正文語種: 簡體中文
開本: 16
ISBN: 9787302193340
條形碼: 9787302193340
尺寸: 25.6 x 18.4 x 1.4 cm
重量: 762 g
格式:pdf
大?。?span id="l14lkrt" class="single-tag-height">135KB
頁數(shù): 2頁
評分: 4.4
分析了傳統(tǒng)編譯器設(shè)計中的存在問題,敘述了管道-過濾器體系結(jié)構(gòu)的基本概念和特點,提出了基于管道-過濾器體系結(jié)構(gòu)的編譯器的設(shè)計和實現(xiàn)方法。
格式:pdf
大小:135KB
頁數(shù): 8頁
評分: 4.6
緒論 第 1 章 機械設(shè)計概述 第 2 章 潤滑與密封概述 第 3 章 平面機構(gòu)的結(jié)構(gòu)分析 第 4 章 平面連桿機構(gòu) 第 5 章 凸輪機構(gòu) 第 6 章 間歇運動機構(gòu) 第 7 章 螺紋連接 第 8 章 軸轂連接 第 9 章 帶傳動 第 10章 鏈傳動 第 11章 齒輪傳動 第 12章 蝸桿傳動 第 13章 齒輪系 第 14章 機械傳動設(shè)計 第 15章 機械的調(diào)速與平衡 第 16章 軸 第 17章 滾動軸承 第 18章 滑動軸承 第 19章 聯(lián)軸器、離合器 第 20章 彈簧 目 錄 緒論 0.1 機器的組成及特征 0.2課程的內(nèi)容、性質(zhì)和任務 0.3 學習方法 復習題與練習題 第 1 章機械設(shè)計概述 1.1 機械設(shè)計的基本要求 1.2 機械設(shè)計的內(nèi)容與過程 1.3 機械零件的失效形式及設(shè)計計算準則 1.4機械零件的接觸強度 1.5機械零件的標準化 1.6現(xiàn)代機械設(shè)計理論概述 復習題與練習題
編譯器種類
編譯 器可以生成用來在與編譯器本身所在的計算機和操作系統(tǒng)(平臺)相同的環(huán)境下運行的目標代碼,這種編譯器又叫做"本地"編譯器。另外,編譯器也可以生成用來在其它平臺上運行的目標代碼,這種編譯器又叫做交叉編譯器。交叉編譯器在生成新的硬件平臺時非常有用。"源碼到源碼編譯器"是指用一種高級語言作為輸入,輸出也是高級語言的編譯器。例如: 自動并行化編譯器經(jīng)常采用一種高級語言作為輸入,轉(zhuǎn)換其中的代碼,并用并行代碼注釋對它進行注釋(如OpenMP)或者用語言構(gòu)造進行注釋(如FORTRAN的DOALL指令)。
作用是通過代入預定義等程序段將源程序補充完整。
前端主要負責解析(parse)輸入的源代碼,由語法分析器和語意分析器協(xié)同工作。語法分析器負責把源代碼中的'單詞'(Token)找出來,語意分析器把這些分散的單詞按預先定義好的語法組裝成有意義的表達式,語句 ,函數(shù)等等。 例如"a = b + c;"前端語法分析器看到的是"a, =, b , +, c;",語意分析器按定義的語法,先把他們組裝成表達式"b + c",再組裝成"a = b + c"的語句。 前端還負責語義(semantic checking)的檢查,例如檢測參與運算的變量是否是同一類型的,簡單的錯誤處理。最終的結(jié)果常常是一個抽象的語法樹(abstract syntax tree,或 AST),這樣后端可以在此基礎(chǔ)上進一步優(yōu)化,處理。
編譯器后端主要負責分析,優(yōu)化中間代碼(Intermediate representation)以及生成機器代碼(Code Generation)。
一般說來所有的編譯器分析,優(yōu)化,變型都可以分成兩大類: 函數(shù)內(nèi)(intraprocedural)還是函數(shù)之間(interprocedural)進行。很明顯,函數(shù)間的分析,優(yōu)化更準確,但需要更長的時間來完成。
EPP編譯器
EclipsePHP Studio (簡稱:EPP ) 是一個大型PHP項目開發(fā)編譯器,根據(jù)Eclipse底層開發(fā)而來,并且集成了JDK,免除處了安裝配置的麻煩,一次安裝即可使用無需配置。此編譯器為PHP編譯器,輔助PHP代碼的開發(fā)和調(diào)試,集成了代碼高亮,函數(shù)跟蹤,實時糾錯等功能。同時還增 加了協(xié)作開發(fā)版本服務器功能: SVN , CVS 。 內(nèi)嵌瀏覽器可以在調(diào)試簡單代碼實時瀏覽。不僅支持php ,也支持其他網(wǎng)絡(luò)語言像html、xhtml、xml、css和javascript、java、perl、python等!
1、方便PHP面向?qū)ο箝_發(fā),有類集成跟蹤功能。
2、代碼實時糾錯,讓語法錯誤扼殺在搖籃中。
3、集成了PHP4、PHP5.2x 、PHP5.3.x語法
4、豐富的快捷鍵和大量的插件功能讓開發(fā)提高效率。
5、函數(shù),變量,快捷時時提示,讓開發(fā)變的簡單輕松。
6、強調(diào)的調(diào)試和結(jié)構(gòu)操作,使得更容易開發(fā)大型的項目。
7、多項目管理,可以用開發(fā)者在多個項目之間切換。
8、集成了Zend debuger PHP斷點調(diào)試功能。
1、修正PHP4、PHP5.2/5.3語法兼容
2、徹底修正了行號丟失問題
3、完美兼容Window7 操作系統(tǒng)
4、重新修正了PHP支持內(nèi)核反應速度更快
5、增加了Zend debuger PHP斷點調(diào)試功能。
6、去除了半自動代碼提示改為實時提示
編譯是從源代碼(通常為高級語言)到能直接被計算機或虛擬機執(zhí)行的目標代碼(通常為低級語言或機器語言)的翻譯過程。然而,也存在從低級語言到高級語言的編譯器,這類編譯器中用來從由高級語言生成的低級語言代碼重新生成高級語言代碼的又被叫做反編譯器。也有從一種高級語言生成另一種高級語言的編譯器,或者生成一種需要進一步處理的的中間代碼的編譯器(又叫級聯(lián))。
典型的編譯器輸出是由包含入口點的名字和地址, 以及外部調(diào)用(到不在這個目標文件中的函數(shù)調(diào)用)的機器代碼所組成的目標文件。一組目標文件,不必是同一編譯器產(chǎn)生,但使用的編譯器必需采用同樣的輸出格式,可以鏈接在一起并生成可以由用戶直接執(zhí)行的EXE,
所以我們電腦上的文件都是經(jīng)過編譯后的文件。