版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、(優(yōu)選)編譯程序基本概念第一頁(yè),共十五頁(yè)。第1章 關(guān)于編譯程序的基本概念內(nèi)容提要: 1.1 什么是編譯程序? 1.2 編譯程序邏輯結(jié)構(gòu) 1.3 編譯程序?qū)崿F(xiàn)機(jī)制 1.4 編程過(guò)程實(shí)例分析第二頁(yè),共十五頁(yè)。. . 計(jì)算機(jī)中語(yǔ)言的層次體系:解釋程序 圖 1.1 計(jì)算機(jī)中語(yǔ)言的層次體系高級(jí)語(yǔ)言1編譯程序2反匯編程序匯編程序 匯編語(yǔ)言機(jī)器語(yǔ)言 計(jì)算機(jī)反編譯程序轉(zhuǎn)換程序 高級(jí)語(yǔ)言2編譯程序1第三頁(yè),共十五頁(yè)。 1.1 什么是 編譯程序? 編譯程序(compiler)是一種翻譯程序,它特指把某種高級(jí)程序設(shè)計(jì)語(yǔ)言翻譯成具體計(jì)算機(jī)上的低級(jí)程序設(shè)計(jì)語(yǔ)言。 高級(jí)語(yǔ)言的執(zhí)行過(guò)程 - 源語(yǔ)言編譯程序目標(biāo)語(yǔ)言數(shù)據(jù) 結(jié)果
2、運(yùn)行程序編譯階段運(yùn)行階段圖 1.2 高級(jí)語(yǔ)言的執(zhí)行過(guò)程兩個(gè)階段:第四頁(yè),共十五頁(yè)。 什么是 解釋程序? 解釋程序(interpreter)也是一種翻譯程序,將某高級(jí)語(yǔ)翻譯成具體計(jì)算機(jī)上的低級(jí)程序設(shè)計(jì)語(yǔ)言;解釋程序的執(zhí)行過(guò)成如圖1.3 所示。 編譯程序與解釋程序的主要區(qū)別: 數(shù)據(jù) 結(jié)果解釋程序 圖 1.3 解釋程序的執(zhí)行過(guò)程 一條源語(yǔ)句 前者有目標(biāo)程序而后者無(wú)目標(biāo)程序; 前者運(yùn)行效率高而后者便于人機(jī)對(duì)話(huà)。第五頁(yè),共十五頁(yè)。1.2 編譯程序結(jié)構(gòu)詞法分析語(yǔ)法分析語(yǔ)義分析代碼生成源語(yǔ)言目標(biāo)語(yǔ)言 錯(cuò) 誤 處 理 符 號(hào) 表 管 理 圖 1.4 編 譯 程 序 總 體 結(jié) 構(gòu) 框 圖優(yōu)化處理 編譯程序總體
3、結(jié)構(gòu)如圖1.4所示。編譯程序的五個(gè)階段:?jiǎn)卧~串TOKEN詞法分析源語(yǔ)言語(yǔ)法分析語(yǔ)義分析優(yōu)化處理代碼生成目標(biāo)語(yǔ)言?xún)?yōu)化語(yǔ)義樹(shù) 錯(cuò) 誤 處 理 符 號(hào) 表 管 理語(yǔ)法樹(shù)語(yǔ)義樹(shù)第六頁(yè),共十五頁(yè)?!纠?.1】我們用樹(shù)葉和顏料能夠制作美麗的圖畫(huà)。 【機(jī)器翻譯】是指利用計(jì)算機(jī)把一種自然語(yǔ)言翻譯成另一種自然語(yǔ)言。翻譯過(guò)程. 詞法分析:r( ) p( ) n( ) c( ) n( ) u( ) v( ) a( ) n( ). 句法分析:漢英辭典與知識(shí)庫(kù)We can make beautiful pictures with leaves and paint.SpSbjPrdruvObjPpVpNpa npNpn
4、c n. 語(yǔ)義分析:制作(make)我們(we)圖畫(huà)(pictures)美麗(beautiful)樹(shù)葉(leaves)顏料(paint)用(with). 優(yōu)化處理:. 目標(biāo)生成: 編譯程序與機(jī)器翻譯的類(lèi)比 :語(yǔ)義網(wǎng)語(yǔ)法樹(shù)第七頁(yè),共十五頁(yè)。1.3 編譯程序的實(shí)現(xiàn)機(jī)制 根據(jù)語(yǔ)言和環(huán)境的不同,編譯程序?qū)崿F(xiàn)時(shí)是把 圖1.2 中的各階段劃分成若干遍; 遍:編譯程序?qū)υ闯绦蚧虻葍r(jià)程序從頭至尾掃描的次數(shù)。 兩遍 的編譯程序: 第一遍 :詞法分析 、語(yǔ)法分析和語(yǔ)義分析; 第二遍 :目標(biāo)代碼生成和目標(biāo)代碼優(yōu)化。 每遍中的各階段的工作是穿插進(jìn)行的,例如: 使語(yǔ)法分析器處于核心位置,而把詞法分析器作為子程序;當(dāng)語(yǔ)法
5、分析需要下一個(gè)單詞時(shí),就調(diào)用詞法分析器,識(shí)別一個(gè)單詞。第八頁(yè),共十五頁(yè)。1.4 編譯過(guò)程實(shí)例 例:Pascal程序片段 : 詞法分析:識(shí)別單詞并分類(lèi)var a,b:integer; . . . b:=a+2*5; 編譯過(guò)程如下: 關(guān)鍵字 (k) - var,integer ; 標(biāo)識(shí)符 (i) - a,b ; 常 數(shù) (c) - 2,5 ; 界 符 (p) - , ; : := + 單詞類(lèi)碼第九頁(yè),共十五頁(yè)。圖 1.5 賦值語(yǔ)句 b:=a+2*5 的語(yǔ)法樹(shù) 例: b := a + 2 * 5 的分析過(guò)程如下所示: ( 生成的結(jié)果是一棵 語(yǔ)法樹(shù) ) := b + * a252. 語(yǔ)法分析: 組詞成
6、句及語(yǔ)法錯(cuò)誤檢查算術(shù)表達(dá)式的層次結(jié)構(gòu)第十頁(yè),共十五頁(yè)。3語(yǔ)義分析:分析各種語(yǔ)法成分的語(yǔ)義特征;var a,b:integer; . . . b:=a+2*5;構(gòu)建標(biāo)識(shí)符的語(yǔ)義辭典-符號(hào)表:構(gòu)造語(yǔ)句的語(yǔ)義樹(shù)-中間語(yǔ)言; b 的值 a 的值 數(shù)據(jù)區(qū) v i b v i a 地址種類(lèi) 類(lèi)型 名字符號(hào)表 :=b+a*25如: b := a+2*5 ( * 2 5 t1 ) ( + a t1 t2 ) ( := t2 _ b )或第十一頁(yè),共十五頁(yè)。4優(yōu)化 :提高目標(biāo)程序質(zhì)量的工作 ; :=b+a*25 ( * 2 5 t1 ) ( + a t1 t2 ) ( := t2 _ b )經(jīng) 常數(shù)合并,可分別
7、獲得優(yōu)化后的中間代碼如下圖所示: ( + a 10 t2 ) ( := t2 _ b )例: b := a+2*5 :=b+a10第十二頁(yè),共十五頁(yè)。5目標(biāo)代碼生成 : 產(chǎn)生計(jì)算機(jī)可識(shí)別的語(yǔ)言 ; 通常,是把中間語(yǔ)言轉(zhuǎn)換成目標(biāo)代碼, ( + a 10 t2 ) ( := t2 _ b ) LD R, a ADD R, 10 ST R, bR 為寄存器三條指令分別為:取、加 和 存 。如:目標(biāo)代碼:第十三頁(yè),共十五頁(yè)。 編譯程序的理論基礎(chǔ) 編譯程序的構(gòu)造,是一種語(yǔ)言處理工程,其理論基礎(chǔ)和技術(shù)基礎(chǔ)主要有以下兩個(gè)方面: 1. 形式語(yǔ)言【第2章】 計(jì)算機(jī)處理語(yǔ)言,首先應(yīng)考慮語(yǔ)言的形式化、規(guī)范化,使其具有可計(jì)算性和可操作性;形式語(yǔ)言誕生于1956年,由chomsky創(chuàng)立。 2. 自動(dòng)機(jī)【第3章】 自動(dòng)機(jī)是一種語(yǔ)言模型,是語(yǔ)言的一種識(shí)別工具,它與形式語(yǔ)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《狀態(tài)檢修基礎(chǔ)知識(shí)》課件
- 內(nèi)蒙古呼和浩特市2024屆九年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 養(yǎng)老院老人滿(mǎn)意度調(diào)查評(píng)估制度
- 《電動(dòng)機(jī)與電氣傳動(dòng)》課件
- 《市場(chǎng)調(diào)查講座》課件
- 《石墨烯的研究》課件
- 2024年版:國(guó)際文化旅游項(xiàng)目開(kāi)發(fā)合同
- 技術(shù)研發(fā)合作合同(2篇)
- 2024年版金融服務(wù)合同(企業(yè)上市輔導(dǎo))
- 2024天津房屋買(mǎi)賣(mài)合同中房屋租賃保證金及退還3篇
- GB/T 43700-2024滑雪場(chǎng)所的運(yùn)行和管理規(guī)范
- 新媒體部門(mén)崗位配置人員架構(gòu)圖
- 水電站廠房設(shè)計(jì)-畢業(yè)設(shè)計(jì)
- 綜合金融服務(wù)方案課件
- 《鎮(zhèn)原民俗》課件
- 球磨機(jī)崗位作業(yè)指導(dǎo)書(shū)
- 眼科護(hù)理滴眼藥水論文
- 市級(jí)社保基金運(yùn)行分析報(bào)告
- 2024年遼寧省水資源管理集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
- 小學(xué)信息技術(shù)畫(huà)圖課件巧妙的直線(xiàn)和曲線(xiàn)
- 《籃球原地單手肩上投籃》教案
評(píng)論
0/150
提交評(píng)論