




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編譯程序構(gòu)造原理和實(shí)現(xiàn)技術(shù) 授課教師:呂江花1第一章 編譯程序概述主要內(nèi)容: 幾個(gè)基本概念 編譯器的工作過(guò)程概述 編譯器各個(gè)階段的功能描述 編譯程序的實(shí)現(xiàn)途徑2基本概念機(jī)器語(yǔ)言:能夠被計(jì)算機(jī)的硬件系統(tǒng)直 接執(zhí)行的指令程序。 匯編語(yǔ)言:將硬件指令用一些助記符表 示。如ADD表示加法操作, SUB表示減法操作等等 高級(jí)語(yǔ)言:使用便于理解的自然語(yǔ)言。 3語(yǔ)言處理程序解釋程序(器):接受所輸入的用程序 語(yǔ)言(源語(yǔ)言)編寫(xiě)的程序(源程 序),然后直接解釋執(zhí)行源程序。 相當(dāng)于源程序的抽象執(zhí)行機(jī),是語(yǔ) 言的實(shí)現(xiàn)系統(tǒng)。 高級(jí)語(yǔ)言源程序 計(jì)算結(jié)果 數(shù)據(jù) 解釋程序 (器)4語(yǔ)言處理程序翻譯程序(器):接受某種語(yǔ)言
2、的源語(yǔ) 言程序后,將它改造成另一種邏輯 上等價(jià)的目標(biāo)語(yǔ)言程序。 5翻譯程序匯編程序:源語(yǔ)言為匯編語(yǔ)言,目標(biāo)語(yǔ)言為機(jī)器語(yǔ)言的翻譯程序。編譯程序(器):源語(yǔ)言為高級(jí)語(yǔ)言,目標(biāo)語(yǔ)言是低級(jí)語(yǔ)言(匯編或機(jī)器語(yǔ)言)的翻譯程序。 高級(jí)語(yǔ)言程序(源程序)低級(jí)語(yǔ)言程序(目標(biāo)程序) 編譯程序 (器)6需預(yù)處理的源程序預(yù)處理器源程序編譯程序目標(biāo)匯編程序匯編程序可重定位的目標(biāo)代碼連接/裝配程序絕對(duì)目標(biāo)代碼高級(jí)語(yǔ)言程序到可執(zhí)行代碼的轉(zhuǎn)換過(guò)程7解釋器和編譯器特點(diǎn) 概念上的不同 基于解釋執(zhí)行的程序可以動(dòng)態(tài)修改自身, 而基于編譯執(zhí)行的程序則需要?jiǎng)討B(tài)編譯技 術(shù),難度較大。 基于解釋方式有利于人機(jī)交互。 執(zhí)行速度。解釋器執(zhí)行速度
3、要慢。 空間開(kāi)銷(xiāo)。 解釋器需要保存的信息較多, 空間開(kāi)銷(xiāo)大 利用解釋器可自動(dòng)生成編譯器二者實(shí)現(xiàn)技術(shù)相似。8 編譯器的功能結(jié)構(gòu)圖表 處 理 錯(cuò) 誤 處 理 目標(biāo)代碼生成中間代碼優(yōu)化中間代碼生成語(yǔ)義分析語(yǔ)法分析詞法分析目標(biāo)程序源程序9詞法分析(Lexical Analysis) 依循語(yǔ)言的詞法規(guī)則,掃描源程序的字符串,識(shí)別每一個(gè)單詞,并將其表示成所謂的機(jī)內(nèi)表示TOKEN形式。語(yǔ)法分析(Syntax Analysis) 依據(jù)語(yǔ)言的語(yǔ)法規(guī)則,將單詞的Token序 列分解成各類(lèi)語(yǔ)法短語(yǔ),確定整個(gè)輸入 串是否構(gòu)成一個(gè)語(yǔ)法上正確的程序。語(yǔ)義分析(Semantic Analysis) 審查源程序有無(wú)語(yǔ)義錯(cuò)誤,
4、為代碼生成 階段收集類(lèi)型信息。10中間代碼生成 (Intermediate Code Generate) 將源程序轉(zhuǎn)換成一種稱(chēng)為中間代碼的內(nèi) 部表示形式。中間代碼是一種簡(jiǎn)單的含義 明確的記號(hào)系統(tǒng)。中間代碼優(yōu)化(Code Optimization) 變換或改造中間代碼,生成的目標(biāo)代碼 更為高效,即節(jié)省時(shí)間和空間。目標(biāo)代碼生成(Code Generation) 中間代碼變換為特定機(jī)器上的絕對(duì)指令代碼或可重定位的指令代碼或匯編指令代碼。 11表格管理(Symbol-Table Management) 為了合理的管理表格(構(gòu)造、查找、更新),設(shè)立一些專(zhuān)門(mén)子程序稱(chēng)為表格管理程序負(fù)責(zé)管理表格。 錯(cuò)誤處理(Error Detection and Reporting) 各個(gè)階段還存在著錯(cuò)誤處理模塊,當(dāng)有錯(cuò)誤出現(xiàn)時(shí),由相應(yīng)的錯(cuò)誤處理模塊給出解決方案,使得編譯器能夠繼續(xù)進(jìn)行下去。12編譯程序的實(shí)現(xiàn)途徑預(yù)處理方法用于語(yǔ)言的擴(kuò)充。設(shè)已有L語(yǔ)言的編譯器,其擴(kuò)充語(yǔ)言L(fǎng)1的編譯器可通過(guò)語(yǔ)言轉(zhuǎn)換程序?qū)1程序轉(zhuǎn)換為L(zhǎng)程序,利用L的編譯器,從而實(shí)現(xiàn)L1的編譯器。移植法 同一語(yǔ)言的編譯器在不同機(jī)器間的移植。方法: a 目標(biāo)代碼的轉(zhuǎn)換 b 修改中間代碼到目標(biāo)代碼的轉(zhuǎn)換自展法 自我擴(kuò)展,自己編寫(xiě)自己的編譯器。工具法 利用編譯階段各個(gè)部分的自動(dòng)生成工具自動(dòng)生成。理論法 利用形式化描述理論,實(shí)現(xiàn)自動(dòng)化。13編譯程序的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字觸覺(jué)盲文閱讀協(xié)議
- 徐光啟(公元15621633年)字子先
- 英語(yǔ)培優(yōu)輔差工作計(jì)劃
- 軟件項(xiàng)目實(shí)施計(jì)劃書(shū)
- 經(jīng)營(yíng)目標(biāo)的經(jīng)營(yíng)計(jì)劃
- 英雄聯(lián)盟劫源計(jì)劃
- 運(yùn)動(dòng)減肥每天計(jì)劃
- 《天氣》(教學(xué)設(shè)計(jì))-2023-2024學(xué)年二年級(jí)下冊(cè)科學(xué)教科版
- 人教版高中物理選擇性必修第二冊(cè)第二章素養(yǎng)提升課(四)電磁感應(yīng)中的電路及圖像問(wèn)題課件
- 2025至2030年中國(guó)厚料繞線(xiàn)器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 抽水蓄能輔助洞室施工方案
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter7 Searching
- 護(hù)理核心制度及重點(diǎn)環(huán)節(jié)-PPT課件
- 夾套管現(xiàn)場(chǎng)施工方法
- 部編版語(yǔ)文五年級(jí)下冊(cè)形近字組詞參考
- 第三章走向混沌的道路
- 化探野外工作方法及要求
- 2006年事業(yè)單位工資改革工資標(biāo)準(zhǔn)表及套改表2
- 江蘇省特種設(shè)備安全條例2021
- 青島海洋地質(zhì)研究所公開(kāi)招聘面試答辯PPT課件
- 常見(jiàn)導(dǎo)管的固定與維護(hù)PPT課件
評(píng)論
0/150
提交評(píng)論