版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編譯器的設(shè)計(jì)和實(shí)現(xiàn)是計(jì)算機(jī)理論的重要組成部分,其原理和技術(shù)可被延伸至一般計(jì)算機(jī)技術(shù)的研究,因此,編譯程序的研究對(duì)于程序設(shè)計(jì)具有重要的意義。伴隨理論研究的逐漸深入,編譯器的優(yōu)勢(shì)愈發(fā)明顯。實(shí)際中大部分軟件都是利用高級(jí)語(yǔ)言進(jìn)行編寫,然后經(jīng)過編譯得到底層機(jī)器碼執(zhí)行或者直接解釋執(zhí)行進(jìn)而得到最終理想結(jié)果。與解釋程序相比,編譯程序的執(zhí)行效率更高。因此,如何設(shè)計(jì)高效且通用的編譯程序已經(jīng)成為當(dāng)代計(jì)算機(jī)研究關(guān)注的焦點(diǎn)。
MSVL是一種時(shí)序邏輯程序
2、設(shè)計(jì)語(yǔ)言,它將系統(tǒng)的仿真、建模和驗(yàn)證三大功能集合于一體,是形式化驗(yàn)證的有力工具。它是投影時(shí)序邏輯(Projection Temporal Logic,PTL)的一個(gè)可執(zhí)行子集。MSV是基于MSVL語(yǔ)言開發(fā)的解釋工具,其輸入是用MSVL編寫的形式良好的程序代碼和性質(zhì)代碼。其中,程序代碼描述了一般系統(tǒng)的模型,而性質(zhì)代碼描述了待驗(yàn)證系統(tǒng)的期望性質(zhì)。
目前,MSVL只有解釋執(zhí)行工具,沒有相應(yīng)的編譯程序。為了解決解釋器執(zhí)行效率較低的問題
3、,本文結(jié)合一般編譯器的實(shí)現(xiàn)原理和上述時(shí)序邏輯的相關(guān)知識(shí),提出了MSVL編譯器的基本原理及實(shí)現(xiàn)。本文的主要工作包含:
1.借助于現(xiàn)有的詞法和語(yǔ)法分析生成器ParserGenerator,實(shí)現(xiàn)針對(duì)于MSVL語(yǔ)言的詞法分析器和語(yǔ)法分析器。MSVL詞法分析器的輸入為形式良好的MSVL程序,輸出為特定分割的標(biāo)識(shí)流并同時(shí)做為語(yǔ)法分析器的輸入。M S VL語(yǔ)法分析器的輸出是與原M S VL程序語(yǔ)義等價(jià)的語(yǔ)法樹結(jié)構(gòu)。
2.實(shí)現(xiàn)了針對(duì)
4、MSVL程序的語(yǔ)義相關(guān)分析,此處的語(yǔ)義相關(guān)分析主要指靜態(tài)語(yǔ)義的分析。M S VL的靜態(tài)類型檢查機(jī)制有效避免了變量重定義以及引用未賦值變量等非法情況。本文定義符號(hào)表結(jié)構(gòu)SymbolTable來存儲(chǔ)變量的屬性信息,在必要時(shí)通過查找SymbolTable獲取所需屬性值,從而實(shí)現(xiàn)MSVL的靜態(tài)類型檢查。在語(yǔ)義分析中,一旦有違反語(yǔ)義規(guī)范的情況發(fā)生,編譯程序立即停止執(zhí)行并報(bào)告錯(cuò)誤。
3.給出了翻譯算法TRANSLATE將源MSVL程序等價(jià)
5、轉(zhuǎn)換為中間語(yǔ)言MSIL程序,從而實(shí)現(xiàn)了高級(jí)語(yǔ)言向中間代碼的轉(zhuǎn)換。該翻譯算法針對(duì)M S VL的基本語(yǔ)句進(jìn)行了轉(zhuǎn)換,是整個(gè)MSVL編譯器的核心模塊。為了方便理解TRANSLATE算法的基本思想,本文給出四個(gè)簡(jiǎn)單但具代表性的轉(zhuǎn)換實(shí)例。通過具體的實(shí)例分析驗(yàn)證了中間代碼生成算法的正確性。
4. MSIL中間程序產(chǎn)生之后,利用現(xiàn)有輔助工具即MSIL匯編程序?qū)SIL程序編譯為語(yǔ)義等價(jià)的二進(jìn)制可執(zhí)行機(jī)器碼,從而直接在目標(biāo)機(jī)上運(yùn)行。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DEMS編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- sJava編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- OQL編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 編譯原理課程設(shè)計(jì)---簡(jiǎn)單編譯器的設(shè)計(jì)與實(shí)現(xiàn)
- 編譯原理課程設(shè)計(jì)---編譯器的實(shí)現(xiàn)
- Turbo碼編譯器FPGA設(shè)計(jì)與實(shí)現(xiàn).pdf
- TTCN-3編譯器設(shè)計(jì)與實(shí)現(xiàn).pdf
- 編譯原理課程設(shè)計(jì)報(bào)告--編譯器實(shí)現(xiàn)
- 基于LLVM的交叉編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于JVM的ANSIC編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 編譯原理課程設(shè)計(jì)---s語(yǔ)言的編譯器的設(shè)計(jì)與實(shí)現(xiàn)
- 編譯原理課程設(shè)計(jì)____c語(yǔ)言編譯器的實(shí)現(xiàn)-
- 邏輯組態(tài)軟件中編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- DSP處理器C編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 編譯原理課程設(shè)計(jì)---c語(yǔ)言編譯器的實(shí)現(xiàn)
- 編譯原理課程設(shè)計(jì)--c語(yǔ)言編譯器實(shí)現(xiàn)
- 編譯原理課程設(shè)計(jì)--c語(yǔ)言編譯器實(shí)現(xiàn)
- c語(yǔ)言編譯器實(shí)現(xiàn)-編譯原理課程設(shè)計(jì)
- 嵌入式JavaScript編譯器的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論