北京工業(yè)大學(xué)廖湖聲編.ppt
《北京工業(yè)大學(xué)廖湖聲編.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《北京工業(yè)大學(xué)廖湖聲編.ppt(33頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
>,北京工業(yè)大學(xué)廖湖聲編學(xué)時(shí):56小時(shí)(含上機(jī):12小時(shí))主頁(yè):172.21.14.209/網(wǎng)上教學(xué)參考教材:《程序設(shè)計(jì)語(yǔ)言編譯原理》(第3版)國(guó)防工業(yè)出版社,引言,什么叫編譯程序?qū)⒏呒?jí)程序設(shè)計(jì)語(yǔ)言翻譯成邏輯上等價(jià)的低級(jí)語(yǔ)言(匯編語(yǔ)言,機(jī)器語(yǔ)言)的翻譯程序目的:提高執(zhí)行效率,編譯程序,,,源程序,目標(biāo)程序,(*.C/*.PAS),(*.OBJ/*.EXE),編譯與語(yǔ)言,編譯程序設(shè)計(jì)原理:高級(jí)程序設(shè)計(jì)語(yǔ)言的實(shí)現(xiàn)原理編譯技術(shù):最具有代表性的計(jì)算機(jī)語(yǔ)言處理技術(shù)計(jì)算機(jī)語(yǔ)言人與計(jì)算機(jī)、計(jì)算機(jī)軟件之間的交流工具廣義理解:軟件之間傳輸?shù)男畔?各種用途的計(jì)算機(jī)語(yǔ)言,程序設(shè)計(jì)語(yǔ)言描述程序執(zhí)行的算法數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)定義、數(shù)據(jù)操作機(jī)器語(yǔ)言控制計(jì)算機(jī)的工作命令語(yǔ)言控制系統(tǒng)的工作都是編譯技術(shù)的處理對(duì)象,高級(jí)程序設(shè)計(jì)語(yǔ)言的一般特征,程序結(jié)構(gòu)子程序、函數(shù)——程序包語(yǔ)句——條件、循環(huán)、賦值表達(dá)式——邏輯、關(guān)系、算術(shù)變量、常數(shù)、運(yùn)算符、函數(shù)調(diào)用數(shù)據(jù)結(jié)構(gòu)標(biāo)量——整數(shù)、浮點(diǎn)數(shù)、字符、字符串?dāng)?shù)組、結(jié)構(gòu)(記錄)抽象數(shù)據(jù)類型——類編譯實(shí)現(xiàn)的任務(wù)程序結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)的具體處理,高級(jí)語(yǔ)言的分類,過(guò)程式語(yǔ)言ImperativeFORTRAN、BASIC、Pascal、C函數(shù)式語(yǔ)言FunctionalLISP、ML邏輯式語(yǔ)言LogicalProlog面向?qū)ο笳Z(yǔ)言O(shè)bject-OrientedSmalltalk、C++、Java、Ada、C#語(yǔ)言的實(shí)現(xiàn)都需要編譯系統(tǒng)的支持,學(xué)習(xí)內(nèi)容,語(yǔ)言結(jié)構(gòu)的描述與分析語(yǔ)義的描述與實(shí)現(xiàn)框架程序設(shè)計(jì)語(yǔ)言的工作原理用途:計(jì)算機(jī)語(yǔ)言的實(shí)現(xiàn)與設(shè)計(jì)復(fù)雜數(shù)據(jù)處理(廣義)特征:十分復(fù)雜的數(shù)據(jù)處理比較成熟的理論基礎(chǔ)指導(dǎo)軟件設(shè)計(jì)實(shí)踐,第一章計(jì)算機(jī)語(yǔ)言的實(shí)現(xiàn),程序的解釋執(zhí)行如:BASIC、DOS命令,問(wèn)題:效率低下,解釋程序,源程序,輸入數(shù)據(jù),計(jì)算結(jié)果,程序的編譯執(zhí)行,目標(biāo)程序:機(jī)器語(yǔ)言匯編語(yǔ)言,編譯程序,運(yùn)行系統(tǒng),目標(biāo)程序,輸入數(shù)據(jù),計(jì)算結(jié)果,源程序,1.1編譯系統(tǒng)的需求分析,源程序的分析詞法、語(yǔ)法、語(yǔ)義目標(biāo)程序的綜合語(yǔ)句的翻譯、代碼生成標(biāo)識(shí)符的綁定(binding)變量:存儲(chǔ)單元函數(shù):目標(biāo)代碼序列,1.2編譯過(guò)程,自然語(yǔ)言的翻譯過(guò)程:Iwishyousuccess主語(yǔ)謂語(yǔ)間接賓語(yǔ)直接賓語(yǔ)識(shí)別單詞(拼寫正確)、語(yǔ)法檢查(順序格式)、語(yǔ)義理解(合理)、組織譯文(符合原文、通順),一個(gè)C程序的編譯過(guò)程,源程序:main(){printf(“hello”);}1.詞法分析分析字符序列;識(shí)別單詞(種別、屬性)查詞法錯(cuò)誤;標(biāo)識(shí)符登記;,結(jié)果IDNmain‘(’‘)’‘{’IDNprintf‘(’STRhello‘)’‘;’‘}’,2.語(yǔ)法分析,分析單詞序列;識(shí)別語(yǔ)法結(jié)構(gòu);查語(yǔ)法錯(cuò)誤;構(gòu)造分析樹;,3.語(yǔ)義分析,確認(rèn)標(biāo)識(shí)符的屬性類型、作用域等語(yǔ)義檢查運(yùn)算的合法性、取值范圍等子程序的靜態(tài)綁定代碼存儲(chǔ)的相對(duì)地址變量的靜態(tài)綁定數(shù)據(jù)存儲(chǔ)的相對(duì)地址,程序使用的內(nèi)存空間,字符串常數(shù)hello?臨時(shí)變量t?目標(biāo)代碼main?編譯程序負(fù)責(zé)為各變量、常數(shù)和函數(shù)計(jì)算并分配必要的內(nèi)存空間,,,,4.生成中間代碼,中間語(yǔ)言簡(jiǎn)單規(guī)范機(jī)器無(wú)關(guān)易于優(yōu)化與轉(zhuǎn)換按照語(yǔ)法分析樹生成中間語(yǔ)言代碼,翻譯例Z=(X+0.48)*Y/W;結(jié)果(三地址代碼)T1=X+0.48T2=T1*YZ=T2/W,5.中間代碼優(yōu)化中間代碼的優(yōu)化處理,以求提高執(zhí)行效率6.目標(biāo)代碼生成將中間代碼轉(zhuǎn)換成目標(biāo)機(jī)上的機(jī)器指令代碼或匯編代碼,MOVR0,#12,ADDR0,#4MULR0,R2匯編指令代碼,100000010001110010000010000101001100010000010010機(jī)器指令代碼,編譯程序的結(jié)構(gòu),源程序,目標(biāo)程序,其他模塊,表格管理輔助語(yǔ)法檢查、語(yǔ)義檢查完成靜態(tài)綁定、管理編譯過(guò)程錯(cuò)誤處理詞法:拼寫...語(yǔ)法:語(yǔ)句結(jié)構(gòu)、表達(dá)式結(jié)構(gòu)...語(yǔ)義:類型不匹配...,編譯程序的軟件結(jié)構(gòu),編譯前端目標(biāo)機(jī)無(wú)關(guān)部分詞法分析、語(yǔ)法分析、中間代碼生成語(yǔ)義分析、中間代碼優(yōu)化編譯后端目標(biāo)機(jī)相關(guān)部分目標(biāo)代碼優(yōu)化目標(biāo)代碼生成多遍掃描常見:前段1.2.和后端1.2.,程序設(shè)計(jì)環(huán)境,集成化的程序設(shè)計(jì)環(huán)境編輯程序編譯程序連接程序-----將目標(biāo)程序連接成可執(zhí)行程序調(diào)試工具-----跟蹤、分析常見:TurboC/C++VisualStudioforC/C++,Basic等JBuilder,BlueJ,1.3編譯技術(shù)的通用性,把復(fù)雜數(shù)據(jù)看作一條語(yǔ)句數(shù)據(jù)格式的分析利用詞法分析、語(yǔ)法分析方法數(shù)據(jù)處理的框架基于語(yǔ)法制導(dǎo)的語(yǔ)義處理框架編譯技術(shù)可以用于各種復(fù)雜數(shù)據(jù)的分析處理,例1-1(1/2),DOS命令date的輸出格式例:9-2-1993、09-03-1993、9-03-93語(yǔ)法date→month-day-year詞法month→DIGDIG|DIGday→DIGDIG|DIGyear→DIGDIG|DIGDIGDIGDIG,例1-1(2/2),語(yǔ)義year(年)、month(月)、day(日)語(yǔ)義約束條件0- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 北京工業(yè)大學(xué) 廖湖聲編
鏈接地址:http://appdesigncorp.com/p-12816941.html