版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章
編譯簡介2.1
編譯器
2.2
編譯器的結(jié)構(gòu)
2.3
編譯器的實例
2.4
與編譯相關(guān)的數(shù)據(jù)結(jié)構(gòu)
2.5
編譯器各階段的分組
2.6
編譯器的構(gòu)造工具
1/12/202312.1編譯簡介●程序設(shè)計語言程序設(shè)計語言低級語言:面向機(jī)器的語言機(jī)器語言匯編語言過程式語言Fortran,Pascal,C…函數(shù)式語言Lisp…邏輯式語言Prolog…對象式語言C++…高級語言CompilerSourceProgramTargetProgram1/12/202320011010010101010…0100101110110100目標(biāo)模塊……#include<iostream.h>intmain(void){inta;…;cin>>…;…;return0;}源程序TextEditor文本編輯器Linker鏈接器Compiler編譯Preprocessor預(yù)處理程序Translator翻譯程序系統(tǒng)庫●Buildinga
Program構(gòu)建程序1/12/20233基礎(chǔ)程序Interpreters解釋程序Assemblers匯編程序Linkers連接程序Loaders裝入程序Preprocessors預(yù)處理程序●編譯相關(guān)程序IDE程序Editors編輯器Debuggers調(diào)試器Profilers描述器Projectmanagers項目管理器1/12/20234目標(biāo)程序源程序編譯程序初始數(shù)據(jù)計算結(jié)果功能工作結(jié)果實現(xiàn)技術(shù)上編譯程序源程序的一個轉(zhuǎn)換系統(tǒng)源程序的目標(biāo)代碼把中間代碼轉(zhuǎn)換成目標(biāo)程序解釋程序源程序的一個執(zhí)行系統(tǒng)源程序的執(zhí)行結(jié)果執(zhí)行中間代碼源程序解釋程序初始數(shù)據(jù)計算結(jié)果●
編譯和解釋程序1/12/20235翻譯外文資料編譯源程序分析閱讀原文識別單詞句子結(jié)構(gòu)句子釋義輸入并掃描源程序詞法分析語法分析語義分析綜合修辭加工寫出譯文代碼優(yōu)化目標(biāo)代碼生成2.2編譯器的結(jié)構(gòu)翻譯外文資料與編譯源程序進(jìn)行類比1/12/20236詞法分析源程序目標(biāo)程序語法分析語義分析文字表、符號表處理錯誤處理中間代碼優(yōu)化中間代碼生成前端后端●
Thephaseofacompiler編譯程序的結(jié)構(gòu)●
Thephaseofacompiler編譯程序的結(jié)構(gòu)目標(biāo)代碼生成1/12/20237詞法分析:Input:astreamofcharacters,Output:a,[,index,],=,4,+,2(Tokens)語法分析:Input:theformsoftokensOutput:aparsetreeorasyntaxtree例:a[index]=4+22.3編譯器的實例1/12/20238expressionAssign-expressionexpression=expressionSubscript-expressionAdditive-expressiveexpression[expression]expressionexpressionIdentifieraIdentifierindexNumber4Number2+Assign-expressionSubscript-expressionAdditive-expressiveIdentifieraIdentifierindexNumber4Number2●分析樹parsetree●語法樹syntaxtree1/12/20239●語義分析
Assign-expressionSubscript-expressionintegerAdditive-expressiveintegerIdentifieraArrayofintegerIdentifierindexintegerNumber4integerNumber2integer●源代碼優(yōu)化
Assign-expressionSubscript-expressionintegerIdentifieraArrayofintegerIdentifierindexinteger
Number6integer1/12/202310●代碼生成●目標(biāo)代碼優(yōu)化化MOVR0,indexMULR0,2MOVR1,&aADDR1,R0MOV*R1,6MOVR0,indexSHLR0MOV&a[R0],6Input:intermediatecodeorIROutput:machinecode,codeforthetargetmachine12/31/2022112.4與與編譯相關(guān)的的數(shù)據(jù)結(jié)構(gòu)●枚舉類型:記記號(tokens)種類、語法單單位等的命名名;●結(jié)構(gòu)體:分分析樹(parsertree)、語法樹樹(syntaxtree)的結(jié)點(diǎn),符符號表(symboltable)等;●樹型結(jié)構(gòu):分分析樹、、語法樹、注注釋樹等;●線性表、哈哈希表:符號號表、常數(shù)表表(literaltable);●文件:輸輸入、、輸出、臨時時文件(temporaryfiles)。12/31/202212編譯程序的前端:與源語言有有關(guān),而與目目標(biāo)機(jī)無關(guān)的的編譯程序編譯程序的后端:與目標(biāo)機(jī)有有關(guān),而與源源語言無關(guān)的的編譯程序遍(趟):是對源程序序或源程序的的中間結(jié)果從從頭到尾掃描描一遍,并作作有關(guān)加工處處理,生成新新的中間結(jié)果果或目標(biāo)程序序。宿主機(jī):運(yùn)行編譯程程序的計算機(jī)機(jī)稱為宿主機(jī)機(jī)。目標(biāo)機(jī):運(yùn)行編譯程程序所產(chǎn)生的的目標(biāo)代碼的的計算機(jī)成為為目標(biāo)機(jī)。2.5編編譯器各階段段的分組12/31/202213要求:程序設(shè)設(shè)計語言實現(xiàn)現(xiàn)編譯程序的的開發(fā)2.6編編譯程序的的構(gòu)造工具預(yù)處理法移植法自展法工具法理論法
開發(fā)編譯程序的途徑●編譯程序的構(gòu)造工具分析器生成器掃描器生成器語法制導(dǎo)翻譯引擎自動代碼生成器數(shù)據(jù)流引擎源語言目標(biāo)語言編譯方法●設(shè)計和實現(xiàn)編譯程序,必須精通Pascal編譯程序C編譯程序Fortran編譯程序●經(jīng)典的編譯程序12/31/202214第2章編譯譯簡簡介介2.1編譯譯器器2.2編譯譯器器的的結(jié)結(jié)構(gòu)構(gòu)2.3編譯譯器器的的實實例例2.4與編編譯譯相相關(guān)關(guān)的的數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu)2.5編譯譯器器各各階階段段的的分
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 7016-2025固定電阻器電流噪聲測量方法
- 2026年西南財經(jīng)大學(xué)天府學(xué)院單招職業(yè)傾向性測試題庫附答案詳解
- 2026年池州職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案詳解1套
- 2026年華東政法大學(xué)單招職業(yè)適應(yīng)性考試題庫參考答案詳解
- 2026年石家莊工商職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫及參考答案詳解一套
- 2026年唐山科技職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫帶答案詳解
- 2026年泉州海洋職業(yè)學(xué)院單招職業(yè)技能考試題庫附答案詳解
- 2026年長沙電力職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試題庫參考答案詳解
- 2026年惠州城市職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及完整答案詳解1套
- 2026年洛陽職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫及參考答案詳解一套
- 安利四大基石課件
- 2025年滁州輔警招聘考試真題及答案詳解(歷年真題)
- 基于多模型視角下我國A股上市公司財務(wù)危機(jī)預(yù)警的深度剖析與實證檢驗
- GB/T 11143-2025加抑制劑礦物油在水存在下防銹性能試驗法
- 2025年希望杯IHC-二年級真題(含答案)
- 《汽車機(jī)械基礎(chǔ)》期末考試復(fù)習(xí)題庫(含答案)
- 腸外營養(yǎng)療法規(guī)范
- 煤礦起吊應(yīng)急預(yù)案
- 不孕癥和輔助生殖技術(shù)專業(yè)版
- 農(nóng)夫山泉代理合同范本
- 工作總結(jié)亮點(diǎn)與不足
評論
0/150
提交評論