學(xué)生用-編譯原理實(shí)驗(yàn)指導(dǎo)書(shū)

學(xué)生用-編譯原理實(shí)驗(yàn)指導(dǎo)書(shū)

ID:40226612

大小:475.50 KB

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

時(shí)間:2019-07-27

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

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

1、實(shí)驗(yàn)一無(wú)符號(hào)數(shù)的有窮自動(dòng)機(jī)的實(shí)現(xiàn)(一)實(shí)驗(yàn)?zāi)康臒o(wú)符號(hào)數(shù)的有窮自動(dòng)機(jī)的實(shí)現(xiàn)目的是使學(xué)生掌握文法的形式描述,窮自動(dòng)機(jī)的概念。將文法轉(zhuǎn)換成有窮自動(dòng)機(jī)的方法,理解出錯(cuò)處理程序思想,如何用狀態(tài)矩陣實(shí)現(xiàn)一個(gè)窮自動(dòng)機(jī)的機(jī)內(nèi)表示。(二)實(shí)驗(yàn)內(nèi)容1.無(wú)符號(hào)數(shù)的BNF描述(0)<無(wú)符號(hào)數(shù)>àd<余留無(wú)符號(hào)數(shù)>

2、.<十進(jìn)制數(shù)>

3、e<指數(shù)部分>(1)<余留無(wú)符號(hào)數(shù)>àd<余留無(wú)符號(hào)數(shù)>

4、.<十進(jìn)制數(shù)>

5、e<指數(shù)部分>

6、ε(2)<十進(jìn)制小數(shù)>àd<余留十進(jìn)制小數(shù)>(3)<余留十進(jìn)制小數(shù)>e<指數(shù)部分>

7、d<余留十進(jìn)制小數(shù)>

8、ε(4)<指數(shù)部分>àd<余留整指數(shù)>

9、+<整指

10、數(shù)>

11、-<整指數(shù)>(5)<整指數(shù)>àd<余留整指數(shù)>(6)<余留整指數(shù)>àd<余留整指數(shù)>

12、ε2.將G[<無(wú)符號(hào)數(shù)>]文法轉(zhuǎn)換成有窮自動(dòng)機(jī)。3.構(gòu)造狀態(tài)矩陣;將有窮自動(dòng)機(jī)的狀S1S2……Sn及輸入的字a1a2……am構(gòu)成一個(gè)n*m的矩陣。4.用狀態(tài)矩陣設(shè)計(jì)出一個(gè)詞法分析程序。5.掃描無(wú)符號(hào)數(shù),根據(jù)文法給出無(wú)符號(hào)數(shù)出錯(cuò)的位置。(三)實(shí)驗(yàn)要求1.學(xué)生課前要認(rèn)真閱讀實(shí)驗(yàn)指導(dǎo),理解實(shí)驗(yàn)內(nèi)容與相關(guān)理論知識(shí)的關(guān)系,并完成預(yù)習(xí)報(bào)告2.用C語(yǔ)言或其它高級(jí)語(yǔ)言編寫(xiě)程序3.寫(xiě)出實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)二語(yǔ)法制導(dǎo)把表達(dá)式翻譯成逆波蘭式(一)實(shí)驗(yàn)?zāi)康倪M(jìn)一步掌握語(yǔ)法制導(dǎo)翻譯的概念,理

13、解中間語(yǔ)言,設(shè)計(jì)出錯(cuò)處理程序方法,掌握把表達(dá)式翻譯成中間語(yǔ)言的算法。(二)實(shí)驗(yàn)內(nèi)容1.從左到右掃描中綴表達(dá)式,經(jīng)語(yǔ)法分析找出中綴表達(dá)式出現(xiàn)的錯(cuò)誤并給出錯(cuò)誤的具體位置和類(lèi)型。一個(gè)運(yùn)算符棧存放暫時(shí)不能出現(xiàn)的運(yùn)算符,逆波蘭區(qū)存放逆波蘭表達(dá)式。142.測(cè)試所編程序,給出正確和錯(cuò)誤的結(jié)果。(三)實(shí)驗(yàn)要求1.學(xué)生課前要認(rèn)真閱讀實(shí)驗(yàn)指導(dǎo),理解實(shí)驗(yàn)內(nèi)容與相關(guān)理論知識(shí)的關(guān)系,并完成預(yù)習(xí)報(bào)告2.用C語(yǔ)言或其它高級(jí)語(yǔ)言編寫(xiě)程序3.寫(xiě)出實(shí)驗(yàn)報(bào)告實(shí)踐一無(wú)符號(hào)數(shù)的有窮自動(dòng)機(jī)的實(shí)現(xiàn)一、目的通過(guò)上機(jī)實(shí)習(xí),熟悉詞法分析程序所用的工具自動(dòng)機(jī),進(jìn)一步理解自動(dòng)機(jī)理論。掌握文法轉(zhuǎn)換成自動(dòng)

14、機(jī)的技術(shù)及有窮自動(dòng)機(jī)實(shí)現(xiàn)的方法。二、題目無(wú)符號(hào)數(shù)的有窮自動(dòng)機(jī)的實(shí)現(xiàn)三、要求及提示1、無(wú)符號(hào)數(shù)的BNF描述如下:0.<無(wú)符號(hào)數(shù)>àd<余留無(wú)符號(hào)數(shù)>

