編譯原理答案 第五章

編譯原理答案 第五章

ID:19758304

大小:204.00 KB

頁數(shù):15頁

時(shí)間:2018-10-05

編譯原理答案   第五章_第1頁
編譯原理答案   第五章_第2頁
編譯原理答案   第五章_第3頁
編譯原理答案   第五章_第4頁
編譯原理答案   第五章_第5頁
資源描述:

《編譯原理答案 第五章》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、練習(xí)5.1解答:輸入(4*7+1)*2n,帶注釋的分析樹如下:練習(xí)5.2解答:(1)根據(jù)表5.3中的語法制導(dǎo)定義建立表達(dá)式((a)+(b))的分析樹和語法樹(2)根據(jù)圖5.17的翻譯模式構(gòu)造((a)+(b))的分析樹和語法樹練習(xí)5.3解答:設(shè)置下面的函數(shù)和屬性:expr1

2、

3、expr2:把表達(dá)式expr2拼寫在表達(dá)式expr1后面。deletep(expr):去掉表達(dá)式expr左端的‘(’和右端的‘)’。E.expr,T.expr,F.expr:屬性變量,分別表示E,T,F(xiàn)的表達(dá)式。E.add,T.add,F.add,屬性變量,若為true,則表示其表達(dá)式中外層有‘+’號(hào),否則無‘+’號(hào)。E.

4、pmark,T.pmark,F.pmark,屬性變量,若為true,表示E,T,F的表達(dá)式中左端為‘(’,右端是‘)’。語法制導(dǎo)定義如下:產(chǎn)生式語義規(guī)則E->E1+Tif(T.pmark==true)THENE.expr=E1.expr

5、

6、'+'

7、

8、deletep(T.expr)ELSEE.expr:=E1.expr

9、

10、'+'

11、

12、T.expr;E.add:=true;E.pmark:=false;E->Tif(T.pmark==true)THENE.expr:=deletep(T.expr)ELSEE.expr:=T.expr;E.add:=T.add;E.pmark:=false;T->T1

13、*FT.expr:=T1.expr

14、

15、'*'

16、

17、F.expr;T.add:=false;T.pmark:=false;T->FT.expr:=F.expr;T.add:=F.add;T.pmark:=F.pmark;F->(E)if(E.add==false)THENBEGINF.expr:=E.expr;F.add:=false;F.pmark:=false;ENDELSEBEGINF.expr:='('

18、

19、E.expr

20、

21、')';F.add:=true;F.pmark:=true;END;F->idF.expr:=id.lexval;F.add:=false;F.pmark:=false;

22、練習(xí)5.4解答:(1)語法制導(dǎo)定義如下:產(chǎn)生式語義規(guī)則E->E1+Tif(E1.type==int)AND(T.type==int)THENE.type:=intELSEE.type:=real;E->TE.type:=T.type;T->numT.type:=int;T->num.numT.type:=real;(2)設(shè)E.pf和T.pf分別是E和T的前綴形式,

23、

24、是兩個(gè)字符串的連接,語法制導(dǎo)定義如下:產(chǎn)生式語義規(guī)則E->E1+Tif(E1.type==int)AND(T.type==int)THENE.type:=intELSEBEGINE.type:=real;if(E1.type==i

25、nt)AND(T.type==real)THENE1.pf:='inttoreal'

26、

27、E1.pfELSEif(E1.type==real)AND(T.type==int)THENT.pf:='inttoreal'

28、

29、T.pfEND;E.pf:='+'

30、

31、E1.pf

32、

33、T.pf;E->TE.type:=T.type;E.pf:=T.pf;T->numT.type:=int;T.pf:=int.lexval;T->num.numT.type:=real;T.pf:=real.lexval;練習(xí)5.5解答:(1)用綜合屬性決定s.val的語法制導(dǎo)定義:產(chǎn)生式語義規(guī)則S->LS.val:=L.val

34、;S->L1.L2S.val:=L1.val+L2.val*L2.p;L->BL.val:=B.val;L.p:=2-1;L->L1BL.val:=L1.val*2+B.val;L.p:=L.p*2-1;B->0B.val:=0;B->1B.val:=1;注:L.p表示恢復(fù)L.val的因子。(2)分析:設(shè)B.c是B的綜合屬性,是B產(chǎn)生的位對(duì)最終值的貢獻(xiàn)。要求出B.c,必須求出B產(chǎn)生位的權(quán),設(shè)B.i。B.i的求法請(qǐng)參看下面的圖示:另外,設(shè)L.fi為繼承因子,L.fs為綜合因子,語法制導(dǎo)定義如下:產(chǎn)生式語義規(guī)則S->LL.i:=1;L.fi:=2;L.fs:=1;S.val:=L.val;S->L

35、1.L2L1.i=1;L1.fi=2;L1.fs:=1;L2.i=2-1;L2.fi=1;L2.fs:=2-1;S.val:=L1.val+L2.val;L->BL.s:=L.i;B.i:=L.s;L.val:=B.c;L->L1BL1.i:=L.i*L1.fi;L.s:=L1.s*L1.fs;B.i:=L.s;L.val:=L1.val+B.c;B->0B.c:=0;B->1B.c:=B.i;若

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。