編譯實(shí)驗(yàn)指導(dǎo)書_第1頁(yè)
編譯實(shí)驗(yàn)指導(dǎo)書_第2頁(yè)
編譯實(shí)驗(yàn)指導(dǎo)書_第3頁(yè)
編譯實(shí)驗(yàn)指導(dǎo)書_第4頁(yè)
編譯實(shí)驗(yàn)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、編譯原理實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)一詞法分析一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)實(shí)現(xiàn)PL/0語(yǔ)言(一種示例小語(yǔ)言)的詞法分析器,理解詞法分析過(guò)程,掌握程序各部分之間的接口安排。二、實(shí)驗(yàn)要求1、要求每位同學(xué)單獨(dú)完成詞法分析器,并接受檢查;2、撰寫實(shí)驗(yàn)報(bào)告。用有限自動(dòng)機(jī)畫出“三、實(shí)驗(yàn)內(nèi)容”中的詞法規(guī)則;實(shí)驗(yàn)報(bào)告不要摘抄全部代碼,但需要流程圖的形式描述程序結(jié)構(gòu);必須書寫設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程中出現(xiàn)的一些問(wèn)題以及解決方法。三、實(shí)驗(yàn)內(nèi)容1、PL/0語(yǔ)言的單詞結(jié)構(gòu)關(guān)鍵字(10個(gè)):begin,end,if,then,while,do,const,var,call,procedure標(biāo)識(shí)符:字母序列,最大長(zhǎng)度10常數(shù):整型常數(shù)算符和界符(17個(gè)

2、):+,-,*,/,odd,=,=,:=,(,),.,;2、單詞的種別SYM_IDENTIFIER,標(biāo)識(shí)符SYM_NUMBER,常數(shù)SYM_PLUS,+SYM_MINUS,-SYM_TIMES,*SYM_SLASH,/SYM_ODD,oddSYM_EQU,=SYM_NEQ,SYM_LES,SYM_LEQ,SYM_GEQ,=SYM_LPAREN,(SYM_RPAREN,)SYM_COMMA,SYM_SEMICOLON,;SYM_PERIOD,.SYM_BECOMES,:=SYM_BEGIN,beginSYM_END,endSYM_IF,ifSYM_THEN,thenSYM_WHILE,while

3、SYM_DO,doSYM_CONST,constSYM_VAR,varSYM_CALL,callSYM_PROCEDUREprocedure3、PL/0的語(yǔ)言的詞法分析器將要完成以下工作:跳過(guò)分隔符(如空格,回車,制表符);識(shí)別諸如begin,end,if,while等保留字;識(shí)別非保留字的一般標(biāo)識(shí)符,此標(biāo)識(shí)符值(字符序列)賦給全局量id,而全局量sym賦值為SYM_IDENTIFIER。識(shí)別數(shù)字序列,當(dāng)前值賦給全局量NUM,sym則置為SYM_NUMBER;識(shí)別:=,=,=之類的特殊符號(hào),全局量sym則分別被賦值為SYM_BECOMES,SYM_LEQ,SYM_GEQ等。4、詞法分析器的實(shí)現(xiàn)

4、方式:把詞法分析器設(shè)計(jì)成一個(gè)獨(dú)立子程序,以便于語(yǔ)法分析器調(diào)用。詞法分析器運(yùn)行一次產(chǎn)生一個(gè)單詞符號(hào)。實(shí)驗(yàn)二語(yǔ)法分析一、實(shí)驗(yàn)?zāi)康脑趯?shí)驗(yàn)一的基礎(chǔ)上,采用遞歸下降的方法實(shí)現(xiàn)PL/O語(yǔ)言(一種示例小語(yǔ)言)實(shí)驗(yàn)要求的語(yǔ)法分析器1、要求每位同學(xué)單獨(dú)完成語(yǔ)法法分析器,并接受檢查;2、撰寫實(shí)驗(yàn)報(bào)告。(1)用上下文無(wú)關(guān)文法寫出“三、實(shí)驗(yàn)內(nèi)容”中的語(yǔ)法規(guī)則;(2)實(shí)驗(yàn)報(bào)告不要摘抄全部代碼,但需要流程圖的形式描述程序結(jié)構(gòu);(必須書寫設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程中出現(xiàn)的一些問(wèn)題以及解決方法。三、實(shí)驗(yàn)內(nèi)容表達(dá)式1、Test語(yǔ)言的語(yǔ)法結(jié)構(gòu)表達(dá)式(1)程序(2)程序體(3)語(yǔ)句序列語(yǔ)句(4)語(yǔ)句條ident件-odd表達(dá)式(6)表達(dá)式-

5、caidentlLj(8)因*beg因子(8)因*beg因子、=ident2、迎遞歸下降2、迎遞歸下降的方法來(lái)設(shè)計(jì)條件/0編譯ST一和FOLLOW和FOLLOW集合0非終結(jié)符S)FST(S)whOlesti4FOL程序體vaprocedeainurei程序體vaprocedeainurei條e件tcal-ifdo語(yǔ)句表達(dá)式表達(dá)式while(語(yǔ)句identcallbeginifwhile.;end條件odd+-(identnumberthendo表達(dá)式+-(identnumber.;)Rendthendo項(xiàng)identnumber(.;)R+-endthendo因子identnumber(.;)R+-*/endthendo注:表中R代表六個(gè)關(guān)系運(yùn)算符實(shí)驗(yàn)三語(yǔ)義分析和中間代碼產(chǎn)生一、實(shí)驗(yàn)?zāi)康脑趯?shí)驗(yàn)二的基礎(chǔ)上,采用基于屬性文法的語(yǔ)法制導(dǎo)翻譯方法完成語(yǔ)義分析和中間代碼產(chǎn)生。二、實(shí)驗(yàn)要求1、要求每位同學(xué)單獨(dú)完成語(yǔ)義分析器中至少一種語(yǔ)法單位的翻譯,并接受檢查;2、撰寫實(shí)驗(yàn)報(bào)告。用屬性文法描述你要實(shí)現(xiàn)翻譯的語(yǔ)法單位的屬性文法;必須書寫設(shè)計(jì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論