翻譯while生成四元式_第1頁(yè)
翻譯while生成四元式_第2頁(yè)
翻譯while生成四元式_第3頁(yè)
翻譯while生成四元式_第4頁(yè)
翻譯while生成四元式_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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:語(yǔ)法制導(dǎo)翻譯下列語(yǔ)句為四元式形式:whilex<ydoifa>bthenx:=x+1elsex:=y法制導(dǎo)翻譯生成四元式過(guò)程如下:語(yǔ)法制導(dǎo)翻譯生成四元棧內(nèi)容語(yǔ)義規(guī)則(生成四元式)棧內(nèi)容語(yǔ)義規(guī)則(生成四元式)輸入串#whileM1 x<ydoifa>bthenx:=x+1elsey:=x#M1?quad=100P195產(chǎn)生式(3)#whileM1x<y doifa>bthenx:=x+1elsey:=x##whileM1E1 doifa>bthenx:=x+1elsey:=x#100(j<,x,y,0)E1?f_l=101; 101(j,_#whileM1E1doM2112M2?quad=102P195產(chǎn)生式#whileM1E1doM2ifa>b112#whileMEdoMifE1122102(j>,a,b,0)103(j,_,_,0)

( E1.t_l=1000)ifa>bthenx:=x+1elsey:=x#3)thenx:=x+1elsey:=x#thenx:=x+1elsey:=x#(E2.t_l=102;E2?f_l=103;elsey:=x#elsey:=x#y:=x#y:=x##elsey:=x#elsey:=x#y:=x#y:=x####x:=x+1elsey:=x#咖昨呻進(jìn)E2thenM3M3?quad=104 P195產(chǎn)生式(3)x:=x+1elsey:=x##whileM1E1doM2ifE2thenM3x:=x+1 elsey:=x#104(+,x,1,T)105(:=,T,_,x)#whileMEdoMifEthenMSTOC\o"1-5"\h\z11 2 2 31S1.nextlist='A'#whileM1E1doM2ifE2thenM3S1N11 2 2 31N?nextlist=106106(j,_,_,0)#whileM1E1doM2ifE2thenM3S1Nelse11 2 2 31P195產(chǎn)生式(2)#whileM1E1doM2ifE2thenM3S1NelseM411 2 2 31 4M4?quad=107 P195產(chǎn)生式(3)#whileM1E1doM2ifE2thenM3S1NelseM4y:=x#whileM1E1doM2ifE2thenM3S1NelseM4S211 2 2 31 42107(:=,x,_,y)S2.nextlist='A'#whileM1E1doM2S311 23P195產(chǎn)生式(1)backpatch(E2?t_l,M3.quad)使102(j>,a,b,104)backpatch(E2.f_l,M4?quad)使103(j,_,_,107)S3.nextlist=(S1.nextlist,N.nextlist,S2.nextlist)使S3.nextlist=106#S

P195產(chǎn)生式(5)backpatch(S3.nextlist,Ml.quad)使106(j,_,_,1。。)backpatch(E1?t_l,M2?quad)使1。。(jv,x,y,W2)S?nextlist:=E1.f_l=101使S?nextlist:=E1.f_l=101使_,_,M1?quad)使D8(j,_,_,W))v,x,y,102),_,_,W9)?)2(v,x,y,102),_,_,W9)?)2(j>,a,b,104)(j,_,_,W7)」(+,x,1,T))3)4)5(:=,T, x))6(j,_,_,ioo)?E2?cod、S1.codeS.codewhilexvydoifa>bthenx:=x+1elsey:=xwhileif]else)7(:=,x,_,y)}S2?code)71)8(j,_,_,W)) ’1L例2:語(yǔ)法制導(dǎo)翻譯下列語(yǔ)句為四元式形式:whileavbdoifcv5thenwhilex>ydoz:=x+1elsex:=y解:語(yǔ)法制導(dǎo)翻譯生成四元式過(guò)程如下:語(yǔ)法制導(dǎo)翻譯生成四元式棧內(nèi)容輸入串

棧內(nèi)容ifc<5else…#M2.quad=102thenwhilex>ydoz:=x+1P195ifc<5else…#M2.quad=102thenwhilex>ydoz:=x+1P195產(chǎn)生式(3)#whileM1E1doM2ifc<5else…#thenwhilex>ydoz:=x+1#whileM1z:=x+1…#a<bdoifc<5thenwhilex>ydoM1?quad=100P195產(chǎn)生式(3)#whileMa<b1doifc<5thenwhilex>ydoz:=x+1else…##whileME11doifc<5thenwhilex>ydoz:=x+1else…#100(j<,a,b,0)( E1.t_l=100 ;E1?f_l=101;101(j,_,_,0)#whileM1E1doM2ifE2 thenwhilex>ydoz:=x+1elsex:=y#102(j<,c,5,0)(E2.t_l=102;E2.f_l=103;)103(j,_,_,0)#whileM1E1doM2ifE2thenM3 whilex>ydoz:=x+1elsex:=y#M3?quad=104 P195產(chǎn)生式(3)#whileM1E1doM2ifE2thenM3whileM4 doz:=x+1elsex:=y#M4?quad=104 P195產(chǎn)生式(3)#whileM1E1doM2ifE2thenM3whileM4x>ydoz:=x+1else

#whileMEdoMifEthenMwhileMEdoz:=x+1else1122343x:=y# (E3?t_l=104;E3?f_l=105;)#whileMEdoMifEthenMwhileMEdoMz:=x+1elseTOC\o"1-5"\h\z11 2 2 3 43 5x:=y# M5?quad=106 P195產(chǎn)生式(3)#whileMEdoMifEthenMwhileMEdoMz:=x+1else11 2 2 3 43 5x:=y# 106(+,x,1,T)107(:=,T,_,z)#whileM1E1doM2ifE2thenM3whileM4E3doM5S1 else11 2 2 3 43 51x:=y# S1.nextlist='A'#whileM1E1doM2ifE2thenM3S2 else11 2 2 32x:=y# 108(j,_,_,104)因M4.quad=104S1.nextlist為空,不需回填。backpatch(E3?t_l,M5?quad)使104(j>,x,y,106)S2.nextlist:=E3.f_l=105#whileM1E1doM2if E2thenM3S2N11 2 2 32elsex:=y# N.nextlist=109109(j,_,_,0)#whileM1E1doM2if E2thenM3S2NelseM511 2 2 32 5x:=y# |M5.quad=110P195產(chǎn)生式(3)#whileM1E1doM2if E2thenM3S2NelseM5x:=y# 110(:=,x,_,y)S3.nextlist='A'#whileM1#whileM1E1doM2if#E2thenM3S2NelseM5S3#whileM1E1doM2S4backpatch(E2?t_l,M3?quad)使102(j<,c,5,104)backpatch(E2.f_l,M5?quad)使103(j,_,_,110)S4.nextlist=(S2.nextlist,N.nextlist,S3.nextlist),使109(j,_,_,105)S4.nextlist=109#S #P195產(chǎn)生式(5)backpatch(S4.nextlist,M1?quad)使 109(j,_,_,100)105(j,亠,100)backpatch(E1?t_l,M2?quad)使 100(j<,a,b,102)S.nextlist:=E1?f_l=101可使 101(j,_,_,112)111(j,_,_,M1?quad)即使111(j,_,_,100)對(duì)上述過(guò)程形成的結(jié)果,按從后往前順序依次寫出各四元式,得翻譯結(jié)果如下:100(j<,a,

溫馨提示

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