龍書第5,6章課后答案.doc_第1頁
龍書第5,6章課后答案.doc_第2頁
龍書第5,6章課后答案.doc_第3頁
龍書第5,6章課后答案.doc_第4頁
龍書第5,6章課后答案.doc_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

5.1.11)、2)、Lval=4723)、5.2.31)、i)、不滿足S屬性的定義ii)、滿足L屬性的定義iii)、存在一致的求值過程2)、i)、不滿足S屬性的定義ii)、滿足L屬性的定義iii)、存在一致的求值過程3)、i)、滿足S屬性的定義ii)、滿足L屬性的定義iii)、存在一致的求值過程4)、i)、不滿足S屬性的定義ii)、不滿足L屬性的定義iii)、不存在一致的求值過程5.2.4Val為S或L對應的值;Len表示L對應的長度;產(chǎn)生式語義規(guī)則S-L1.L2S.val = L1.val +L2.val/2L2.lenS-LS.val = L.valL-L1BL.val = L1.val*2 + B.val;L.len = L1.len + 1;L-BL.val=B.val;L.len = 1;B-0B.val=0B-1B.val=15.3.11)、產(chǎn)生式語義規(guī)則E-E1+TIf( (E1.type = int ) and ( T.type =int )E.type = int;ElseE.type = real;E-TE.type = T.typeT-num.numT.type = realT-numT.type = int2)、產(chǎn)生式語義規(guī)則E-E1+TIf( (E1.type = int ) and ( T.type =int )E.type = int;ElseE.type = real;If(E1.type = real ) and ( T.type =int )T.val = intToFloat(T.val);Else If(E1.type = int ) and ( T.type =real )E1.val = intToFloat( E1.val);E.val = E1.val | T.val | +E-TE.type = T.type; E.val = T.val;T-num.numT.type = real;T.val = num.numreal.lexval;T-numT.type = int;T.val = intnum.lexval;5.4.41)、S-if(C)S1 else S2;CB.true = newlabel();CB.false = newlabel();S1.next = S2.next = S.next;S.code = BC.code | label(BC.true ) | S1.code |gen(gotoS.next)|label(BC.false)|S2.code2)、S-do S1 while (C)begin = newlabel();C.false = S.next;C.true = begin;S.code = label(begin) | S1.code | cC.true | gen(goto,begin );3)、?S-LLL1SLL.next=S.next;L1.next = newlabel();S.next=L.next;L.code=l1.code|label(L1.next)|S.code6.1.1 +- * + - X y 6.1.21)、子表達式的值編碼如下:a兩個字表達式的值編碼:1b:1a+b:3a+b+(a+b):4都為3;2)、子表達式的值編碼如下:a:1b:1a+b的值編碼為3,a+b+a的值編碼為4,a+b+a+b的值編碼為5;3)、子表達式的值編碼如下:a:1a+a:2a+a+a:3 (a+a+a+a)的值編碼為:46;(a+a+a+(a+a+a+a)的值編碼為:57;a+a的值編碼為3;a+a+(a+a+a+(a+a+a+a)的值編碼為686.2.11)、抽象語法樹 + a minus + b c2)、四元式序列 Oparg1arg2Result0+bct11minust1t22+at2t33)、三元式序列Oparg1arg20+bC1minus(0)2+a(1)4)、間接三元式Oparg1arg20+bC1minus(0)2+a(1)Instruction0(0)1(1)2(2)6.3.1float x;x類型為浮點型;相對地址為0;record float x; float y; p;p為記錄類型,x和y為浮點型;x相對地址為0;y相對地址為8;record int tag;float x; float y; q;q為記錄類型,tag為整型,x和y為浮點型;tag的相對地址為0;x的相對地址為4;y的相對地址為12;6.4.31)、t1 = i * 4;t2 = a t1 ;t3 = j * 4;t4 = b t3 ;t5 = t2 + t4; x = t5;2)、注:三地址碼中不支持連乘Tt01= i*n*4; t1= t0*4;t2= j*4;t3= t1+t2;t4= at3;t5= i*qt51=t5t5= i*q*4;t6= j*4;t7= t51+t6;t8= bt7;t9= t7+t8;x= t9;3)、t0= i*qt1 =t0 i*q*4;t2 = j*s4;t3 = t1 + t2;t4 = b t3 ;t5 = k*4;t6 = ct5;t7 = t4*nt71=t7t7 = t4*n*4;t8 = t6 * 4;t9 = t71 +t8;t10 = at9;x = t10;6.4.61)、一行的寬度w1為80;所以A4,5的地址為 80 * 3 + 4 * 4 = 256;2)、A10,8的地址為9 * 80 + 7 * 4 = 748;3)、A3,17的地址為2 * 80 + 16 * 4 = 224;6.6.41)、ifFalse a=b goto L3;if c=d goto L2;L3: ifFalse e=f goto L1;L2: x=1;L1:2)、if a=b goto L2;if c=d goto L2;ifFalse e=f goto L1;L2: x=1;L1:3)、ifFalse a=b goto L1;ifFalse c=d goto L1;ifFalse e=f goto L1;L1:6.7.11)、表達式被翻譯為:100:if a=b goto 102101: goto_102:if c=d goto_103: goto 104104:if e=f goto_105: goto_2)、表達式被翻譯為:100:if a=b goto_101: goto 102102:if c=d

溫馨提示

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

評論

0/150

提交評論