自下而上語(yǔ)法分析習(xí)題.ppt

自下而上語(yǔ)法分析習(xí)題.ppt

ID:52391800

大?。?.06 MB

頁(yè)數(shù):26頁(yè)

時(shí)間:2020-04-05

自下而上語(yǔ)法分析習(xí)題.ppt_第1頁(yè)
自下而上語(yǔ)法分析習(xí)題.ppt_第2頁(yè)
自下而上語(yǔ)法分析習(xí)題.ppt_第3頁(yè)
自下而上語(yǔ)法分析習(xí)題.ppt_第4頁(yè)
自下而上語(yǔ)法分析習(xí)題.ppt_第5頁(yè)
資源描述:

《自下而上語(yǔ)法分析習(xí)題.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、自下而上語(yǔ)法分析方法習(xí)題課第五章本章要求1.掌握自下而上分析的基本思想,基本概念2.掌握算符優(yōu)先文法、算符優(yōu)先關(guān)系的判定3.掌握最左素短語(yǔ)、句柄的定義與判定4.掌握求FirstVT集,LastVT集,學(xué)會(huì)構(gòu)造算符優(yōu)先關(guān)系表,能用算符優(yōu)先分析法進(jìn)行表達(dá)式分析問(wèn)題的提出:①在構(gòu)造語(yǔ)法樹的過(guò)程中,何時(shí)歸約?當(dāng)可歸約串出現(xiàn)在棧頂時(shí)就進(jìn)行歸約。②如何知道在棧頂符號(hào)串中已經(jīng)形成可歸約串?如何進(jìn)行歸約?通過(guò)不同的自底向上的分析算法來(lái)解釋,不同的算法對(duì)可歸約串的定義是不同的,但分析過(guò)程都有一個(gè)共同的特點(diǎn):邊移進(jìn)邊

2、歸約。規(guī)范歸約:使用句柄來(lái)定義可歸約串。算符優(yōu)先:使用最左素短語(yǔ)來(lái)定義可歸約串規(guī)范歸約的概念有文法G,開始符號(hào)為S,如果有S=>xβy,則xβy是文法G的句型,x,y是任意的符號(hào)串如果有S=>xAy,且有A=>β,則β是句型xβy相對(duì)于非終結(jié)符A的短語(yǔ)如果有S=>xAy,且有A->β,則β是句型xβy相對(duì)于A->β的直接短語(yǔ)位于一個(gè)句型最左邊的直接短語(yǔ)稱為句柄.**+*注意:每次歸約的部分必須是句柄(最右推導(dǎo))。關(guān)鍵的問(wèn)題是如何識(shí)別句柄例:考慮如下文法:求句型i1*i2+i3的短語(yǔ)、直接短語(yǔ)和句柄

3、。E?T

4、E+TT?F

5、T*FF?i

6、(E)從語(yǔ)法分析樹來(lái)識(shí)別:一棵子樹是由樹的某個(gè)結(jié)點(diǎn)連同它的所有子孫組成的。子樹的所有端末結(jié)點(diǎn)自左至右排列成一個(gè)相對(duì)子樹根的短語(yǔ)。直接短語(yǔ):只有父子兩代結(jié)點(diǎn)形成的短語(yǔ)。句柄:最左子樹的直接短語(yǔ)。EE+TTFi3i2i1T*FF從語(yǔ)法樹可以看出:i1,i2,i3,i1*i2,i1*i2+i3是句型i1*i2+i3的短語(yǔ)直接短語(yǔ)有:i1,i2,i3句柄是:i1E?T

7、E+TT?F

8、T*FF?i

9、(E)句型i1*i2+i3的語(yǔ)法樹如圖:練習(xí)1、令文法G1為:E→E+T

10、

11、TT→T*F

12、FF→(E)

13、i證明E+T*F是它的一個(gè)句型,指出這個(gè)句型的所有短語(yǔ)、直接短語(yǔ)和句柄。EE+TT*FT*F是句型E+T*F相對(duì)于T的短語(yǔ)E+T*F句型E+T*F相對(duì)于E的短語(yǔ)T*F是句型E+T*F相對(duì)于T的直接短語(yǔ)T*F是句柄2對(duì)下述文法,求句型E+T*F+i的短語(yǔ)、直接短語(yǔ)、句柄E?T

14、E+TT?F

15、T*FF?i

16、(E)EE+TFiE+TT*F短語(yǔ)有:i,T*F,E+T*F,E+T*F+i直接短語(yǔ)有:i,T*F句柄是:T*F練習(xí)規(guī)范歸約的定義:假定α是文法G的一個(gè)句子,如果序列:

17、αn,αn-1,……,α0(=S)滿足如下條件,則序列αn,αn-1,……,α0是一個(gè)規(guī)范歸約:(1)αn=α是給定的句子(2)α0=S是文法的開始符號(hào)(3)對(duì)任何i,0

18、S?aAcBe (2)A?b (3)A?Ab (4)B?d上述例子中句子abbcde的規(guī)范歸約過(guò)程是:abbcde,aAbcde,aAcde,aAcBe,S練習(xí)使用下述文法對(duì)句型i1*i2+i3進(jìn)行規(guī)范規(guī)約:E?T

19、E+TT?F

20、T*FF?i

21、(E)i1*i2+i3,F*i2+i3,T*i2+i3,T*F+i3,T+i3,E+i3,E+F,E+T,EEE+TTFi3i2i1T*FF2、考慮下面的表格結(jié)構(gòu)文法G2:S→a

22、^

23、(T) T→T,S

24、S(1)給出(a,(a,a))和(((a,a),^,(

25、a)),a)的最左和最右推導(dǎo)。(a,(a,a))的最左推導(dǎo):S?(T)?(T,S)?(S,S)?(a,S)?(a,(T))?(a,(T,S))?(a,(S,S))?(a,(a,S))?(a,(a,a))(((a,a),^,(a)),a)的最左推導(dǎo):S?(T)?(T,S)?(S,S)?((T),S)?((T,S),S)?((T,S,S),S)?((S,S,S),S)?(((T,S),S,S),S)?(((S,S),S,S),S)?(((a,S),S,S),S)?(((a,a),S,S),S)?(((

26、a,a),^,S),S)?(((a,a),^,a),S)?(((a,a),^,a),a)(((a,a),^,(a)),a)的最右推導(dǎo):S?(T)?(T,S)?(S,S)?(S,a)?((T),a)?((T,S,S),S)?((S,S,S),S)?(((T,S),S,S),S)?(((S,S),S,S),S)?(((a,S),S,S),S)?(((a,a),S,S),S)?(((a,a),^,S),S)?(((a,a),^,a),S)?(((a,a),^,a),a)(a,(a,a))

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(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)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。