




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編譯原理課程簡(jiǎn)介先行課程:高等數(shù)學(xué)、 (PASCAL)、離散數(shù)學(xué)、 匯編語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)課課 程程 簡(jiǎn)簡(jiǎn) 介介學(xué)習(xí)的意義學(xué)習(xí)的意義 對(duì)編程語(yǔ)言的設(shè)計(jì)和實(shí)現(xiàn)有深刻的理解,對(duì)對(duì)編程語(yǔ)言的設(shè)計(jì)和實(shí)現(xiàn)有深刻的理解,對(duì)和編程語(yǔ)言有關(guān)的理論有所了解,對(duì)宏觀上和編程語(yǔ)言有關(guān)的理論有所了解,對(duì)宏觀上把握編程語(yǔ)言來說,起一個(gè)奠基的作用。把握編程語(yǔ)言來說,起一個(gè)奠基的作用。 從軟件工程看,編譯器是一個(gè)很好的實(shí)例,從軟件工程看,編譯器是一個(gè)很好的實(shí)例,所介紹的概念和技術(shù)能應(yīng)用到一般的軟件設(shè)所介紹的概念和技術(shù)能應(yīng)用到一般的軟件設(shè)計(jì)之中。計(jì)之中。 大多數(shù)程序員同時(shí)是簡(jiǎn)單語(yǔ)言的設(shè)計(jì)者,有大多數(shù)程序員同時(shí)是簡(jiǎn)單語(yǔ)言的設(shè)計(jì)者,
2、有助于提高對(duì)這些語(yǔ)言的設(shè)計(jì)水平。助于提高對(duì)這些語(yǔ)言的設(shè)計(jì)水平。 在軟件逆向工程、程序理解和軟件安全等方在軟件逆向工程、程序理解和軟件安全等方面有著廣泛的應(yīng)用。面有著廣泛的應(yīng)用。Returnhttp:/ 編譯程序概述編譯程序概述第二第二 文法和語(yǔ)言文法和語(yǔ)言第三第三 詞法分析詞法分析第四第四 自頂向下語(yǔ)法分析方法自頂向下語(yǔ)法分析方法第五第五 自底向上優(yōu)先分析方法自底向上優(yōu)先分析方法第六第六 LRLR分析方法分析方法第七第七 語(yǔ)法制導(dǎo)翻譯和中間代碼生成語(yǔ)法制導(dǎo)翻譯和中間代碼生成第八第八 代碼優(yōu)化代碼優(yōu)化第九第九 代碼生成代碼生成第一章第一章 編譯程序概述編譯程序概述1.1 1.1 什么是編譯程序什
3、么是編譯程序1.2 1.2 編譯程序的結(jié)構(gòu)編譯程序的結(jié)構(gòu)1.3 1.3 編譯程序的編譯程序的設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)實(shí)現(xiàn)1.4 1.4 經(jīng)典的編譯程序經(jīng)典的編譯程序第一章第一章 編譯程序概述編譯程序概述1.1 1.1 什么是編譯程序什么是編譯程序. . 程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言. . 翻譯和解釋程序翻譯和解釋程序(1)(1)翻譯和編譯程序翻譯和編譯程序編譯編譯:如果一個(gè)翻譯程序的是某種高級(jí)語(yǔ)言,其是相對(duì)于某一計(jì)算機(jī)的匯編語(yǔ)言或機(jī)器語(yǔ)言,則稱這種翻譯程序?yàn)榫幾g程序(或稱為編譯器)。翻譯翻譯:是指在計(jì)算機(jī)中放置一個(gè)能由計(jì)算機(jī)直接執(zhí)行的翻譯程序,它以某一種程序設(shè)計(jì)語(yǔ)言(源語(yǔ)言)所編寫的程序()作為翻譯或加工的對(duì)
4、象,當(dāng)計(jì)算機(jī)執(zhí)行翻譯程序時(shí),就將它翻譯為與之等價(jià)的另一種語(yǔ)言(目標(biāo)語(yǔ)言)的程序()。輸入輸入輸出輸出功能功能工作結(jié)果工作結(jié)果實(shí)現(xiàn)技術(shù)上實(shí)現(xiàn)技術(shù)上解釋解釋程序程序源程序的一個(gè)執(zhí)行執(zhí)行系統(tǒng)源程序的執(zhí)行結(jié)果執(zhí)行結(jié)果執(zhí)行中間代碼編譯編譯程序程序源程序的一個(gè)轉(zhuǎn)換轉(zhuǎn)換系統(tǒng)源程序的目標(biāo)代碼目標(biāo)代碼把中間代碼轉(zhuǎn)換成目標(biāo)程序解釋程序和編譯程序的:是否生成目標(biāo)代碼翻譯外文資料編譯源程序分析閱讀原文識(shí)別單詞分析句子輸入并掃描源程序詞法分析語(yǔ)法分析綜合修辭加工寫出譯文代碼優(yōu)化目標(biāo)代碼生成1.1. 編譯程序的結(jié)構(gòu)編譯程序的結(jié)構(gòu)翻譯外文資料與編譯源程序進(jìn)行類比編譯程序的功能和組織結(jié)構(gòu)表表 處處 理理詞法分析源源程程序序目
5、目標(biāo)標(biāo)程程序序錯(cuò)錯(cuò) 誤誤 處處 理理語(yǔ)法分析語(yǔ)義分析目標(biāo)代碼生成前 端后 端中間代碼優(yōu)化中間代碼生成詞法分析詞法分析 符符 號(hào)號(hào) 表表 positioninitialrate. . . . . . .123詞法分析器詞法分析器id1 := id2 + id3 * * 60 position := initial + rate * * 60語(yǔ)法分析 任何一個(gè)標(biāo)識(shí)符任何一個(gè)標(biāo)識(shí)符都是表達(dá)式;都是表達(dá)式; 任何一個(gè)數(shù)都是任何一個(gè)數(shù)都是表達(dá)式;表達(dá)式; 如果如果e1和和e2都是表都是表達(dá)式,那么達(dá)式,那么 e1 + e2 e1 * * e2 (e1)也都是表達(dá)式也都是表達(dá)式表達(dá)表達(dá)式式表達(dá)式表達(dá)式表達(dá)
6、式表達(dá)式標(biāo)識(shí)符標(biāo)識(shí)符表達(dá)式表達(dá)式表達(dá)式表達(dá)式(initial)標(biāo)識(shí)符標(biāo)識(shí)符(rate)數(shù)數(shù)(60)*+語(yǔ)法分析語(yǔ)法分析 符符 號(hào)號(hào) 表表 positioninitialrate. . . . . . .123語(yǔ)法分析器語(yǔ)法分析器id1 := id2 + id3 * * 60 :=+* *60id1id2id3語(yǔ)義分析語(yǔ)義分析 符符 號(hào)號(hào) 表表 positioninitialrate. . . . . . .123語(yǔ)義分析器語(yǔ)義分析器:=+* *60id1id2id3:=+* *60id1id2id3inttoreal源程序的分析源程序的分析 詞法分析器詞法分析器語(yǔ)法分析器語(yǔ)法分析器語(yǔ)義分析器語(yǔ)
7、義分析器源程序源程序中間代碼生成器中間代碼生成器代碼優(yōu)化器代碼優(yōu)化器代碼生成器代碼生成器目標(biāo)程序目標(biāo)程序出錯(cuò)管理器出錯(cuò)管理器符號(hào)表管理器符號(hào)表管理器 前三個(gè)階段前三個(gè)階段完成對(duì)源程完成對(duì)源程序的分析序的分析中間代碼生成中間代碼生成 符符 號(hào)號(hào) 表表 positioninitialrate. . . . . . .123中間代碼生成器中間代碼生成器temp1 := inttoreal(60)temp2 := id3 * temp1temp3 := id2 + temp2id1 := temp3:=+* *60id1id2id3inttoreal代碼優(yōu)化代碼優(yōu)化 符符 號(hào)號(hào) 表表 position
8、initialrate. . . . . . .123代碼優(yōu)化器代碼優(yōu)化器temp1 := inttoreal(60)temp2 := id3 * temp1temp3 := id2 + temp2id1 := temp3temp1 := id3 * * 60.0id1 := id2 + + temp1目標(biāo)代碼生成目標(biāo)代碼生成 符符 號(hào)號(hào) 表表 positioninitialrate. . . . . . .123temp1 := id3 * * 60.0id1 := id2 + + temp1代碼生成器代碼生成器MOVF id3, R2MULF #60.0, R2MOVF id2, R1AD
9、DF R2, R1MOVF R1, id1對(duì)源程序的翻譯對(duì)源程序的翻譯 詞法分析器詞法分析器語(yǔ)法分析器語(yǔ)法分析器語(yǔ)義分析器語(yǔ)義分析器源程序源程序中間代碼生成器中間代碼生成器代碼優(yōu)化器代碼優(yōu)化器代碼生成器代碼生成器目標(biāo)程序目標(biāo)程序出錯(cuò)管理器出錯(cuò)管理器符號(hào)表管理器符號(hào)表管理器 后三個(gè)階后三個(gè)階段對(duì)源程段對(duì)源程序進(jìn)行綜序進(jìn)行綜合合符號(hào)與出錯(cuò)管理符號(hào)與出錯(cuò)管理 詞法分析器詞法分析器語(yǔ)法分析器語(yǔ)法分析器語(yǔ)義分析器語(yǔ)義分析器源程序源程序中間代碼生成器中間代碼生成器代碼優(yōu)化器代碼優(yōu)化器代碼生成器代碼生成器目標(biāo)程序目標(biāo)程序出錯(cuò)管理器出錯(cuò)管理器符號(hào)表管理器符號(hào)表管理器 第一章第一章 引引 論論 詞法分析器詞法分析器語(yǔ)法分析器語(yǔ)法分析器語(yǔ)義分析器語(yǔ)義分析器源程序源程序中間代碼生成器中間代碼生成器代碼優(yōu)化器代碼優(yōu)化器代碼生成器代碼生成器目標(biāo)程序目標(biāo)程序出錯(cuò)管理器出錯(cuò)管理器符號(hào)表管理器符號(hào)表管理器 解釋器解釋器的流程的流程編譯程序的: 與源語(yǔ)言有關(guān),而與目標(biāo)機(jī)無關(guān)的編譯程序編譯程序的: 與目標(biāo)機(jī)有關(guān),而與源語(yǔ)言無關(guān)的編譯程序:是對(duì)源程序或源程序的中間結(jié)果從頭到尾掃描一遍,并作有關(guān)加工處理,生成新的中間結(jié)果或目標(biāo)程序。:運(yùn)行編譯程序的計(jì)算機(jī)稱為宿主機(jī)。:運(yùn)行編譯程序所產(chǎn)生的目標(biāo)代碼的計(jì)算機(jī)成為目標(biāo)機(jī)。相關(guān)概念相關(guān)概念 設(shè)計(jì)和實(shí)現(xiàn)一個(gè)編譯設(shè)計(jì)和實(shí)現(xiàn)一個(gè)編譯程序,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆廣東省肇慶市實(shí)驗(yàn)中學(xué)物理高二第二學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 綠化安全操作規(guī)程
- 根據(jù)工貿(mào)行業(yè)重大事故隱患判定標(biāo)準(zhǔn)
- 消防安全管理技術(shù)規(guī)程
- 安全生產(chǎn)培訓(xùn) 走過場(chǎng)
- 2025年廣西南寧二中、柳州高中高二物理第二學(xué)期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 2025屆重慶市大足區(qū)物理高二下期末綜合測(cè)試試題含解析
- 公司銷售員工個(gè)人工作總結(jié)
- 2025屆江蘇省淮安市觀音寺初中物理高一下期末復(fù)習(xí)檢測(cè)試題含解析
- 心理健康網(wǎng)課:大學(xué)生心理健康課后章節(jié)測(cè)試滿分解答
- 智能手機(jī)使用教程PPT學(xué)習(xí)課件
- 變速箱廠總平面布置設(shè)計(jì)設(shè)施規(guī)劃與物流分析課程設(shè)計(jì)
- NB/T 10756-2021煤礦在用無軌膠輪車安全檢測(cè)檢驗(yàn)規(guī)范
- GB/T 31586.2-2015防護(hù)涂料體系對(duì)鋼結(jié)構(gòu)的防腐蝕保護(hù)涂層附著力/內(nèi)聚力(破壞強(qiáng)度)的評(píng)定和驗(yàn)收準(zhǔn)則第2部分:劃格試驗(yàn)和劃叉試驗(yàn)
- 2023年上海高考生物真題試卷(答案解析版)
- 學(xué)術(shù)規(guī)范與論文寫作講述課件
- 臨床各科急救流程規(guī)范規(guī)范圖
- 交安工程勞務(wù)分包參考價(jià)格(范本)
- 2022年專業(yè)技術(shù)人員繼續(xù)教育公需課題庫(kù)(含答案)
- GB∕T 13554-2020 高效空氣過濾器
- (新版)孤殘兒童試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論