編譯原理陳火旺版課后作業(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è)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 屬性文法和語(yǔ)法制導(dǎo)翻譯第6章 val給出該數(shù)的值:7. 下列文法由開(kāi)始符號(hào)S產(chǎn)生一個(gè)二進(jìn)制數(shù),令綜合屬性 SL LLBB 例如,B產(chǎn)生的二進(jìn)位的結(jié)果值。B試設(shè)計(jì)求的屬性文法,其中,已知的綜合屬性c, 給出由 4,最后一個(gè)二進(jìn)位的值是。輸入時(shí),=,其中第一個(gè)二進(jìn)位的值是 【答案】語(yǔ)義規(guī)產(chǎn)生 := + *2 SL. L21 := SL :=*2+; LBL1 L. length:= +1 :=; LB L. length:= 1 B0 := 0 :=1 B1 11. 設(shè)下列文法生成變量的類(lèi)型說(shuō)明: L id L L, id L:T (1) 構(gòu)造一下翻譯模式,把每個(gè)標(biāo)識(shí)符的類(lèi)型存入符號(hào)表;參考例。

2、 【答案】 產(chǎn)生式 語(yǔ)義規(guī)則 := + *2 id LL1 , id LL := 1 :=*2+ :L. length:= +1 := integeL. length:= 1 := 0 T real 語(yǔ)義分析和中間代碼產(chǎn)生7章 第 :1. 給出下面表達(dá)式的逆波蘭表示(后綴式) 【答案】 后綴原 ab-c+*(1) a*(-b+c) abcde/+*+(2) a+b*(c+d/e) a-bc-d+*+(3) a+b*(-c+d) (4) not A or not (C or not D)A not C D not or not or (5) (A and B) or (not C or D) A

