《編譯原理》(陳火旺版)課后作業(yè)參考答案ch6-10_第1頁(yè)
《編譯原理》(陳火旺版)課后作業(yè)參考答案ch6-10_第2頁(yè)
《編譯原理》(陳火旺版)課后作業(yè)參考答案ch6-10_第3頁(yè)
《編譯原理》(陳火旺版)課后作業(yè)參考答案ch6-10_第4頁(yè)
《編譯原理》(陳火旺版)課后作業(yè)參考答案ch6-10_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

第6章屬性文法和語(yǔ)法制導(dǎo)翻譯7.下列文法由開(kāi)始符號(hào)S產(chǎn)生一個(gè)二進(jìn)制數(shù),令綜合屬性val給出該數(shù)的值:S→L.L∣LL→LB∣BB→0∣1試設(shè)計(jì)求S.val的屬性文法,其中,已知B的綜合屬性c,給出由B產(chǎn)生的二進(jìn)位的結(jié)果值。例如,輸入101.101時(shí),S.val=5.625,其中第一個(gè)二進(jìn)位的值是4,最后一個(gè)二進(jìn)位的值是0.125?!敬鸢浮慨a(chǎn)生式語(yǔ)義規(guī)則{S.val:=L1.val+L2.val*2-L2.length}S→L1.L2S→L{S.val:=L.val}{L.val:=L1.val*2+B.val;L.length:=L1.length+1}L→L1B{L.val:=B.val;L.length:=1}L→BB→0B→1{B.val:=0}{B.val:=1}11.設(shè)下列文法生成變量的類型說(shuō)明:L→idLL→,idL∣:TT→integer∣real(1)構(gòu)造一下翻譯模式,把每個(gè)標(biāo)識(shí)符的類型存入符號(hào)表;參考例6.2。【答案】產(chǎn)生式語(yǔ)義規(guī)則{S.val:=L1.val+L2.val*2-L2.length}L→idL1L→,idL1L→:T{S.val:=L.val}{L.val:=L1.val*2+B.val;L.length:=L1.length+1}{L.val:=B.val;L.length:=1}T→integerT→real{B.val:=0}第7章語(yǔ)義分析和中間代碼產(chǎn)生1.給出下面表達(dá)式的逆波蘭表示(后綴式):【答案】原式后綴式(1)a*(-b+c)ab-c+*(2)a+b*(c+d/e)abcde/+*+a-bc-d+*+(3)–a+b*(-c+d)(4)notAornot(CornotD)(5)(AandB)or(notCorD)AnotCDnotornotorABandCnotDoror(6)(AorB)and(CornotDandABorCDnotEandorandE)(7)if(x+y)*z=0then(a+b)↑c(diǎn)elsea↑b↑c(diǎn)ifxy+z*0=thenab+c↑elseab↑c(diǎn)↑3.請(qǐng)將表達(dá)式-(a+b)*(c+d)-(a+b+c)分別表示成三元式、間接三元式和四元式序列?!敬鸢浮咳?1)(2)(3)(4)(5)(6)(7)+ab-(1)c/+d*++(2)a(3)b(5)(4)c-(6)四元式(1)(2)(3)(4)+abT1T2T3T4-T1/+cd*T2T3(5)(6)(7)++abcT5T6T7T5-T4T6間接三元式(1)(2)(3)(4)(5)(6)+ab-(1)c/+d*(2)(1)(4)(3)c+-(5)間接碼表:(1)→(2)→(3)→(4)→(1)→(5)→(6)4.按7.3節(jié)所說(shuō)的辦法,寫(xiě)出下面賦值句A:=B*(-C+D)的自下而上語(yǔ)法制導(dǎo)翻譯過(guò)程。給出所產(chǎn)生的三地址代碼。四元式(1)(2)(3)(4)uminusc/DT1T2T3A+*T1BT2:=T3/【答案】5.按照7.3.2節(jié)所給的翻譯模式,把下列賦值句翻譯為三地址代碼:A[i,j]:=B[i,j]+C[A[k,l]]+d[i+j]【答案】中間代碼中間代碼(1)T1:=i*NA2(13)(14)(15)(16)(17)(18)(19)(20)(21)(22)(23)(24)T10:=WA*T8T11:=T9[T10]T12:=C-Cc(2)T1:=T1+j(3)T2:=A-CAT3:=WA*T1T4:=i*NB2T4:=T4+j(4)T13:=Wc*T11T14:=T12[T13]T15:=T7+T14T16:=i+j(5)(6)(7)T5:=B-CBT6:=WB*T4T7:=T5[T6]T8:=k*NA2T8:=T8+l(8)T17:=d-Cd(9)T18:=Wd*T16T19:=T17[T18]T20:=T15+T19T2[T3]:=T20(10)(11)(12)T9:=A-CA6.按7.4.1和7.4.2節(jié)的翻譯辦法,分別寫(xiě)出布爾式Aor(Bandnot(CorD))的四元式序列。【答案】用作數(shù)值計(jì)算時(shí)產(chǎn)生的四元式:用作條件控制時(shí)產(chǎn)生的四元式:四元式(1)(2)(3)(4)ornotandorCT1BDT1T2/T2T3T3T4A四元式四元式(1)(jnz,A,-,0)(5)(jnz,C,-,(4))(j,-,-,(7))(2)(3)(4)(j,-,-,(3))(jnz,B,-,(5))(j,-,-,0)(6)(7)(8)(jnz,D,-,(5))(j,-,-,(1))其中:右圖中(1)和(8)為真出口,(4)(5)(7)為假出口。7.用7.5.1節(jié)的辦法,把下面的語(yǔ)句翻譯成四元式序列:WhileA<CandB<DdoifA=1thenC:=C+1elsewhileADdoA:=A+2;【答案】四元式四元式(1)(2)(3)(4)(5)(6)(7)(8)(j<,A,C,(3))(9)(j,-,-,(1))(j,-,-,0)(10)(11)(12)(13)(14)(15)(j,A,D,(12))(j,-,-,(1))(j<,B,D,(5))(j,-,-,0)(+,A,2,T2)(:=,T2,-,A)(j,-,-,(10))(j,-,-,(1))(j=,A,1,(7))(j,-,-,(10))(+,C,1,T1)(:=,T1,-,C)第9章運(yùn)行時(shí)存儲(chǔ)空間組織4.下面是一個(gè)Pascal程序:pro

溫馨提示

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