15、.<十進(jìn)制數(shù)>

16、e<指數(shù)部分>1.<余留無(wú)符號(hào)數(shù)>àd<余留無(wú)符號(hào)數(shù)>

17、.<十進(jìn)制數(shù)>

18、e<指數(shù)部分>

19、ε2.<十進(jìn)制小數(shù)>àd<余留十進(jìn)制小數(shù)>3.<余留十進(jìn)制小數(shù)>e<指數(shù)部分>

20、d<余留十進(jìn)制小數(shù)>

21、ε4.<指數(shù)部分>àd<余留整指數(shù)>

22、+<整指數(shù)>

23、-<整指數(shù)>5.<整指數(shù)>àd<余留整指數(shù)>6.<余留整指數(shù)>àd<余留整指數(shù)>

24、ε2、將G[<無(wú)符號(hào)數(shù)>]文法轉(zhuǎn)換成有窮自動(dòng)機(jī)。3、構(gòu)造狀態(tài)矩陣

25、;將有窮自動(dòng)機(jī)的狀S1S2……Sn及輸入的字a1a2……am構(gòu)成一個(gè)n*m的矩陣。1、狀態(tài)矩陣設(shè)計(jì)出一個(gè)詞法分析程序識(shí)別無(wú)符號(hào)數(shù)。2、掃描無(wú)符號(hào)數(shù),根據(jù)文法給出無(wú)符號(hào)數(shù)出錯(cuò)的位置。3、工具:C語(yǔ)言或其它高級(jí)語(yǔ)言4、實(shí)踐時(shí)間:8學(xué)時(shí)14四、實(shí)踐報(bào)告1、寫(xiě)出無(wú)符號(hào)數(shù)詞法分析的思想。2、畫(huà)出算法流程圖。3、寫(xiě)出調(diào)試程序出現(xiàn)的問(wèn)題及解決的方法。4、打印實(shí)踐報(bào)告及程序清單。5、報(bào)告給出測(cè)試的結(jié)果。五、參考范例1)無(wú)符號(hào)數(shù)的文法描述如下:0.<無(wú)符號(hào)數(shù)>àd<余留無(wú)符號(hào)數(shù)>

26、.<十進(jìn)制數(shù)>

27、e<指數(shù)部分>1.<余留無(wú)符號(hào)數(shù)>àd<余留無(wú)符號(hào)數(shù)>

28、.<十進(jìn)制數(shù)

29、>

30、e<指數(shù)部分>

31、ε2.<十進(jìn)制小數(shù)>àd<余留十進(jìn)制小數(shù)>3.<余留十進(jìn)制小數(shù)>e<指數(shù)部分>

32、d<余留十進(jìn)制小數(shù)>

33、ε4.<指數(shù)部分>àd<余留整指數(shù)>

34、+<整指數(shù)>

35、-<整指數(shù)>5.<整指數(shù)>àd<余留整指數(shù)>6.<余留整指數(shù)>àd<余留整指數(shù)>

36、ε2)無(wú)符號(hào)數(shù)的有窮自動(dòng)機(jī)實(shí)現(xiàn)的思想用0-----表示無(wú)符號(hào)數(shù);用1-----表示余留無(wú)符號(hào)數(shù);用2----表示十進(jìn)制小數(shù);用3-----表示余留十進(jìn)制小數(shù);用4-----表示指數(shù)部分;用5-----表示整指數(shù);用6-----表示余留整指數(shù)。輸入無(wú)符號(hào)數(shù)序列,從左到右掃描,遇到“#”號(hào)結(jié)束掃描。

37、設(shè)一個(gè)字符數(shù)組,接收輸入的無(wú)符號(hào)數(shù),對(duì)輸入的無(wú)符號(hào)數(shù)逐一進(jìn)行分析,用一個(gè)中間變量接收當(dāng)前字符。當(dāng)前字符值發(fā)生錯(cuò)誤時(shí),輸出錯(cuò)誤信息;當(dāng)前字符值正確時(shí),分析下一個(gè)字符,反復(fù)判斷,直至分析完畢。143)無(wú)符號(hào)數(shù)的有窮自動(dòng)機(jī)(Z表示結(jié)束符)無(wú)符號(hào)數(shù)有窮自動(dòng)機(jī)由圖1所示。圖14)無(wú)符號(hào)數(shù)有窮自動(dòng)機(jī)的狀態(tài)轉(zhuǎn)換矩陣無(wú)符號(hào)數(shù)有窮自動(dòng)機(jī)的狀態(tài)轉(zhuǎn)換矩陣由表1所示。de·+-ε0142ΦΦΦ1142ΦΦZ23ΦΦΦΦΦ334Φ5ΦZ46ΦΦΦ5Φ56ΦΦΦΦΦ66ΦΦΦΦZ145)算法流程圖初始化讀一個(gè)字符YN是否為#?N是#?讀一個(gè)字符是數(shù)字?YYN是數(shù)字?是小數(shù)點(diǎn)

38、.出錯(cuò)NY讀一個(gè)字符出錯(cuò)N讀一個(gè)字符是指數(shù)eYYN是#?讀一個(gè)字符是符號(hào)+/-讀一個(gè)字符是#?YY是數(shù)字?是數(shù)字?出錯(cuò)NNNY出錯(cuò)Y讀一

當(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. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(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)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。