3、 B and C not D or or(6) (A or B) and (C or not D and A B or C D not E and or and E) (7) if (x+y)*z=0 if xy+z*0= then ab+c then (a+b)c else abcelse ab c 3. 請(qǐng)將表達(dá)式(a+b)*(c+d)-(a+b+c)分別表示成三元式、間接三元式和四元式序列。 【答案】 三元式 (1 b a + ) (1(四元間接三元式 T(+(+)T(T(1( (3(2)T(c()TTT(2(3)碼(5():T(1(+(1(6(4()(2)(TT(4(5( (3) )

4、) (6)(1)(5)(4) T7(7 T4 T6的C+D) 面賦值句4. 按節(jié)所說(shuō)的辦法,寫(xiě)出下A:=B*( )程。給出所產(chǎn)生的三地址代自下而上語(yǔ)法制導(dǎo)翻譯過(guò) 碼。 【答案】 四元式 T1c (1uminus ) D T2(2+ T1 ) T3B T2 *(3 譯模式,把下列賦值句翻按照7.3.2節(jié)所給的翻5. ) 譯為三地址代碼: AT3:=(4 i, j + CA k, l + d Ai, j:=B ) i+j 【答案】 中間代中間代 *:=:=i*(13(1A11 (14:=+:=(2111(3:=A-(15:=C-C1A:=*(4(16:=*113 :=i* (17:=(5111B2

5、 + :=+:=(18(6115(7:=i+(19:=B- 15*:=(8:=d-(2017 :=:=*(21(911d (10)(22) :=T T T:=k* N T A21819178 (11) T + TT(23) :=T:=T +l81982015和節(jié)的翻譯辦法,按7.4.16. :=TTT(12)T :=A-C(24) A20923A or ( B and 分別寫(xiě)出布爾式 not (C or D) )的四元式序列。 【答案】 用作條件控制時(shí)產(chǎn)生的四元式: 用作數(shù)值計(jì)算時(shí)產(chǎn)生的四元式: 四元式 or C (1 DT1 ) not T(2 T21 ) (3B and TT32 ) (o

6、四元四元( jnz, C, -, (4)jnz,(1A,-,(5)0 )為真出口,和(8)其中:右圖中(1( j, -, -, (7)-,(3)(6(2(j,-, 為假出口。(4)(5)(7( jnz, D, -, (5)B,-,(7(3(jnz, 把下面的語(yǔ)句節(jié)的辦法,7. 用7.5.(5) 翻譯成四元式序列: (8) ( j, -, -, (1)(4) ( j, -, -, 0 ) While AC and BD do if A=1 then C:=C+1 D do else while A A:=A+2; 【答案】 四元式 四元式 ( j, -, -, (1) (9)(1) (j, A,

7、 C, (3)( j, A, (10)(2) ( j, -, -, 0) D,(12) (3) (j, B, D, (11) ( j, -, -, (1) (5)(4) ( j, -, -, 0 ) (12) (+, A, 2, T ) 2(:=,T1, (13) (5) , -, A ) (j=, A, 2 (7)(6) ( j, -, -, (14) ( j, -, -, (10) (10) )(7) (+, C, 1, T ( j, -, -, (1) (15) )1 , -, C ) (:=,T(8) 1 運(yùn)行時(shí)存儲(chǔ)空間組織章第9 程序:4. 下面是一個(gè)Pascal program P

8、P (input, output); VAR k: integer;(n:integer):integer FUNCTION F begin if n=0 then F:=1 else F:=n*F(n-1); end; DISPLAY的內(nèi)容是什么當(dāng)時(shí)整個(gè)運(yùn)行棧的內(nèi)容是什么遞歸地) 進(jìn)入F后,當(dāng)?shù)诙? 【答案】 后,運(yùn)行棧的內(nèi)容:次進(jìn)入F后,運(yùn)行棧的內(nèi)容: 第2次進(jìn)入第1F 17 114 10 0 9 0 16 F次2第F 15 n(8 形參n(形參) 形參個(gè)數(shù)7 14 ) 1(形參個(gè)數(shù))1( 13 全局2(6 display)9(全局display) 12 5 返回地址 返回地址 P主程序

9、 F次1第 04 411 k3 410 0(display)2 90 形參)1 n(8 返回地址 P主程序 1( 7 0形參個(gè)數(shù)) 0 6 2(全局display) 返回地址 5 04 k 20(display 1返回地 0 0 第2次進(jìn)入F后,Display內(nèi)容為: 11 0 5. 對(duì)如下的Pascal程序,畫(huà)出程序執(zhí)行到(1)和(2)點(diǎn)時(shí)的運(yùn)行棧。 program Tr (input, output); VAR i: integer; d: procedure B; VAR c: char; Begin (1) end; B procedure C; VAR t: real; Begin

10、(2) end; C Begin B; 【答案】 運(yùn)行到(1) 時(shí)的運(yùn)行棧:(靜態(tài)鏈) 運(yùn)行到(2) 時(shí)的運(yùn)行棧:(靜態(tài)鏈) 15 10形參個(gè)0形參個(gè) 14 1 13 1返回地返回地址 1212 11 1 1010k形k形 91形參個(gè)1形參個(gè) 88TT0 77 返回地址 返回地址 66 0 0 55 d d 4 4 【答案】i i 33時(shí)的運(yùn)運(yùn)行到(1) 行棧: 0 0 2 2表) Display運(yùn)行( 返回地址返回地址 11運(yùn)行時(shí)的到(2) 棧: 00 00 表)Display( c 20 1913 185 B 017 20t 0形參個(gè))11319 全display10(15 518C 返回

11、地址14 170 510形參個(gè))16 12p10全display)15 511返回地址14010 13 9k形參 12)81形參個(gè) 511display2(7全010 6返回地)9k形參 051形參個(gè) d47display2全局有如下意Pascal6. 3i6返回地 源程序,并知在運(yùn)行0(display 2 5刻,以過(guò)程單位對(duì)程返回地 1 中的變量行動(dòng)態(tài)存0 分配。當(dāng)運(yùn)主程序而調(diào)0(display 2用過(guò)程語(yǔ)句X時(shí),試分別給出以下時(shí)刻的行棧的內(nèi)容 返回地址和Display的內(nèi)容。 00(1) 句; 已開(kāi)始而尚未執(zhí)行完畢標(biāo)號(hào)為10的語(yǔ)(2) 已開(kāi)始而尚未執(zhí)行完畢標(biāo)號(hào)為11的語(yǔ)句; program

12、 main; VAR a, b, c: integer; procedure X ( i, j: integer); X VAR d, e: real; procedure Y; Y VAR f, g: real; Begin 10: Y; 11: Z; end; X 【答案】運(yùn)行到標(biāo)11時(shí),運(yùn)行棧的內(nèi)容: (2)時(shí),運(yùn)行棧的內(nèi)容 10(1) 運(yùn)行到標(biāo)號(hào)26 j 25 i Z 24 h 23 16 22 6 21 0 20 k 19 1(形參個(gè)數(shù)) X (a, b) 18 12(全局display) 17 返回地址 16 6 main 1g 21f231 22116211 21)0形參個(gè)數(shù)12

13、形參個(gè)display12( 1全2全display返回地址17X(a,b返回地 1 1 1d6 10 1mai0 (display 1返回地 100 2形參個(gè) main X(a,b)display全局 2 返回地址 X(a,b)Ymain c1優(yōu) 1.試把以下程序劃分為基本塊并作出其程序流圖。 20(display real 【答案返回地址 A:= 00 real C B:=1 A:=0 L1: A:=A+B if BC goto L2 L1: A:=A+B B:=B+1 2. 試把以下程序劃分為基本塊并作出其程序流圖。 【答案 real A, B F:=1 real A,B F:=1 C:=A*A C:=A*AD:=B*B if CD goto L1 E:=A*A L1: E:=B*BE:=A*A F:=F+1 F:=F+2F:=F+1 E:=E+F E:=E+FE:=E+F write E halt hal L2: F:=F-1 L1: E:=B*B :B23. 試對(duì)以下基本塊B1和 B2: B:=3 B1: A:=B*C D:=A+C D:=B/C E:=A*CE:=A+D G:=B*FF:=2*E H:=A+C G:=B*C 分別應(yīng)用DAG對(duì)它們進(jìn)行優(yōu)化,并就以下兩種情況分別寫(xiě)出優(yōu)化后的四元式序列: (1) 假設(shè)只有G,L,M在基本塊后面還

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論