《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)

《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)

ID:18466657

大?。?6.00 KB

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

時(shí)間:2018-09-18

《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)_第1頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)_第2頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)_第3頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)_第4頁(yè)
《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)_第5頁(yè)
資源描述:

《《編譯原理》實(shí)驗(yàn)指導(dǎo)書(shū)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、編譯原理實(shí)驗(yàn)指導(dǎo)書(shū)雷宇樸春慧馬新娜段淑鳳編石家莊鐵道學(xué)院2005年3月前言編譯原理是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的一門(mén)重要的專(zhuān)業(yè)必修課程,又是一門(mén)對(duì)實(shí)踐性要求較高的課程。上機(jī)實(shí)驗(yàn)是編譯原理學(xué)習(xí)的重要環(huán)節(jié)。通過(guò)實(shí)驗(yàn),可以使學(xué)生深化理解和靈活掌握編譯系統(tǒng)的一般構(gòu)造原理、基本設(shè)計(jì)方法和主要實(shí)現(xiàn)技術(shù),培養(yǎng)學(xué)生設(shè)計(jì)、實(shí)現(xiàn)和擴(kuò)充程序設(shè)計(jì)語(yǔ)言的基本能力,提高學(xué)生從理論到實(shí)際的設(shè)計(jì)開(kāi)發(fā)軟件的動(dòng)手能力。本書(shū)包括了編譯原理課程主要實(shí)驗(yàn)內(nèi)容。不同層次不同需要的學(xué)??筛鶕?jù)本專(zhuān)業(yè)教學(xué)要求選擇,也可自行開(kāi)發(fā)實(shí)驗(yàn)內(nèi)容。本書(shū)由雷宇、樸春慧、馬新娜、段淑鳳等綜合編寫(xiě),并得到眾多師生的大力支持,在此一并感謝。由于編者水

2、平所限,時(shí)間倉(cāng)促,錯(cuò)誤及欠缺之處懇請(qǐng)批評(píng)指正。編者石家莊鐵道學(xué)院計(jì)算機(jī)系2005.3目錄實(shí)驗(yàn)一詞法分析1實(shí)驗(yàn)二預(yù)測(cè)分析法4實(shí)驗(yàn)三LR分析法5附錄1:實(shí)驗(yàn)報(bào)告格式6實(shí)驗(yàn)一詞法分析一、實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)日期:2010.4.23)通過(guò)設(shè)計(jì)編制調(diào)試一個(gè)具體的詞法分析程序,加深對(duì)詞法分析原理的理解。并掌握在對(duì)程序設(shè)計(jì)語(yǔ)言源程序進(jìn)行掃描過(guò)程中將其分解為各類(lèi)單詞的詞法分析方法。二、實(shí)驗(yàn)要求編制一個(gè)讀單詞過(guò)程,源程序?yàn)橐粋€(gè)文件,讀取該文件,識(shí)別出各個(gè)具有獨(dú)立意義的單詞,即基本保留字、標(biāo)識(shí)符、常數(shù)、運(yùn)算符、界符五大類(lèi)。并依次輸出各個(gè)單詞的內(nèi)部編碼及單詞符號(hào)自身值。單詞的內(nèi)部編碼如下:1、保留字:i

3、f、int、for、while、do、return、break、continue;單詞種別碼為1;2、標(biāo)識(shí)符:除保留字外的以字母開(kāi)頭,后跟字母、數(shù)字的字符序列;單詞種別碼為2;3、常數(shù)為無(wú)符號(hào)整形數(shù);單詞種別碼為3;4、運(yùn)算符包括:+、-、*、/、=;單詞種別碼為4;5、分隔符包括:,、;、{、}、(、);單詞種別碼為5。三、預(yù)習(xí)提示1、詞法分析器的功能和輸出格式詞法分析器的功能是輸入源程序,輸出單詞符號(hào)。詞法分析器的單詞符號(hào)常常表示成以下的二元式(單詞種別碼,單詞符號(hào)的屬性值)。本實(shí)驗(yàn)中,采用的是一類(lèi)符號(hào)一種種別碼的方式。2、各類(lèi)單詞的文法<標(biāo)識(shí)符>→<字母><字母數(shù)字串>

4、<字母數(shù)字串>→<字母><字母數(shù)字串>

5、<數(shù)字><字母數(shù)字串>

6、ε<無(wú)符號(hào)整數(shù)>→<數(shù)字>

