一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)

一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)

ID:1042064

大?。?71.00 KB

頁(yè)數(shù):17頁(yè)

時(shí)間:2017-11-07

一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
資源描述:

《一個(gè)簡(jiǎn)單文法編譯器前端設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:一個(gè)簡(jiǎn)單文法的編譯器前端的設(shè)計(jì)與實(shí)現(xiàn)班級(jí):計(jì)算機(jī)1208班組長(zhǎng)學(xué)號(hào):20124016組長(zhǎng)姓名:樊榮指導(dǎo)教師:張俐設(shè)計(jì)時(shí)間:2014年12月設(shè)計(jì)分工組長(zhǎng)學(xué)號(hào)及姓名:20124016樊榮分工:四元式生成、語(yǔ)義分析(未定義、重定義等)、整體設(shè)計(jì)組員1學(xué)號(hào)及姓名:20124020李鑫分工:符號(hào)表建立及其輸入輸出設(shè)計(jì)組員2學(xué)號(hào)及姓名:20124032楊學(xué)良分工:詞法分析組員3學(xué)號(hào)及姓名:20124018焦通分工:語(yǔ)法分析組員4學(xué)號(hào)及姓名:201240陳鳳分工:簡(jiǎn)單C語(yǔ)言文法設(shè)計(jì)及部分簡(jiǎn)單函數(shù)編寫(xiě)摘要編譯器是程序員使用的關(guān)鍵工具,程序員每天都在使用編譯器,并且

2、非常依賴(lài)于其正確性和可靠性。編譯器作為廣大IT從業(yè)者必須接觸的系統(tǒng)軟件,它的設(shè)計(jì)本身又是一個(gè)極其龐大的工程。編譯器相關(guān)的各項(xiàng)技術(shù)經(jīng)過(guò)近幾十年的發(fā)展,已經(jīng)日臻成熟,然而編譯器構(gòu)造原理和技術(shù)依然是計(jì)算機(jī)科學(xué)中理論與實(shí)踐相結(jié)合的最好典范。本文重點(diǎn)介紹了編譯器前端的詳細(xì)開(kāi)發(fā)過(guò)程,分為四個(gè)部分分別闡述:文法設(shè)計(jì),詞法分析器的設(shè)計(jì),語(yǔ)法分析器的設(shè)計(jì),語(yǔ)義分析部分。每個(gè)部分又分別從功能,數(shù)據(jù)結(jié)構(gòu)和算法三個(gè)方面進(jìn)行詳盡闡述,。由于C語(yǔ)言本身的復(fù)雜性,很難面面俱到實(shí)現(xiàn)所有標(biāo)準(zhǔn)定義,所以本次設(shè)計(jì)只象征性的選擇部分具有代表性的功能。在本文的第四章詳細(xì)給出了此次設(shè)計(jì)所實(shí)現(xiàn)的功能和語(yǔ)法規(guī)范,同時(shí)

3、也給出了編譯器的運(yùn)行方式。關(guān)鍵詞:編譯原理,編譯器前端,C源程序……目錄摘要······························11概述·····························22課程設(shè)計(jì)任務(wù)及要求·······················32.1設(shè)計(jì)任務(wù)··························32.2設(shè)計(jì)要求··························33算法與數(shù)據(jù)結(jié)構(gòu)··························43.1算法的總體思想(流程)···················43.2詞法分析模塊······

4、·················53.2.1功能························73.2.2數(shù)據(jù)結(jié)構(gòu)······················83.2.3算法························93.3語(yǔ)法分析模塊·······················103.3.1功能························113.3.2數(shù)據(jù)結(jié)構(gòu)······················123.3.3算法························133.4符號(hào)表模塊························133.4.1功能

5、·······················133.4.2數(shù)據(jù)結(jié)構(gòu)·····················144序設(shè)計(jì)與實(shí)現(xiàn)··························144.1程序流程圖······················144.2程序說(shuō)明······················154.3實(shí)驗(yàn)結(jié)果······················155.結(jié)論·····························166.參考文獻(xiàn)?!ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ?77.收獲、體會(huì)和建議?!ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ?/p>

6、·171.概述經(jīng)過(guò)一段時(shí)間的學(xué)習(xí),我們?cè)诔醪秸莆樟司幾g器的基本原理以后,設(shè)計(jì)了一個(gè)具有基本編譯功能的編譯器前端。該編譯器前端接受類(lèi)C語(yǔ)言語(yǔ)法的源代碼輸入,輸出結(jié)果是四元式組。本編譯器實(shí)現(xiàn)了基本高級(jí)語(yǔ)言所必須的語(yǔ)法要素,包括簡(jiǎn)單變量聲明、條件判斷語(yǔ)句和循環(huán)語(yǔ)句及跳轉(zhuǎn)語(yǔ)句、基本代數(shù)運(yùn)算、賦值等。由于編譯程序本身涉及到詞法分析、語(yǔ)法分析、中間代碼生成等諸多模塊,要在實(shí)驗(yàn)中做到面面俱到不太可能,所以本編譯器不可避免的會(huì)存在各種問(wèn)題,但作為一個(gè)具有基本功能的、可擴(kuò)充的系統(tǒng),完全達(dá)到了鞏固編譯原理的理論知識(shí),并將其運(yùn)用于實(shí)踐的目的。2.課程設(shè)計(jì)任務(wù)及要求2.1設(shè)計(jì)任務(wù)在下列內(nèi)容中任

7、選其一:1、一個(gè)簡(jiǎn)單文法的編譯器前端的設(shè)計(jì)與實(shí)現(xiàn)。2、基本塊的劃分及中間代碼優(yōu)化程序設(shè)計(jì)與實(shí)現(xiàn)。3、LL(1)、LR分析表的自動(dòng)生成算法的設(shè)計(jì)實(shí)現(xiàn)。4、自選一個(gè)感興趣的與編譯原理有關(guān)的問(wèn)題加以實(shí)現(xiàn),要求難度相當(dāng)。我們組由于人數(shù)較多,且綜合代碼編寫(xiě)能力不強(qiáng),經(jīng)多方面考慮選擇了簡(jiǎn)單類(lèi)C文法的編譯前端設(shè)計(jì)與實(shí)現(xiàn)任務(wù)。2.2設(shè)計(jì)要求1.給出一個(gè)源程序文件,作為編譯器前端的輸入2.輸出相關(guān)編譯階段的運(yùn)行結(jié)果詞法分析階段:Token序列;關(guān)鍵字表、界符表、符號(hào)表系統(tǒng)。中間代碼生成階段:四元式序列;符號(hào)表系統(tǒng)。3.算法及數(shù)據(jù)結(jié)構(gòu)3.1算法的總體思想(流

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。