編譯原理 第二章習(xí)題答案

上傳人:真** 文檔編號:140679117 上傳時間:2022-08-23 格式:DOC 頁數(shù):13 大?。?8KB
收藏 版權(quán)申訴 舉報 下載
編譯原理 第二章習(xí)題答案_第1頁
第1頁 / 共13頁
編譯原理 第二章習(xí)題答案_第2頁
第2頁 / 共13頁
編譯原理 第二章習(xí)題答案_第3頁
第3頁 / 共13頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《編譯原理 第二章習(xí)題答案》由會員分享,可在線閱讀,更多相關(guān)《編譯原理 第二章習(xí)題答案(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第2章 習(xí)題解答1.文法GS為: S-Ac|aB A-ab B-bc 寫出L(GS)的全部元素。 答案 S=Ac=abc 或S=aB=abc 所以L(GS)=abc =2. 文法GN為: N-D|ND D-0|1|2|3|4|5|6|7|8|9 GN的語言是什么? 答案 GN的語言是V+。V=0,1,2,3,4,5,6,7,8,9 N=ND=NDD. =NDDDD.D=D.D =3.已知文法GS: SdAB AaA|a B|bB 問:相應(yīng)的正規(guī)式是什么?GS能否改寫成為等價的正規(guī)文法? 答案 正規(guī)式是daa*b*; 相應(yīng)的正規(guī)文法為(由自動機化簡來): GS:SdA Aa|aB BaB|a|b

2、|bC CbC|b 也可為(觀察得來):GS:SdA Aa|aA|aB BbB| =4.已知文法GZ: Z-aZb|ab 寫出L(GZ)的全部元素。 答案 Z=aZb=aaZbb=aaa.Z.bbb= aaa.ab.bbb L(GZ)=anbn|n=1 =5.給出語言anbncm|n=1,m=0的上下文無關(guān)文法。 分析 本題難度不大,主要是考上下文無關(guān)文法的基本概念。上下文無關(guān)文法的基本定義是:A-,AVn,(VnVt)*,注意關(guān)鍵問題是保證anbn的成立,即“a與b的個數(shù)要相等”,為此,可以用一條形如A-aAb|ab的產(chǎn)生式即可解決。 答案 構(gòu)造上下文無關(guān)文法如下: S-AB|A A-aAb

3、|ab B-Bc|c 擴展 凡是諸如此類的題都應(yīng)按此思路進行,本題可做為一個基本代表?;舅悸肥沁@樣的: 要求符合anbncm,因為a與b要求個數(shù)相等,所以把它們應(yīng)看作一個整體單元進行,而cm做為另一個單位,初步產(chǎn)生式就應(yīng)寫為S-AB,其中A推出anbn,B推出cm。因為m可為0,故上式進一步改寫為S-AB|A。接下來考慮A,凡是要求兩個終結(jié)符個數(shù)相等的問題,都應(yīng)寫為A-aAb|ab形式,對于B就很容易寫成B-Bc|c了。 =6 .寫一文法,使其語言是偶正整數(shù)集合。 要求: (1)允許0開頭; (2)不允許0開頭。 答案 (1)允許0開頭的偶正整數(shù)集合的文法 E-NT|G|SFM T-NT|G

4、 N-D|1|3|5|7|9 D-0|G G-2|4|6|8 S-NS| F-1|3|5|7|9|GM-M0|0 (2)不允許0開頭的偶正整數(shù)集合的文法 E-NT|D T-FT|G N-D|1|3|5|7|9 D-2|4|6|8 F-N|0 G-D|0 =7.已知文法G: E-E+T|E-T|T T-T*F|T/F|F F-(E)|i 試給出下述表達式的推導(dǎo)及語法樹 (1)i; (2)i*i+i (3)i+i*i (4)i+(i+i) 答案 (1)E=T=F=i (2)E=E+T=T+T=T*F+T=F*F+T=i*F+T=i*i+T=i*i+F=i*i+i (3)E=E+T=T+T=F+T=

5、i+T=i+T*F=i+F*F=i+i*F=i+i*i (4)E=E+T=T+T=F+T=i+T=i+F=i+(E)=i+(E+T)=i+(T+T)=i+(F+T) =i+(i+T)=i+(i+F)=i+(i+i)8 .為句子i+i*i構(gòu)造兩棵語法樹,從而證明下述文法G是二義的。 表達式-表達式運算符表達式|(表達式)|i 運算符-+|-|*|/ 答案 可為句子i+i*i構(gòu)造兩個不同的最右推導(dǎo): 最右推導(dǎo)1 表達式=表達式運算符表達式 =表達式運算符i =表達式* i =表達式運算符表達式* i =表達式運算符i * i =表達式+ i * i = i + i * i 最右推導(dǎo)2 表達式=表達

6、式運算符表達式 =表達式運算符表達式運算符表達式 =表達式運算符表達式運算符 i =表達式運算符表達式 * i = 表達式運算符i * i =表達式+ i * i = i + i * i 所以,該文法是二義的。=9. 文法GS為: S-Ac|aB A-ab B-bc 該文法是否為二義的?為什么? 答案 對于串a(chǎn)bc (1)S=Ac=abc (2)S=aB=abc 即存在兩不同的最右推導(dǎo) 所以,該文法是二義的。 =10.考慮下面上下文無關(guān)文法: S-SS*|SS+|a (1)表明通過此文法如何生成串a(chǎn)a+a*,并為該串構(gòu)造語法樹。 (2) GS的語言是什么? 答案 (1)此文法生成串a(chǎn)a+a*的

7、最右推導(dǎo)如下 S=SS*=SS*=Sa*=SS+a*=Sa+a*=aa+a* (2)該文法生成的語言是即加法和乘法的逆波蘭式, =11. 令文法GE為: E-E+T|E-T T-T*F|T/F|F F-(E)|I 證明E+T*F是它的一個句型,指出這個句型的所有短語、直接短語和句柄。 答案 此句型對應(yīng)語法樹如右,故為此文法一個句型。 或者:因為存在推導(dǎo)序列: E=E+T=E+T*F,所以 E+T*F句型 此句型相對于E的短語有:E+T*F;相對于T的短語有T*F, 直接短語為:T*F;。句柄為:T*F 12.已知文法GE: EET+|T TTF* | F FF | a 試證:FF*是文法的句型

8、,指出該句型的短語、簡單短語和句柄. 答案 該句型對應(yīng)的語法樹如下:該句型相對于E的短語有FF*;相對于T的短語有FF*,F;相對于F的短語有F;F;簡單短語有F;F;句柄為F. 13.一個上下文無關(guān)文法生成句子abbaa的推導(dǎo)樹如下: (1)給出串a(chǎn)bbaa最左推導(dǎo)、最右推導(dǎo)。 (2)該文法的產(chǎn)生式集合P可能有哪些元素? (3)找出該句子的所有短語、直接短語、句柄。(1)串a(chǎn)bbaa最左推導(dǎo): S=ABS=aBS=aSBBS=aBBS=abBS=abbS=abbAa=abbaa 最右推導(dǎo): S=ABS=ABAa=ABaa=ASBBaa=ASBbaa=ASbbaa=Abbaa=abbaa (2

9、)產(chǎn)生式有:SABS |Aa| Aa BSBB|b (3)該句子的短語有a1b1b2a2a3、a1、b1、b2、b1b2、a2a3、a2; 直接短語有a1、b1、b2、a2; 句柄是a1。 =14.給出生成下列語言的上下文無關(guān)文法。 (1) anbnambm |n,m=0 (2) 1n0m 1m0n| n,m=0 (3)WaWr|W屬于0|a*,Wr表示W(wǎng)的逆 答案 (1)anbnambm| n,m=0 S-AA A-aAb| (2) 1n0m 1m0n| n,m=0 S-1S0|A A-0A1| (3)WaWr|W屬于0|a*,Wr表示W(wǎng)的逆 S-0S0|1S1| =15 .給出生成下列語言

10、的三型文法。 (1) an|n =0 (2) anbm|n,m=1 (3)anbmck|n,m,k=0 答案 (1) an|n =0 的三型文法為: S-aS| (2) anbm|n,m=1 的三型文法為: S-aA A-aA|bB B-bB| (3)anbmck|n,m,k=0 的三型文法為: A-aA|bB|cC| B-bB|cC| C-cC| =16.構(gòu)造一文法產(chǎn)生任意長的a,b串,使得 |a|=|b|bb|b 第1個產(chǎn)生式為遞歸定義,由于在第2個產(chǎn)生式中B被定義為1或2個b,所以第1個產(chǎn)生式可以保證b的個數(shù)在|a|與2|a|之間,而a與b的位置可以任意排布,所以此文法即為所求,注意第1

11、個產(chǎn)生式中要包括s。 =17.下面的文法產(chǎn)生a的個數(shù)和b的個數(shù)相等的非空a,b串 S-aB|bA B-bS|aBB|b A-aS|bAA|a 其中非終結(jié)符B推出b比a的個數(shù)多1個的串,A則反之。 說明該文法是二義的。 對上述文法略作修改,使之非二義,并產(chǎn)生同樣的語言。(略做修改的含義是:不增加非終結(jié)符。) 答案 句子aabbab有兩種不同的推導(dǎo)。 S=aB=aaBB=aabB=aabbS=aabbaB=aabbab S=aB=aaBB=aabSB=aabbAB=aabbaB=aabbab 即它可以產(chǎn)生兩棵不同的語法樹,故它是二義的。 修改后的無二義文法如下: S-aBS|bAS|aB|bA B

12、-aBB|b A-bAA|a =18.給出0,1,2,3型文法的定義。 答案 喬姆斯基(chomsky)把文法分成類型,即0型,1型,2型和3型,0型強于1型,1型強于2型,2型強于3型。 如果它的每個產(chǎn)生式-的結(jié)構(gòu)是(VnUVt)*且至少含有一個非終結(jié)符,而(VnUVt)*,我們說G=(Vt,VN,S,)是一個0型文法。 0型文法也稱短語文法。一個非常重要的理論結(jié)果是,0型文法的能力相當(dāng)于圖靈(Tunring)機?;蛘哒f,任何0型語言都是遞歸可枚舉的;反之,遞歸可枚舉集必定是一個0型語言。 如果把0型文法分別加上以下的第i條限制,則我們就得i型文法為: 1G的任何產(chǎn)生式- 均滿足|例外,但S不得出現(xiàn)在任何產(chǎn)生式的右部。 2G的任何產(chǎn)生式為A-,AVn,(VnUVt)* 3G的任何產(chǎn)生式為A-aB或A-a,其中A,BVn 1型文法也稱上下文有關(guān)文法。這種文法意味著,對非終結(jié)符進行替換時務(wù)必考慮上下文,而且,般不允許替換成空串。 2型文法對非終結(jié)符進行替換時無須考慮上下文, 3型文法也稱線性文法。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!