

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)學(xué)院實(shí)驗(yàn)報(bào)告【20162017學(xué)年第2學(xué)期】【一、基本信息】【實(shí)驗(yàn)課程】編譯原理【設(shè)課形式】獨(dú)立口非獨(dú)立匚1【課程學(xué)分】4【實(shí)驗(yàn)項(xiàng)目】實(shí)驗(yàn)一語(yǔ)法分析器的設(shè)計(jì)【項(xiàng)目類型】基礎(chǔ)口綜合設(shè)計(jì)口研究創(chuàng)新口其它【項(xiàng)目學(xué)時(shí)】4【學(xué)生姓名】【學(xué)號(hào)】【系別專業(yè)】軟件開發(fā)【實(shí)驗(yàn)班組】級(jí)班組臺(tái)【同組學(xué)生】【實(shí)驗(yàn)室名】綜合實(shí)驗(yàn)樓【實(shí)驗(yàn)日期】【報(bào)告日期】【一、實(shí)驗(yàn)教師對(duì)報(bào)告的最終評(píng)價(jià)及處理意見】實(shí)驗(yàn)成績(jī):(涂改無(wú)效)指導(dǎo)教師簽名:年月日1注:要將實(shí)驗(yàn)項(xiàng)目、實(shí)驗(yàn)課程的成績(jī)?cè)u(píng)定及課程考核辦法明確告知學(xué)生,并報(bào)實(shí)驗(yàn)管理中心備案【三、實(shí)驗(yàn)預(yù)習(xí)】實(shí)驗(yàn)?zāi)康暮鸵?1. 掌握自上而下語(yǔ)法分析的基本思想;2. 掌握利用預(yù)測(cè)分析法
2、進(jìn)行語(yǔ)法分析的原理和過程;3. 熟悉文法的機(jī)內(nèi)表示;4. 掌握語(yǔ)法分析器的設(shè)計(jì)與調(diào)試,提高編程能力、動(dòng)手能力以及獨(dú)立分析問題、解決問題的能力和綜合運(yùn)用所學(xué)知識(shí)的能力。實(shí)驗(yàn)內(nèi)容和原理或涉及的知識(shí)點(diǎn)(綜合性實(shí)驗(yàn)):1. 輸入任意文法,改寫文法使其成為L(zhǎng)L(1文法。2. 構(gòu)造文法的預(yù)測(cè)分析表;3. 設(shè)計(jì)堆棧和預(yù)測(cè)分析表的機(jī)內(nèi)表示;4. 設(shè)計(jì)并書寫語(yǔ)法分析程序;5. 調(diào)試并運(yùn)行語(yǔ)法分析程序;6. 實(shí)驗(yàn)結(jié)果分析分析程序中文法存儲(chǔ)所采用的數(shù)據(jù)結(jié)構(gòu)分析結(jié)果并寫出自己的心得體會(huì)提示:對(duì)于所選定的分析方法,如有需要,應(yīng)選擇一種合適的數(shù)據(jù)結(jié)構(gòu),以構(gòu)造所給文法的機(jī)內(nèi)表示。實(shí)驗(yàn)條件(實(shí)驗(yàn)設(shè)備、軟件、材料等):1. 裝
3、有Codeblocks的電腦一臺(tái)。2. 實(shí)驗(yàn)環(huán)境:WINDOWS下,工具為Turbo或VisualC。實(shí)驗(yàn)考核方式:1. 提交實(shí)驗(yàn)報(bào)告2. 演示程序和答辯(抽查)實(shí)驗(yàn)預(yù)習(xí)實(shí)驗(yàn)設(shè)計(jì)方案(實(shí)驗(yàn)方法、步驟、操作過程、設(shè)計(jì)型實(shí)驗(yàn)、實(shí)驗(yàn)數(shù)據(jù)記錄表格):實(shí)驗(yàn)預(yù)習(xí)成績(jī)(涂改無(wú)效)合格口不合格口【四、實(shí)驗(yàn)過程、數(shù)據(jù)和實(shí)驗(yàn)結(jié)果記錄】實(shí)驗(yàn)方法、步驟、操作過程的記錄描述或程序代碼。實(shí)驗(yàn)過程中輸入/輸岀數(shù)據(jù)、程序運(yùn)行結(jié)果的記錄。(可加附頁(yè))1.輸入任意文法,改寫文法使其成為L(zhǎng)L(1文法。答:輸入文法GE:ET|EATTF|TMFF(E)|iA+|-M*|/(1)改寫文法。對(duì)形如:UUx|y的產(chǎn)生式(其中x,yV+,y
4、不以U開頭),引入一個(gè)新的非終結(jié)符U'后,可以等價(jià)地改寫成為:UyU'U'xU'|&顯然改寫后,U和U'都不是左遞歸的非終結(jié)符。因此文法GE按上述方法消去左遞歸后可等價(jià)地寫成:ETP'P'ATP|&TFW1&W'MFW'|&F(E)|iM*|/2.構(gòu)造文法的預(yù)測(cè)分析表;i+-+/()#EE->TEE->TEE'E'->ATEE'->ATEE'->?E'->?TT->FTt->ftT'T'-
5、>?T'->?T'->MFT'T'->MFT'T->?T->?FF->iF->(E)AA->+A->MM->*M->/3. 設(shè)計(jì)堆棧和預(yù)測(cè)分析表的機(jī)內(nèi)表示;堆棧表示:預(yù)測(cè)分析表的機(jī)內(nèi)表示4.設(shè)計(jì)并書寫語(yǔ)法分析程序;語(yǔ)法分析程序代碼:#include<>#include<>#include<>#include<>charA20;charB20;charv120='i','+','*',
6、9;(',')',#;charv220='E','G',T,'S','F'intj=0,b=0,top=0,l;typedefstructtypecharorigin;chararray5;intlength;type;typee,t,g,g1,s,s1,f,f1;typeC1010;voidprint()inta;for(a=0;a<=top+1;a+)printf("%c",Aa);printf("tt");voidprint1()intj;for(j=0;
7、j<b;j+)printf("");for(j=b;j<=l;j+)printf("%c",Bj);printf("ttt");voidmain()intm,n,k=0,flag=0,finish=0;charch,x;typecha;='E'strcpy,"TG");=T;strcpy,"FS");=2;=2;='G'strcpy,"+TG");=3;='G'0='";=1;='S'
8、;strcpy,"*FS");=3;='S'0='A'=1;='F'strcpy,"(E)");=3;='F'0='i'=1;for(m=0;m<=4;m+)for(n=0;n<=5;n+)Cmn.origin='N'C00=e;C03=e;C11=g;C14=g1;C15=g1;C20=t;C23=t;C31=s1;C32=s;C34=C35=s1;C40=f1;C43=f;printf("提示:本程序只能對(duì)由,'+',
9、'*','(',')'構(gòu)成的以'#'結(jié)束的字符串進(jìn)行分析,n");printf("請(qǐng)輸入要分析的字符串:");doscanf("%c",&ch);if(ch!='i')&&(ch!='+')&&(ch!='*')&&(ch!='(')&&(ch!=')')&&(ch!=#)printf("輸入串中有非法字符
10、n");exit(1);Bj=ch;j+;while(ch!='#');l=j;ch=BO;Atop=#;A+top='E'printf("步驟tt分析棧tt剩余字符tt所用產(chǎn)生式n");dox=Atop-;printf("%d",k+);printf("tt");for(j=0;j<=5;j+)if(x=v1j)flag=1;break;if(flag=1)if(x='#')finish=1;printf("acc!n");getchar();get
11、char();exit(1);if(XHHCh)宀prinpprinfko八pinff(=%c目礙云=ch)八chHB+bkf-agHO八e-se宀prinpprinfko八pHf(=%c圧a云=ch=exioxe-se宀forpA-H4j+)=h(XHHV2曰)宀m=Bbreak八folxjHO八AH5j+)ifohHHs曰)宀衛(wèi)break八chauc3=nkifHN)宀prinpprinfko八pimf(=%ov=-E:codeblockfilestestabcbinIDebugtestabe.exe«,”構(gòu)成的以/護(hù)結(jié)東的字符串進(jìn)彳扮析.4£?8小析棧HEttGTtt
12、GSFSCSI»GS#GT+ttGTttGSFttGG>E<MGg'EKGS>GT#GS>GSFIIGS>GSiHGS>GSttGE>G£F*#GS>G£FltGS>GSlKGS>GSttGS>GttGS>ttGSttG乘!余字符i*d>#i*d>Bi*i>#*i>#ACC輸入(i+i)*i#運(yùn)行結(jié)果如圖所用產(chǎn)主式E->TGT->FSF->ii匹酉己£->AG->+TG匹配T->FSF-XE)t匹配EXTGT->
13、;FS配»FL->mJii>#>tttt!.nJiiA->匹->己A酉AA->匹->->G>尸E:codeblocksfileste戢已bcbinDebugtestabcsexeUaceT6?890tri/=f*析莪9子燙ttEttGT#GSFttGS>E<ttG£>EttGS>GT#GS>GSF#GS>GSdHGS>GS#GS>GttGS>GT+#G£>GTttGS>GSFttGOGSdttG£>GSttGS>CttGS>ttGS#GSF*ttGSFttGSittGSttG剩余字符i>*i«>*itt*lttittttn所用產(chǎn)生式E->IG
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能制造數(shù)據(jù)庫(kù)使用權(quán)授權(quán)與智能制造應(yīng)用合同
- 網(wǎng)絡(luò)游戲虛擬道具設(shè)計(jì)版權(quán)授權(quán)與角色扮演活動(dòng)合作補(bǔ)充協(xié)議
- 寵物醫(yī)療品牌區(qū)域代理授權(quán)及支持合同
- 新能源電池材料首席質(zhì)量官任期制勞動(dòng)合同
- 影視作品音樂版權(quán)電視劇音樂版權(quán)授權(quán)及保護(hù)協(xié)議
- 消防安全責(zé)任主體保證書
- 航空航天領(lǐng)域?qū)I(yè)培訓(xùn)教材編寫與師資培訓(xùn)合同
- 數(shù)據(jù)挖掘工程師項(xiàng)目合作收益分成協(xié)議
- 互聯(lián)網(wǎng)名義合伙經(jīng)營(yíng)合同
- 數(shù)字音樂平臺(tái)影視原聲帶翻唱授權(quán)與分成比例變更合同
- 給水管線改移工程施工方案
- 甲醛車間工藝介紹資料
- 中小學(xué)生心理健康診斷測(cè)驗(yàn)MHT(附測(cè)試量表及評(píng)分細(xì)則)
- GB/T 10612-2003工業(yè)用篩板板厚
- XBRL原理及四步法課件
- 中醫(yī)治未病課件
- 房建技術(shù)員施工員考試參考題庫(kù)(含各題型)
- 建筑物理-采光設(shè)計(jì)課件
- DB32-T 2355-2022 綜合交通建設(shè)試驗(yàn)檢測(cè)用表編制規(guī)范(修)
- 八年級(jí)體育教案(全冊(cè))
- 2022新高考卷小說(shuō)《江上》 答案+評(píng)點(diǎn)
評(píng)論
0/150
提交評(píng)論