編譯原理內(nèi)容小結(jié)_第1頁
編譯原理內(nèi)容小結(jié)_第2頁
編譯原理內(nèi)容小結(jié)_第3頁
編譯原理內(nèi)容小結(jié)_第4頁
編譯原理內(nèi)容小結(jié)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

編譯原理內(nèi)容小結(jié)1詞法分析器語法分析器語義分析與中間代碼生成器代碼優(yōu)化目標(biāo)代碼生成器源程序單詞符號語法單位中間代碼中間代碼目標(biāo)代碼表 格 管 理出 錯 處 理源程序目標(biāo)代碼2主要內(nèi)容編譯程序及作用高級語言的語法描述構(gòu)造一個編譯器3一、編譯程序及作用程序設(shè)計語言的定義語法:組成程序中各個語法成分的一組規(guī)則語義:程序中各個語言成分的含義語用:語言符號及其使用者之間的關(guān)系4編譯程序及作用翻譯程序(Translator)

將某個語言程序(源語言程序—SourceProgram)轉(zhuǎn)換成等價的另一種語言描述的程序(目標(biāo)程序—ObjectProgram)的程序。源程序(*.c/*.PAS)翻譯程序目標(biāo)程序(*.OBJ/*.EXE)5編譯程序及作用構(gòu)造編譯器確定源語言確定目標(biāo)語言選擇編譯方法6二、高級語言的語法描述語言的分類程序語言的語法描述字符串句子文法分類 7程序語言組成語言——形式化的內(nèi)容提取語言(language):滿足一定條件的句子集合句子(sentence):滿足一定規(guī)則的單詞序列單詞(token):滿足一定規(guī)則的字符串語言字和組合字的規(guī)則8程序語言組成基本定義字母表、符號串、句子、語言設(shè)是一個字母表,

L

*,L稱為字母表上的一個語言(language),

xL,x為L的一個句子語言是由無窮個句子組成的,就無法用枚舉法描述,需要用有窮的方法來描述無窮性質(zhì)的語言,一般有以下兩類等價的方法:文法和自動機9文法的形式定義文法G為一個四元組:G=(VT,VN,S,P)VT:終結(jié)符(Terminal)集VN:非終結(jié)符(Variable)集,VT

VN=

S:開始符號(StartSymbol),S

VNP:產(chǎn)生式A

,A(VTVN)+,且A中至少有一個VN中的元素,(VTVN)*10文法的形式定義例G(E):(VT,VN,S,P)VT:{(,),+,*,i}VN:{E}S:EP:EE+E|E*E|(E)|i11文法的形式定義句型句子語言推導(dǎo)句柄語法樹二義性文法的分類12三、編譯器的構(gòu)造詞法分析器語法分析器語義分析與中間代碼生成器代碼優(yōu)化目標(biāo)代碼生成器源程序單詞符號語法單位中間代碼中間代碼目標(biāo)代碼表 格 管 理出 錯 處 理13詞法分析器作用:從左到右掃描源程序,并將該字符串轉(zhuǎn)換成單詞(Token)串;同時:檢查詞法錯誤、進行標(biāo)識符登記正規(guī)式有限自動機正規(guī)文法14語法分析器功能:檢查由掃描器輸出的單詞符號序列是否符合該語言的文法,實現(xiàn)“組詞成句”,構(gòu)造分析樹,指出語法錯誤。自上而下分析遞歸下降法預(yù)測分析表法自下而上分析算符優(yōu)先文法LR分析法15語義分析功能:分析由語法分析器給出的語法單位的語義。屬性文法在CFG的基礎(chǔ)上,為每個文法符號配備若干相關(guān)的值,以代表與文法相關(guān)的信息中間代碼生成中間語言形式語句的翻譯16代碼優(yōu)化功能:對代碼進行等價變換以獲取更高的執(zhí)行效率(提高運行速度、節(jié)省存儲空間)

。優(yōu)化的分類與機器有關(guān)的優(yōu)化:局部優(yōu)化、循環(huán)優(yōu)化、控制流優(yōu)化與機器無關(guān)的優(yōu)化:與寄存器、指令、存儲策略、體系結(jié)構(gòu)、任務(wù)規(guī)劃相關(guān)17代碼生成功能:將中間代碼轉(zhuǎn)換成目標(biāo)機上的機器指令代碼或者匯編代碼,完成最后的翻譯,可以運行。生成的代碼絕對的機器代碼可重定位的代碼匯編代碼18運行時存儲空間組織目標(biāo)程序運行時的活動運行存儲的劃分靜態(tài)存儲分配棧式動態(tài)存儲分配堆式動態(tài)存儲分配19符號表功能:將中間代碼轉(zhuǎn)換成目標(biāo)機上的機器指令代碼或者匯編代碼,完成最后的翻譯,可以運行。組織方式定長方式、變長方式線性表、二叉樹、散列表20Position:=initial+rate*60詞法分析器語法分析器id1:=id2+id3*60語義分析器代碼優(yōu)化器T1:=inttoreal(60)T2=id3*T1T3=id2+T2id1=T3代碼生成器T1:=id3*60id1=id2+T1MOVFid3,R2MULF#60.0,R2MOVFid2,R1ADDFR2,R1MOVFR1,id11position…2initial…3rate…4……符號表:21詞法分析器語法分析器語義分析與中間代碼生成器代碼優(yōu)化目標(biāo)代碼生成器源程序單詞符號語法單位中間代碼中間代碼目標(biāo)代碼描述和識別單詞正規(guī)式

正規(guī)文法DFA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論