




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
編譯程序的設(shè)計原理與實現(xiàn)如何讓計算機認(rèn)識、理解和執(zhí)行高級程序設(shè)計語言?自我介紹課件:
compiler_principle@
password:2008happy網(wǎng)易網(wǎng)盤->我的文檔Email:
劉洪娟:liuhongjuan0125@163.com辦公室:
綜合樓303辦公電話:
83680831
教材與參考書教材:胡倫駿等:《編譯原理》(第2版),電子工業(yè)出版社。參考書:美AlfredV.Aho,RaviSethiJeffrey,D.Ullman著.李建中,姜守旭譯:《編譯原理》,機械工業(yè)出版社,2003-1。美KennethC.Louden著,馮博琴等譯:《編譯原理及實踐》,機械工業(yè)出版社,2002-2。陳火旺等:《程序設(shè)計語言編譯原理》(第3版),國防工業(yè)出版社,2003-2。課程的學(xué)時分配(40學(xué)時)課程內(nèi)容教學(xué)上機第1章編譯程序基本概念2第2章形式語言基礎(chǔ)4第3章自動機基礎(chǔ)4第4章詞法分析24第5章語法分析6第6章中間代碼生成64第7章符號表組織2第8章優(yōu)化2第9章目標(biāo)代碼生成4合計328計算機系統(tǒng)硬件軟件組成原理電子技術(shù)體系結(jié)構(gòu)數(shù)字邏輯電路電路原理大學(xué)物理計算機網(wǎng)絡(luò)接口與通訊技術(shù)通訊概論安全與保密程序設(shè)計語言匯編語言高級語言編譯原理計算理論C、C++、JAVA、PB、VB…系統(tǒng)軟件操作系統(tǒng)DOS、Windows、UNIX…數(shù)據(jù)庫Access、Sybase、Oracle…數(shù)據(jù)結(jié)構(gòu)人工智能應(yīng)用軟件開發(fā)軟件工程算法設(shè)計與分析本課程在計算機系統(tǒng)中的地位
課程的名稱、地位和特點課程名稱:編譯理論、編譯原理、編譯結(jié)構(gòu)、編譯技術(shù)和編譯方法等。課程地位:編譯程序(系統(tǒng))和操作系統(tǒng)一起構(gòu)成了計算機中兩大系統(tǒng)軟件;一個是計算機資源的操縱者;而另一個是計算機軟件資源的開拓者。課程特點:
知識性—形式語言和自動機作為本課程的兩大理論基礎(chǔ)具有典型的應(yīng)用技術(shù);
系統(tǒng)性—從詞法、語法、語義直到目標(biāo)生成,構(gòu)成了語言翻譯的完整體系;
趣味性—關(guān)于語言處理的一些經(jīng)典算法和實現(xiàn)技術(shù),可以享受獲取軟件設(shè)計方法的樂趣。
應(yīng)用性—編譯技術(shù)可廣泛應(yīng)用于文本編輯、排版系統(tǒng)、模式識別以及機器翻譯等各個領(lǐng)域。第1章編譯程序基本概念內(nèi)容提要
1.1什么是編譯程序?1.2編譯程序邏輯結(jié)構(gòu)1.3編譯程序?qū)崿F(xiàn)機制1.4編譯程序的生成方法1.5編譯過程實例分析Ⅲ.Ⅱ.Ⅰ.計算機中語言的翻譯程序體系解釋程序
圖1.1計算機語言的層次體系高級語言1編譯程序2反匯編程序匯編程序
匯編語言機器語言反編譯程序轉(zhuǎn)換程序
高級語言2編譯程序11.1什么是編譯程序?
編譯程序(compiler)是一種翻譯程序,它特指把某種高級程序設(shè)計語言翻譯成與之等價的具體計算機上的低級程序設(shè)計語言。編譯程序的執(zhí)行過程—兩個階段:源語言編譯程序目標(biāo)語言數(shù)據(jù)結(jié)果運行程序編譯階段運行階段圖1.2編譯程序的執(zhí)行過程※什么是解釋程序?
解釋程序(interpreter)也是一種翻譯程序,它將源語言書寫的源程序作為輸入,解釋一句后就提交計算機執(zhí)行一句,并不形成目標(biāo)程序。
編譯程序與解釋程序的主要區(qū)別:數(shù)據(jù)結(jié)果解釋程序圖1.3解釋程序的執(zhí)行過程源語句(1)前者有目標(biāo)程序而后者無目標(biāo)程序;(2)前者運行效率高而后者便于人機對話。1.2編譯程序邏輯結(jié)構(gòu)詞法分析語法分析語義分析目標(biāo)代碼生成源語言目標(biāo)語言錯誤處理程序符號表管理程序圖1.4編譯程序總體結(jié)構(gòu)優(yōu)化處理編譯程序的五個階段:※編譯程序執(zhí)行過程詞法分析語法分析語義分析目標(biāo)代碼生成源語言目標(biāo)語言錯誤處理程序符號表管理程序
圖1.5
編譯程序執(zhí)行過程圖解優(yōu)化處理單詞串TOKEN語法樹語義樹優(yōu)化語義樹前端后端※編譯程序與外文翻譯的類比:
詞法分析--識別單詞,確認(rèn)詞類;
語法分析--識別短語和句型的
語法屬性;
語義分析
--確認(rèn)單詞、短語和句型的
語義特征;
代碼優(yōu)化--修辭、文本編輯;
代碼生成--生成譯文。Iwishyousuccess!1.3編譯程序的實現(xiàn)機制遍:編譯程序?qū)υ闯绦蚧虻葍r程序從頭至尾掃描的次數(shù)。
根據(jù)語言和環(huán)境的不同,編譯程序?qū)崿F(xiàn)時是把圖1.4中的各階段劃分成若干遍;典型的情況是兩遍的編譯程序:第一遍:詞法分析、語法分析和語義分析;第二遍:中間代碼優(yōu)化和目標(biāo)代碼生成。每遍中的各階段的工作是穿插進(jìn)行的,例如:使語法分析器處于核心位置。當(dāng)語法分析需要下一個單詞時,就調(diào)用詞法分析器,識別一個單詞;一旦識別出一個語法單位,就調(diào)用語義分析器,完成語義分析并產(chǎn)生中間代碼。1.4編譯程序的生成方法編譯程序的生成方法:
利用已有的編譯器自編譯方式移植方式:重寫編譯器代碼的后端自動生成編譯程序:詞法分析程序生成器LEX
語法分析程序生成器YACC
編譯程序生成器
輸入:詞法規(guī)則、語法規(guī)則和語義解釋涉及的三個語言:源語言、目標(biāo)語言和實現(xiàn)語言。1.5編譯過程實例分析例:C程序片段:1.
詞法分析:識別單詞并分類
inta,b;
...b=a+2*5;
編譯過程如下:⑴關(guān)鍵字(k)--int⑵標(biāo)識符(i)--a,b⑶常數(shù)(c)--2,5⑷界符(p)--,;=+*
單詞類碼圖1.6賦值語句b=a+2*5的語法樹例:b=a+2*5的分析過程如下所示:(生成的結(jié)果是一棵語法樹
)
<變量>
=<表達(dá)式><賦值語句>b
<項>+<項>
<變量><因式>*<因式>
<常數(shù)><常數(shù)>a25<因式>2.語法分析:組詞成句及語法錯誤檢查算術(shù)表達(dá)式的層次結(jié)構(gòu)ⅠⅡⅢ3.語義分析:分析各種語法成分的語義特征inta,b;...b=a+2*5;構(gòu)建標(biāo)識符的語義辭典---符號表:構(gòu)造語句的語義樹---中間語言;b的值a的值
數(shù)據(jù)區(qū)
v
i
b
v
i
a
地址種類
類型
名字符號表=b+a*25如:b=a+2*5(1)(*25t1)(2)(+at1t2)(3)(=t2_b)或4.優(yōu)化:提高目標(biāo)程序的質(zhì)量=b+a*25(1)(*25t1)(2)(+at1t2)(3)(=t2_b)經(jīng)常數(shù)合并,可分別獲得優(yōu)化后的中間代碼如下圖所示:(1)(+a10t2)(2)(=t2_b)例
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省九江市彭澤縣重點達(dá)標(biāo)名校2025屆初三周考物理試題二含解析
- 皖江工學(xué)院《計算機組成原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西省運城市稷山縣2025屆三年級數(shù)學(xué)第二學(xué)期期末經(jīng)典試題含解析
- 陜西省定邊縣2025年初三綜合練習(xí)數(shù)學(xué)試題卷(三模)含解析
- 柳州工學(xué)院《足球主項》2023-2024學(xué)年第二學(xué)期期末試卷
- 濰坊食品科技職業(yè)學(xué)院《漢字與板書藝術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年新媒體運營職業(yè)技能考試試卷及答案
- 上海立達(dá)學(xué)院《藥物合成反應(yīng)Ⅰ》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東省臨沂市沂南縣2025年高考生物試題考前模擬試題含解析
- 2025年中學(xué)數(shù)學(xué)教輔試卷及答案
- 運動員心理調(diào)適靜療小組工作計劃
- (廣東二模)2025年廣東省高三高考模擬測試(二)歷史試卷(含答案)
- 2025湖南建投集團春季校園招聘239人筆試參考題庫附帶答案詳解
- 貸款合同授信協(xié)議
- 工程抗震考試試題及答案
- 2024年陜西延長石油有限責(zé)任公司管理人才招聘真題
- 思政微課紅色教育
- 2025年安徽省馬鞍山花山公安分局輔警崗位招聘48人歷年自考難、易點模擬試卷(共500題附帶答案詳解)
- T-CNAS 12-2020 成人經(jīng)口氣管插管機械通氣患者口腔護理
- 儲能與燃機協(xié)同調(diào)峰:集成壓縮空氣儲能與燃煤系統(tǒng)的建模與熱力學(xué)分析
- 做最勇敢的自己
評論
0/150
提交評論