7、<數(shù)字><無(wú)符號(hào)整數(shù)><運(yùn)算符>→+

8、-

9、*

10、/

11、=<界符>→,

12、;

13、(

14、)

15、{

16、}3、模塊結(jié)構(gòu)參照教材圖2.5詞法分析過(guò)程GETSYM。四、實(shí)驗(yàn)過(guò)程和指導(dǎo)51、準(zhǔn)備(1)課本有關(guān)章節(jié);(2)編制好程序;(3)準(zhǔn)備多組測(cè)試數(shù)據(jù)。2、程序思路(僅供參考):在詞法分析中,自文件頭開(kāi)始掃描源程序字符,一旦發(fā)現(xiàn)符合“單詞”定義的源程序字符串時(shí),將它翻譯成固定長(zhǎng)度的單詞內(nèi)部表示,并填入適當(dāng)?shù)男畔⒈?。?jīng)過(guò)詞法分析后,源程序字符串(源程序的外部表示)被翻譯成具有等長(zhǎng)信息的單詞串(源程序的內(nèi)部表示),

17、并產(chǎn)生兩個(gè)表格:常數(shù)表和標(biāo)識(shí)符表,它們分別包含了源程序中的所有常數(shù)和所有標(biāo)識(shí)符。(1)定義部分:定義常量、變量、數(shù)據(jù)結(jié)構(gòu)。(2)初始化:從文件將源程序全部輸入到字符緩沖區(qū)中。(3)取單詞前:去掉多余空白。(4)取單詞:利用實(shí)驗(yàn)一的成果讀出單詞的每一個(gè)字符,組成單詞,分析類(lèi)型。(5)顯示結(jié)果。3、為了能設(shè)計(jì)好程序,注意以下事情:(1)模塊設(shè)計(jì):將程序分成合理的多個(gè)模塊(函數(shù)),每個(gè)模塊做具體的同一事情。(2)寫(xiě)出(畫(huà)出)設(shè)計(jì)方案:模塊關(guān)系簡(jiǎn)圖、流程圖、全局變量、函數(shù)接口等。(3)編程時(shí)注意編程風(fēng)格:空行的使用、注釋的使用、縮進(jìn)的使用等。五、例源程序文件內(nèi)容如下:main(){i

18、nta,b;a=10;b=a+20;}要求輸出如下:(2,”main”)(5,”(”)(5,”)”)(5,”{“}(1,”int”)(2,”a”)(5,”,”)(2,”b”)5(5,”;”)(2,”a”)(4,”=”)(3,10)(5,”;”)(2,”b”)(4,”=”)(2,”a”)(4,”+”)(3,20)(5,”;”)(5,”)”)5實(shí)驗(yàn)二預(yù)測(cè)分析法一、實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)日期:2010)根據(jù)某一LL(1)文法編制調(diào)試預(yù)測(cè)分析程序,以便對(duì)任意輸入的符號(hào)串進(jìn)行分析。本次實(shí)驗(yàn)的目的主要是加深對(duì)預(yù)測(cè)分析法的理解。二、實(shí)驗(yàn)要求本次實(shí)驗(yàn)的LL(1)文法為表達(dá)式文法:E→E+T

19、TT→T

20、*F

21、FF→i

22、(E)編寫(xiě)識(shí)別表達(dá)式文法的合法句子的預(yù)測(cè)分析程序,對(duì)輸入的任意符號(hào)串,給出分析過(guò)程及分析結(jié)果。分析過(guò)程要求輸出步驟、分析棧、剩余輸入串和所用產(chǎn)生式。如果該符號(hào)串不是表達(dá)式文法的合法句子,要給出盡量詳細(xì)的錯(cuò)誤提示。三、實(shí)驗(yàn)過(guò)程1、準(zhǔn)備(1)閱讀課本有關(guān)章節(jié);(2)初步編制好程序;(3)準(zhǔn)備多組測(cè)試數(shù)據(jù)。2、上機(jī)調(diào)試3、思路將表達(dá)式預(yù)測(cè)分析表存到一個(gè)數(shù)組中,參照教材圖5.11預(yù)測(cè)分析程序的框圖編寫(xiě)分析程序。4、為了能設(shè)計(jì)好程序,注意以下事情:(1)模塊設(shè)計(jì):將程序分成合理的多個(gè)模塊(函數(shù)),

當(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)系客服處理。