遞歸下降分析法_第1頁
遞歸下降分析法_第2頁
遞歸下降分析法_第3頁
遞歸下降分析法_第4頁
遞歸下降分析法_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、編譯原理實(shí)驗(yàn)報(bào)口日期:班級:v.,;。題目:組員:一一、實(shí)驗(yàn)?zāi)康?根據(jù)某一文法編制遞歸下降分析程序?以便對任意輸入的符號串進(jìn)行分析。.本次實(shí)驗(yàn)的目的是加深對遞歸下降分析法的理解,二、實(shí)驗(yàn)平臺Windows+VC+Win32Console范例程序:“2:遞歸下降.c ”三.、實(shí)驗(yàn)內(nèi)容1.在范例程序的基礎(chǔ)上完善功能j,一99q%對下列文法,用遞歸下降分析法對任意輸入的符號串進(jìn)行分析:iTG3+T(S|-TQGAeFSST*FS|/FSSTFT(E)C8)FTi程序輸入/輸出示例.:程序現(xiàn)有功能;輔隊(duì)一個(gè)以雌束的符號串(鈿塢+*c)i#);例如ki鋅輸出:詳細(xì)的分析步驟,包括每一步使用的產(chǎn)生式、已分

2、析過的串,當(dāng)前分析字符,剩余串分析結(jié)果:accept或者error(3)推導(dǎo)序列需要完善的功能:(1)示例程序只能完成+、(、,)的語法分析,請加入-和/的語法分析.一.rT1(2)請將示例程序輸出的推導(dǎo)序列中的推導(dǎo)符號由改為=備注;(1)如果遇到錯(cuò)誤的表達(dá)式,應(yīng)輸出錯(cuò)誤提示信息(可以盡量詳細(xì))例如:輸入一符號串如i+r#,要求輸出為“非法的符號串2.對一個(gè)新的文法實(shí)現(xiàn)遞歸下降分析2四、程序代碼*之includeincludeincludeincludechara50,b50,d200,e10;charch;.intn1,i1=0Fflag=1,n=6;intE();intE1();EmT()

3、;intG();intS();intFQ;voidinput。;voidinput1();voidoutput();/=voidmain()/*遞歸分析intf,p,j=O;charx;dO=E;d2=td3H:d4=T;d5=G;d6=#kprintf(請輸入字符串(長度50,以#號結(jié)束)n);doscanf(H%cw,&ch);aj=ch;j+;while(ch!=T);n1=j;ch=b0=a0;printfC文法t分析串tt分析字符t剩余串n);f=E1();if(f=0)return;if(ch=#)(printf(,acceptnn);p=O;x=dp;whil(xl=#)TGt)

4、;flag=1;input。;input1();f=T();if(f=0)return(O);t=G():if(t=0)return(O);elsereturn;/=intE()intftt;printf(HE-TGr);e0=,Ee1=;e2=,;e3=Te4=Ge5=T;output();flag=1;input。;input1();f=T();if(f=0)retum(O);t=G();if(t=O)return(O);elsereturn(1);I/=intT()intf,t;printf(nPFSr);e0=T;e1;e2kr,;e3=u;e4=F5KS;e6k#;outputQ;f

5、lag=1;input。;pinput1();f=F();if(f=O)return(O);t=S();if(t=O)return(0);elsereturn;/=intG()intf;if(ch=,+,)bi1=ch;printf(,G-+TGr);,&e0G冷1=E;e2=、;e3=;e4=*;e5=T;e6JG,7=#;output。;flag=0;input();input1();ch=a+i1;f=T();if(f=O)return(O);G();return(1);)elseif(ch=,J):(bi1=ch;printf(G-TGt);e0=G;e1=;e2=;e3:e4=;e5

6、=T;e6=G;e7=#;output。;flag=0;input();input1();ch=a+i1;f=T();if(f=0)return(0);G();return(1);cyprintfCG-AT);e回JG1;=*2=河3H:e4=FA-占#1;gutput。;flag=irinput();input1();return(1);I/=:=int,:tintf5t;if(ch=*)bi1=ch;printf(nS-*FSr);e0=0間1=e饞=;,洌3同4=叫35=F;e6=S;e7=#;QUtputO;flag=O;input();input1();ch=a+i1;f=F();i

7、f(f=0)return(0);t=S();if(t=0)return(0);elsereturn(1);-elseif(ch=7Jbi1=ch;printf(“S/FSt);e0=FS;e1=,=,;e2=,;e3=,-e4=7;e5=T,;e6=Se7=T;output();flag=0;input();input1();Hch=a+i1;f=F();if(f=0)return(0);t=so;if(t=0)return(0);elsereturn(1);printf(nS-Atr,);e0=S;e1=;e2金;e3=;e4=w;e5=#;output();flag=1;ai1=ch;in

8、put();input1();return(1);1/一一一,)二云s*,*I8intF()intf;if(ch=T)-1=011加廿(午,(日沙);過0月巳1卜,;62卜嫄冏1日3卜弋64=,同5二7間7卜肥output();flag=O;input();input1();ch=a+i1;f=E();ifg=0)eturn(O);if(ch=y)bi1=ch;printf(HF-(E)t,)-flag=0;input();input1();ch=a+i1;relseprinlfferroryn);return(O);)1elseif(ch=T)bi1=ch;printfCF,N);e0=(F

9、l;e1=,;e2=;e3=,;e4=i,;e5=,#r;output();*flag=0;input();input1();ch=a+i1;elseprintf(nerrorn);return(0);)return(l);=二二二二voidjnput()tintj=0;for(;j!;dn+2=dn+3=#r;n=n+3;i=n;i=i-2;while(d昨,&i!=0)i=i-1;Hu十八wlu=cJ(dzTrft-ofiiL+1AT:4?qn.A3.uqAkn(AKr罕至1號K-34VI;A耳丁丹縣)(d&Hd-mmlmx八ns+-d二0H-#卜0r手6l小mu-#十1,【d-XHue-E-口阜一AkwktAwrD.n-.Ju-O.#Tfl-XJ-Id-.!-Hd.,i-Ani-吉k專Td,-tfn,#Bil一tfj.(wF*wPRG-iSG-i/rKG-/iSG-i*CJ-*舸一回5、測|試.i+i*i#;R:in W S 訐4葉 反法 分護(hù)星 p-IG k rs f-M1B-*1C-*TG1r-pslF iiiii-|-11*1*1B-*11*10一八iiinncrpt卜1G= FWO4尸8.IN葉乃甲分析字符iIIn士SG- i m A *1GO下市品1-11i,i EHiSitFSG= if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論