編譯原理報(bào)告二LR分析器_第1頁(yè)
編譯原理報(bào)告二LR分析器_第2頁(yè)
編譯原理報(bào)告二LR分析器_第3頁(yè)
編譯原理報(bào)告二LR分析器_第4頁(yè)
編譯原理報(bào)告二LR分析器_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

一、目的和規(guī)定1LL(1)①算術(shù)體現(xiàn)式中變量名能夠是普通標(biāo)記符,還可含普通常數(shù)、數(shù)組元素、函數(shù)調(diào)②除算術(shù)體現(xiàn)式外,還可擴(kuò)充足析布爾、字符、位等不同類(lèi)型的多種體現(xiàn)式。③ LR(K)“移進(jìn)-歸約”辦法。k(k0)邏輯構(gòu)成:總控程序+LR分析表LRLR分析器實(shí)際是一種帶先進(jìn)后出存儲(chǔ)器(棧)的擬定下推自動(dòng)機(jī),它由一種輸入助于明確歸約手續(xù),我們把已歸約出的文法符號(hào)串也同時(shí)放進(jìn)棧里。LR分析器的每一動(dòng)作LRACTION(Sm,ai)規(guī)定的動(dòng)作,直至分析成功或失敗。LRACTIONGOTO。ACTION[S,a]Sa時(shí)應(yīng)當(dāng)采用的動(dòng)作:1S,yS以及目前符號(hào)入棧。234GOTO[S,U]SLRLRLR分析器的工作過(guò)程是由總控程序根據(jù)分析表,使得分析器構(gòu)型從一種構(gòu)型向另一種構(gòu)型變化的過(guò)程。初始構(gòu)型:(S0,a1a2…an$,S0為分析器的初態(tài),$為輸入串的括號(hào)。:(S0X1S1…XmSm,aiai+1…an$分析器的下一次動(dòng)作是由棧頂狀態(tài)Sm和目前輸入符號(hào)ai所唯一擬定的,即:執(zhí)行(S0X1S1…XmSmaiS,ai+1…an$”S=GOTO(Sm-r,A),|β|=r、若LR(·IGCLOSURE(I)的規(guī)則以下:1ICLOSURE(I);2A→α·BβCLOSURE(I)BB→γ,→·γ構(gòu)成識(shí)別一種文法活前綴的DFA的項(xiàng)目集(狀態(tài))的全體稱為這個(gè)文法的LR(0)項(xiàng)目13CLOSUREgotoFA即為所求。項(xiàng)目集I的閉包IGCLOSURE(I)的規(guī)則以下:1ICLOSURE(I);2A→α.BβCLOSURE(I)BB→γ,B→LR(0)2LR(0)1A→α.aβ∈Iigoto(Ii,a)=Ij,aACTION[i,a]=“ja移進(jìn)?!保?jiǎn)記為2若項(xiàng)目A→α.∈Ii,則對(duì)于任何輸入符a或結(jié)束符$置ACTION[i,a]=“用產(chǎn)生式 α進(jìn)行歸約”,簡(jiǎn)記為“rj”(假定A→α是文法G’的第j條產(chǎn)生式);3S’→S.IiACTION[i,$]=“接受”,簡(jiǎn)記為4goto(I,A)=Ij,A514ERRORLRipw#是是否action[s,a]=reduceA-是否是否生式A->βips是狀態(tài)棧棧頂,程序輸入/LR(1)(1)E-(2)E->E—(3)T-(4)T-10#(3)輸入符號(hào)串為非法符號(hào)串(或者為正當(dāng)符號(hào)串在“所用產(chǎn)生式”一列中如果對(duì)應(yīng)有推導(dǎo)則寫(xiě)出所用產(chǎn)生式;如果為匹配終止符則*/如果碰到錯(cuò)誤的體現(xiàn)式,應(yīng)輸出錯(cuò)誤提示信息(該信息越具體越好;LR(1)LR(1)(char*action[10][3]={"S3#","S4#",NULL,NULL,NULL,"acc","S6#","S7#",NULL,"r3#","r3#",NULL,NULL,NULL,"r1#","S6#","S7#",NULL,NULL,NULL,"r3#","r2#","r2#",NULL,intgoto1[10][2]={1,2, 0,0,char charchar*LR[4]={"E->S#","S->BB#","B->aB#","B->b#"};/*寄存產(chǎn)生式intcharintvoidmain(){intg,h,i,j,k,l,p,y,z,count;charx,copy[10],copy1[10];printf("環(huán)節(jié)\t狀態(tài)棧\t\t符號(hào)棧\t\t輸入串do{y=z;m=0;n=0; /*y,z指向狀態(tài)棧棧頂*/g=top;j=0;k=0;x=c[top];count++; m=m+1; n=n+1; }while(x!=vt[j]&&j<=2)j++;{}{}strcpy(copy,action[y][

溫馨提示

  • 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)論