版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、編譯程序基本概念編譯程序的設(shè)計(jì)原理與實(shí)現(xiàn)編譯程序的設(shè)計(jì)原理與實(shí)現(xiàn)認(rèn)識、理解認(rèn)識、理解和和執(zhí)行執(zhí)行高級程序設(shè)計(jì)語言?高級程序設(shè)計(jì)語言?編譯程序基本概念自我介紹自我介紹 編譯程序基本概念教材與參考書教材與參考書l教材:教材: 胡倫駿等:胡倫駿等:編譯原理編譯原理(第(第2版),電子工版),電子工業(yè)出版社業(yè)出版社 。l參考書:參考書:美美 Alfred V.Aho, Ravi Sethi Jeffrey, D. Ullman著著. 李建中,姜守旭譯:李建中,姜守旭譯:編譯原理編譯原理,機(jī)械工業(yè)出,機(jī)械工業(yè)出版社,版社,2003-1。美美 Kenneth C.Louden著,馮博琴等譯:著,馮博琴等譯
2、:編譯編譯原理及實(shí)踐原理及實(shí)踐,機(jī)械工業(yè)出版社,機(jī)械工業(yè)出版社,2002-2。陳火旺等:陳火旺等:程序設(shè)計(jì)語言編譯原理程序設(shè)計(jì)語言編譯原理(第(第3版),版), 國防工業(yè)出版社,國防工業(yè)出版社,2003-2。編譯程序基本概念課程的學(xué)時(shí)分配課程的學(xué)時(shí)分配(4040學(xué)時(shí))學(xué)時(shí))課程內(nèi)容課程內(nèi)容 教學(xué)教學(xué)上機(jī)上機(jī)第第1章章 編譯程序基本概念編譯程序基本概念2第第2章章 形式語言基礎(chǔ)形式語言基礎(chǔ)4第第3章章 自動機(jī)基礎(chǔ)自動機(jī)基礎(chǔ)4第第4章章 詞法分析詞法分析24第第5章章 語法分析語法分析6第第6章章 中間代碼生成中間代碼生成64第第7章章 符號表組織符號表組織2第第8章章 優(yōu)化優(yōu)化2第第9章章 目標(biāo)
3、代碼生成目標(biāo)代碼生成4合計(jì)合計(jì)328編譯程序基本概念計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)系統(tǒng)硬件硬件軟件軟件組成組成原理原理電子技術(shù)電子技術(shù)體系體系結(jié)構(gòu)結(jié)構(gòu)數(shù)字邏輯電路數(shù)字邏輯電路電路原理電路原理大學(xué)物理大學(xué)物理計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)接口與通訊技術(shù)接口與通訊技術(shù)通訊概論通訊概論安全與保密安全與保密程序設(shè)程序設(shè)計(jì)語言計(jì)語言匯編語言匯編語言高級語言高級語言編譯原理編譯原理計(jì)算理論計(jì)算理論C、C、JAVA、PB、VB系統(tǒng)系統(tǒng)軟件軟件操作系統(tǒng)操作系統(tǒng)DOS、Windows 、UNIX數(shù)據(jù)庫數(shù)據(jù)庫Access、Sybase 、Oracle數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)人工智能人工智能應(yīng)用應(yīng)用軟件軟件開發(fā)開發(fā)軟件工程軟件工程算法設(shè)計(jì)與分析算
4、法設(shè)計(jì)與分析本課程在計(jì)算機(jī)系統(tǒng)中的地位本課程在計(jì)算機(jī)系統(tǒng)中的地位編譯程序基本概念 課程的名稱、地位和特點(diǎn)課程的名稱、地位和特點(diǎn) 課程名稱:課程名稱:編譯理論、編譯理論、編譯原理編譯原理、編譯結(jié)構(gòu)、編譯、編譯結(jié)構(gòu)、編譯技術(shù)和編譯方法等。技術(shù)和編譯方法等。 課程地位:課程地位:編譯程序(系統(tǒng))和操作系統(tǒng)一起構(gòu)成編譯程序(系統(tǒng))和操作系統(tǒng)一起構(gòu)成了計(jì)算機(jī)中兩大了計(jì)算機(jī)中兩大系統(tǒng)軟件系統(tǒng)軟件;一個(gè)是計(jì)算機(jī)資源的操;一個(gè)是計(jì)算機(jī)資源的操縱者;而另一個(gè)是計(jì)算機(jī)軟件資源的開拓者??v者;而另一個(gè)是計(jì)算機(jī)軟件資源的開拓者。 課程特點(diǎn)課程特點(diǎn): : 知識性知識性 形式語言和自動機(jī)作為本課程的兩大理論基礎(chǔ)形式語言和
5、自動機(jī)作為本課程的兩大理論基礎(chǔ)并具有典型的應(yīng)用技術(shù)并具有典型的應(yīng)用技術(shù); ; 系統(tǒng)性系統(tǒng)性 從詞法、語法、語義直到目標(biāo)生成,構(gòu)成了語從詞法、語法、語義直到目標(biāo)生成,構(gòu)成了語言翻譯的完整體系言翻譯的完整體系; ; 趣味性趣味性 關(guān)于語言處理的一些經(jīng)典算法和實(shí)現(xiàn)技術(shù),可關(guān)于語言處理的一些經(jīng)典算法和實(shí)現(xiàn)技術(shù),可以享受獲取軟件設(shè)計(jì)方法的樂趣。以享受獲取軟件設(shè)計(jì)方法的樂趣。 應(yīng)用性應(yīng)用性 編譯技術(shù)可廣泛應(yīng)用于文本編輯、排版系統(tǒng)、編譯技術(shù)可廣泛應(yīng)用于文本編輯、排版系統(tǒng)、模式識別以及機(jī)器翻譯等各個(gè)領(lǐng)域。模式識別以及機(jī)器翻譯等各個(gè)領(lǐng)域。編譯程序基本概念第第1 1章章 編譯程序基本概念編譯程序基本概念內(nèi)容提要內(nèi)
6、容提要 1.1 1.1 什么是編譯程序什么是編譯程序? ? 1.2 1.2 編譯程序邏輯結(jié)構(gòu)編譯程序邏輯結(jié)構(gòu) 1.3 1.3 編譯程序?qū)崿F(xiàn)機(jī)制編譯程序?qū)崿F(xiàn)機(jī)制 1.4 1.4 編譯程序的生成方法編譯程序的生成方法 1.5 1.5 編譯過程實(shí)例分析編譯過程實(shí)例分析 編譯程序基本概念. .計(jì)算機(jī)中語言的翻譯程序體系計(jì)算機(jī)中語言的翻譯程序體系解 釋 程解 釋 程序序 圖圖1.1 計(jì)算機(jī)語言的層次體系計(jì)算機(jī)語言的層次體系高級語言高級語言1 1編譯程序編譯程序2 2反匯編程序反匯編程序匯編程序匯編程序 匯編語言匯編語言機(jī)器語言機(jī)器語言反編譯程序反編譯程序轉(zhuǎn)換程序轉(zhuǎn)換程序 高級語言高級語言2 2編譯程序編
7、譯程序1 1編譯程序基本概念1.1 什么是編譯程序?什么是編譯程序? 編譯程序編譯程序(compiler)是一種是一種翻譯程序翻譯程序,它,它特指把某種特指把某種高級程序設(shè)計(jì)語言高級程序設(shè)計(jì)語言翻譯成與之等價(jià)翻譯成與之等價(jià)的具體計(jì)算機(jī)上的的具體計(jì)算機(jī)上的低級程序設(shè)計(jì)語言低級程序設(shè)計(jì)語言。編譯程序的執(zhí)行過程編譯程序的執(zhí)行過程兩個(gè)階段:兩個(gè)階段: 源語言源語言編譯程序編譯程序目標(biāo)語言目標(biāo)語言數(shù)據(jù)數(shù)據(jù) 結(jié)果結(jié)果運(yùn)行程運(yùn)行程序序編譯階段編譯階段運(yùn)行階段運(yùn)行階段圖圖1.2 編譯程序的執(zhí)行過程編譯程序的執(zhí)行過程編譯程序基本概念 什么是什么是解釋程序解釋程序? ? 解釋程序解釋程序(interpreter)
8、也是一種也是一種翻譯程序翻譯程序,它它將源語言書寫的源程序作為輸入,將源語言書寫的源程序作為輸入,解釋一句后就解釋一句后就提交計(jì)算機(jī)執(zhí)行一句提交計(jì)算機(jī)執(zhí)行一句,并不形成目標(biāo)程序。,并不形成目標(biāo)程序。 編譯程序編譯程序與與解釋程序解釋程序的主要區(qū)別的主要區(qū)別: : 數(shù)據(jù)數(shù)據(jù) 結(jié)果結(jié)果解釋程序解釋程序 圖圖1.3 解釋程序的執(zhí)行過程解釋程序的執(zhí)行過程 源語句源語句編譯程序基本概念1.2 編譯程序邏輯結(jié)構(gòu)編譯程序邏輯結(jié)構(gòu)詞法詞法分析分析語法語法分析分析語義語義分析分析目標(biāo)目標(biāo)代碼代碼生成生成源源語語言言目目標(biāo)標(biāo)語語言言錯錯 誤誤 處處 理理 程程 序序符符 號號 表表 管管 理理 程程 序序圖圖1.
9、4 編譯程序總體結(jié)構(gòu)編譯程序總體結(jié)構(gòu)優(yōu)化優(yōu)化處理處理編譯程序的編譯程序的五個(gè)階段:五個(gè)階段:編譯程序基本概念 編譯程序執(zhí)行過程編譯程序執(zhí)行過程詞法詞法分析分析語法語法分析分析語義語義分析分析目標(biāo)目標(biāo)代碼代碼生成生成源源語語言言目目標(biāo)標(biāo)語語言言錯錯 誤誤 處處 理理 程程 序序符符 號號 表表 管管 理理 程程 序序 圖圖1.5 編譯程序執(zhí)行過程圖解編譯程序執(zhí)行過程圖解優(yōu)化優(yōu)化處理處理單詞串單詞串TOKEN語法樹語法樹語義樹語義樹優(yōu)化優(yōu)化語義樹語義樹前前 端端后后 端端編譯程序基本概念 編譯程序編譯程序與與外文翻譯外文翻譯的類比:的類比:I wish you success!編譯程序基本概念1.
10、3 編譯程序的實(shí)現(xiàn)機(jī)制編譯程序的實(shí)現(xiàn)機(jī)制編譯程序基本概念1.4 編譯程序的生成方法編譯程序的生成方法編譯程序的生成方法:編譯程序的生成方法: 利用已有的編譯器利用已有的編譯器 自編譯方式自編譯方式 移植方式:重寫編譯器代碼的后端移植方式:重寫編譯器代碼的后端自動生成編譯程序:自動生成編譯程序: 詞法分析程序生成器詞法分析程序生成器LEX 語法分析程序生成器語法分析程序生成器YACC 編譯程序生成器編譯程序生成器 輸入:詞法規(guī)則、語法規(guī)則和語義解釋輸入:詞法規(guī)則、語法規(guī)則和語義解釋三個(gè)語言:源語言、目標(biāo)語言和實(shí)現(xiàn)語言。三個(gè)語言:源語言、目標(biāo)語言和實(shí)現(xiàn)語言。編譯程序基本概念1.5 編譯過程實(shí)例分析
11、編譯過程實(shí)例分析例:例:C程序片段程序片段 :1. 詞法分析詞法分析:識別單詞并分類識別單詞并分類 int a,b; . . . b = a + 2 * 5;v 編譯過程如下:編譯過程如下: 關(guān)鍵字關(guān)鍵字 (k) - int(k) - int 標(biāo)識符標(biāo)識符 (i) - a(i) - a,b b 常常 數(shù)數(shù) (c) - 2(c) - 2,5 5 界界 符符 (p) - , ; = + (p) - , ; = + * 單詞單詞類碼類碼編譯程序基本概念 圖 1.6 賦值語句 b=a+2*5 的語法樹 例: b = a + 2 * 5 的分析過程如下所示: ( 生成的結(jié)果是一棵語法樹 ) = = b
12、b + + * * a25 2. 語法分析:語法分析:組詞成句及語法錯誤檢查組詞成句及語法錯誤檢查算術(shù)表達(dá)式的算術(shù)表達(dá)式的層次結(jié)構(gòu)層次結(jié)構(gòu)編譯程序基本概念3. 語義分析:語義分析:分析各種語法成分的分析各種語法成分的語義特征語義特征int a,b;. . .b=a+2*5;l 構(gòu)建構(gòu)建標(biāo)識符標(biāo)識符的語義辭典的語義辭典-符號表:符號表:l 構(gòu)造語句的語義樹構(gòu)造語句的語義樹-中間語言;中間語言; b 的值 a 的值 數(shù)據(jù)區(qū)數(shù)據(jù)區(qū) v i b v i a 地址種類 類型 名字符號表符號表= =b b+ +a a* *2 25 5(1) ( * 2 5 t1 )(2) ( + a t1 t2 )(3) ( = t2 _ b )或或編譯程序基本概念4. 優(yōu)化優(yōu)化:提高目標(biāo)程序的質(zhì)量:提高目標(biāo)程序的質(zhì)量= =b b+ +a a* *2 25 5(1) ( * 2 5 t1 )(2) ( + a t1 t2 )(3) ( = t2 _ b )經(jīng)經(jīng)常數(shù)合并常數(shù)合并,可分別獲得優(yōu)化后的中間代碼如下圖所示:,可分別獲得優(yōu)化后的中間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022中考生物復(fù)習(xí)訓(xùn)練:細(xì)菌和真菌(含解析)
- 2024年版:個(gè)人保單抵押借款協(xié)議
- 2024年生產(chǎn)線改造與升級合作協(xié)議3篇
- 2024年章榮離婚條件與財(cái)產(chǎn)分割合同3篇
- 勞務(wù)分包合同(2篇)
- 動態(tài)表情包版權(quán)使用合同(2篇)
- 二零二五年度互聯(lián)網(wǎng)企業(yè)股權(quán)質(zhì)押融資協(xié)議書3篇
- 2025版建筑工程合同違約責(zé)任與合同糾紛仲裁程序3篇
- 2024年瓶裝礦泉水綠色包裝設(shè)計(jì)與銷售合作合同3篇
- 2024年規(guī)范版農(nóng)民工聘用協(xié)議范本版B版
- 2024-2030年中國汽車水泵市場未來發(fā)展趨勢及前景調(diào)研分析報(bào)告
- 綠城營銷策劃管理標(biāo)準(zhǔn)化手冊
- 2025小學(xué)創(chuàng)意特色寒假素養(yǎng)作業(yè)設(shè)計(jì)真絕了【高清可打印】
- 2025年上半年河南安陽市睢陽區(qū)“減縣補(bǔ)鄉(xiāng)”鄉(xiāng)鎮(zhèn)事業(yè)單位選拔130人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 2025學(xué)年學(xué)期學(xué)校衛(wèi)生工作計(jì)劃
- 10.1.2事件的關(guān)系和運(yùn)算(教學(xué)課件)高一數(shù)學(xué)(人教A版2019必修第二冊)
- 2024-2030年中國天然靛藍(lán)行業(yè)市場規(guī)模預(yù)測及發(fā)展可行性分析報(bào)告
- DB37T 4548-2022 二氧化碳驅(qū)油封存項(xiàng)目碳減排量核算技術(shù)規(guī)范
- 《公路養(yǎng)護(hù)安全培訓(xùn)》課件
- 2024國家開放大學(xué)基礎(chǔ)寫作形考任務(wù)2試題及答案
- 2023-2024學(xué)年江蘇省蘇州市高一(上)期末地理試卷
評論
0/150
提交評論