版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
編譯程序的設(shè)計(jì)原理與實(shí)現(xiàn)如何讓計(jì)算機(jī)認(rèn)識(shí)、理解和執(zhí)行高級(jí)程序設(shè)計(jì)語言?自我介紹課件:
compiler_principle@
password:2008happy網(wǎng)易網(wǎng)盤->我的文檔Email:
劉洪娟:liuhongjuan0125@163.com辦公室:
綜合樓303辦公電話:
83680831
教材與參考書教材:胡倫駿等:《編譯原理》(第2版),電子工業(yè)出版社。參考書:美AlfredV.Aho,RaviSethiJeffrey,D.Ullman著.李建中,姜守旭譯:《編譯原理》,機(jī)械工業(yè)出版社,2003-1。美KennethC.Louden著,馮博琴等譯:《編譯原理及實(shí)踐》,機(jī)械工業(yè)出版社,2002-2。陳火旺等:《程序設(shè)計(jì)語言編譯原理》(第3版),國(guó)防工業(yè)出版社,2003-2。課程的學(xué)時(shí)分配(40學(xué)時(shí))課程內(nèi)容教學(xué)上機(jī)第1章編譯程序基本概念2第2章形式語言基礎(chǔ)4第3章自動(dòng)機(jī)基礎(chǔ)4第4章詞法分析24第5章語法分析6第6章中間代碼生成64第7章符號(hào)表組織2第8章優(yōu)化2第9章目標(biāo)代碼生成4合計(jì)328計(jì)算機(jī)系統(tǒng)硬件軟件組成原理電子技術(shù)體系結(jié)構(gòu)數(shù)字邏輯電路電路原理大學(xué)物理計(jì)算機(jī)網(wǎng)絡(luò)接口與通訊技術(shù)通訊概論安全與保密程序設(shè)計(jì)語言匯編語言高級(jí)語言編譯原理計(jì)算理論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è)計(jì)與分析本課程在計(jì)算機(jī)系統(tǒng)中的地位
課程的名稱、地位和特點(diǎn)課程名稱:編譯理論、編譯原理、編譯結(jié)構(gòu)、編譯技術(shù)和編譯方法等。課程地位:編譯程序(系統(tǒng))和操作系統(tǒng)一起構(gòu)成了計(jì)算機(jī)中兩大系統(tǒng)軟件;一個(gè)是計(jì)算機(jī)資源的操縱者;而另一個(gè)是計(jì)算機(jī)軟件資源的開拓者。課程特點(diǎn):
知識(shí)性—形式語言和自動(dòng)機(jī)作為本課程的兩大理論基礎(chǔ)具有典型的應(yīng)用技術(shù);
系統(tǒng)性—從詞法、語法、語義直到目標(biāo)生成,構(gòu)成了語言翻譯的完整體系;
趣味性—關(guān)于語言處理的一些經(jīng)典算法和實(shí)現(xiàn)技術(shù),可以享受獲取軟件設(shè)計(jì)方法的樂趣。
應(yīng)用性—編譯技術(shù)可廣泛應(yīng)用于文本編輯、排版系統(tǒng)、模式識(shí)別以及機(jī)器翻譯等各個(gè)領(lǐng)域。第1章編譯程序基本概念內(nèi)容提要
1.1什么是編譯程序?1.2編譯程序邏輯結(jié)構(gòu)1.3編譯程序?qū)崿F(xiàn)機(jī)制1.4編譯程序的生成方法1.5編譯過程實(shí)例分析Ⅲ.Ⅱ.Ⅰ.計(jì)算機(jī)中語言的翻譯程序體系解釋程序
圖1.1計(jì)算機(jī)語言的層次體系高級(jí)語言1編譯程序2反匯編程序匯編程序
匯編語言機(jī)器語言反編譯程序轉(zhuǎn)換程序
高級(jí)語言2編譯程序11.1什么是編譯程序?
編譯程序(compiler)是一種翻譯程序,它特指把某種高級(jí)程序設(shè)計(jì)語言翻譯成與之等價(jià)的具體計(jì)算機(jī)上的低級(jí)程序設(shè)計(jì)語言。編譯程序的執(zhí)行過程—兩個(gè)階段:源語言編譯程序目標(biāo)語言數(shù)據(jù)結(jié)果運(yùn)行程序編譯階段運(yùn)行階段圖1.2編譯程序的執(zhí)行過程※什么是解釋程序?
解釋程序(interpreter)也是一種翻譯程序,它將源語言書寫的源程序作為輸入,解釋一句后就提交計(jì)算機(jī)執(zhí)行一句,并不形成目標(biāo)程序。
編譯程序與解釋程序的主要區(qū)別:數(shù)據(jù)結(jié)果解釋程序圖1.3解釋程序的執(zhí)行過程源語句(1)前者有目標(biāo)程序而后者無目標(biāo)程序;(2)前者運(yùn)行效率高而后者便于人機(jī)對(duì)話。1.2編譯程序邏輯結(jié)構(gòu)詞法分析語法分析語義分析目標(biāo)代碼生成源語言目標(biāo)語言錯(cuò)誤處理程序符號(hào)表管理程序圖1.4編譯程序總體結(jié)構(gòu)優(yōu)化處理編譯程序的五個(gè)階段:※編譯程序執(zhí)行過程詞法分析語法分析語義分析目標(biāo)代碼生成源語言目標(biāo)語言錯(cuò)誤處理程序符號(hào)表管理程序
圖1.5
編譯程序執(zhí)行過程圖解優(yōu)化處理單詞串TOKEN語法樹語義樹優(yōu)化語義樹前端后端※編譯程序與外文翻譯的類比:
詞法分析--識(shí)別單詞,確認(rèn)詞類;
語法分析--識(shí)別短語和句型的
語法屬性;
語義分析
--確認(rèn)單詞、短語和句型的
語義特征;
代碼優(yōu)化--修辭、文本編輯;
代碼生成--生成譯文。Iwishyousuccess!1.3編譯程序的實(shí)現(xiàn)機(jī)制遍:編譯程序?qū)υ闯绦蚧虻葍r(jià)程序從頭至尾掃描的次數(shù)。
根據(jù)語言和環(huán)境的不同,編譯程序?qū)崿F(xiàn)時(shí)是把圖1.4中的各階段劃分成若干遍;典型的情況是兩遍的編譯程序:第一遍:詞法分析、語法分析和語義分析;第二遍:中間代碼優(yōu)化和目標(biāo)代碼生成。每遍中的各階段的工作是穿插進(jìn)行的,例如:使語法分析器處于核心位置。當(dāng)語法分析需要下一個(gè)單詞時(shí),就調(diào)用詞法分析器,識(shí)別一個(gè)單詞;一旦識(shí)別出一個(gè)語法單位,就調(diào)用語義分析器,完成語義分析并產(chǎn)生中間代碼。1.4編譯程序的生成方法編譯程序的生成方法:
利用已有的編譯器自編譯方式移植方式:重寫編譯器代碼的后端自動(dòng)生成編譯程序:詞法分析程序生成器LEX
語法分析程序生成器YACC
編譯程序生成器
輸入:詞法規(guī)則、語法規(guī)則和語義解釋涉及的三個(gè)語言:源語言、目標(biāo)語言和實(shí)現(xiàn)語言。1.5編譯過程實(shí)例分析例:C程序片段:1.
詞法分析:識(shí)別單詞并分類
inta,b;
...b=a+2*5;
編譯過程如下:⑴關(guān)鍵字(k)--int⑵標(biāo)識(shí)符(i)--a,b⑶常數(shù)(c)--2,5⑷界符(p)--,;=+*
單詞類碼圖1.6賦值語句b=a+2*5的語法樹例:b=a+2*5的分析過程如下所示:(生成的結(jié)果是一棵語法樹
)
<變量>
=<表達(dá)式><賦值語句>b
<項(xiàng)>+<項(xiàng)>
<變量><因式>*<因式>
<常數(shù)><常數(shù)>a25<因式>2.語法分析:組詞成句及語法錯(cuò)誤檢查算術(shù)表達(dá)式的層次結(jié)構(gòu)ⅠⅡⅢ3.語義分析:分析各種語法成分的語義特征inta,b;...b=a+2*5;構(gòu)建標(biāo)識(shí)符的語義辭典---符號(hào)表:構(gòu)造語句的語義樹---中間語言;b的值a的值
數(shù)據(jù)區(qū)
v
i
b
v
i
a
地址種類
類型
名字符號(hào)表=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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版工程機(jī)械設(shè)備租賃與技術(shù)創(chuàng)新服務(wù)合同3篇
- 二零二五版護(hù)林員勞動(dòng)合同書編制指南3篇
- 二零二五版按揭購房合同:智能家居系統(tǒng)智能家居系統(tǒng)節(jié)能改造合同3篇
- 二零二五年度游戲公司代運(yùn)營(yíng)及運(yùn)營(yíng)支持合同3篇
- 二零二五版包雪服務(wù)項(xiàng)目風(fēng)險(xiǎn)評(píng)估與預(yù)案合同3篇
- 二零二五年度餐飲配送企業(yè)食品安全責(zé)任追究合同3篇
- 二零二五版海洋工程高低壓配電系統(tǒng)安裝合同2篇
- 二零二五版小微企業(yè)貸款合同與信用增級(jí)服務(wù)協(xié)議3篇
- 二零二五年度海洋工程設(shè)備采購合同15篇
- 二零二五年黃豆種植戶風(fēng)險(xiǎn)管理采購合同3篇
- MT/T 199-1996煤礦用液壓鉆車通用技術(shù)條件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力學(xué)性能試驗(yàn)第1部分:桌類強(qiáng)度和耐久性
- 第三方在線糾紛解決機(jī)制(ODR)述評(píng),國(guó)際商法論文
- 公寓de全人物攻略本為個(gè)人愛好而制成如需轉(zhuǎn)載注明信息
- 第5章-群體-團(tuán)隊(duì)溝通-管理溝通
- 腎臟病飲食依從行為量表(RABQ)附有答案
- 深基坑-安全教育課件
- 園林施工管理大型園林集團(tuán)南部區(qū)域養(yǎng)護(hù)標(biāo)準(zhǔn)圖例
- 排水許可申請(qǐng)表
- 低血糖的觀察和護(hù)理課件
評(píng)論
0/150
提交評(píng)論