【7A文】上下文無關(guān)文法及其語法樹.ppt

【7A文】上下文無關(guān)文法及其語法樹.ppt

ID:33373103

大?。?17.00 KB

頁數(shù):28頁

時間:2019-02-24

【7A文】上下文無關(guān)文法及其語法樹.ppt_第1頁
【7A文】上下文無關(guān)文法及其語法樹.ppt_第2頁
【7A文】上下文無關(guān)文法及其語法樹.ppt_第3頁
【7A文】上下文無關(guān)文法及其語法樹.ppt_第4頁
【7A文】上下文無關(guān)文法及其語法樹.ppt_第5頁
資源描述:

《【7A文】上下文無關(guān)文法及其語法樹.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載上下文無關(guān)文法及其語法樹文法和語言一、語法樹(推導(dǎo)樹)直觀定義:用圖表示上下文無關(guān)文法句型的推導(dǎo)的直觀方法。語法樹有助于理解一個句子的語法層結(jié)構(gòu)的層次,語法樹通常表示成一棵倒立的樹,根在上,枝葉在下。2.形式定義對文法G=(VN,VT,P,S)相關(guān)聯(lián)的語法樹滿足以下4個條件:(1)根結(jié)點由開始符號S所標(biāo)記;(2)每個結(jié)點都有一個標(biāo)記,此標(biāo)記是V(即VN∪VT)的一個符號;(3)非終結(jié)符VN中的結(jié)點至少有一個除它自己以外的子孫結(jié)點;(4)對產(chǎn)生式A

2、→A1A2…Ak,結(jié)點A1,A2,…,Ak是結(jié)點A的直接子孫,順序與產(chǎn)生式相同。軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載從根結(jié)點S開始推導(dǎo),當(dāng)非終結(jié)符被它的某個候選式所替換時,這個非終結(jié)符的相應(yīng)結(jié)就產(chǎn)生出下一代新結(jié),候選式中自左向右的每個符號對應(yīng)一個新結(jié),并用這些符號標(biāo)記其相應(yīng)的新結(jié)。每個新結(jié)與其父結(jié)點間都有一條連線。在一棵語法樹生長過程中的任何時刻,所有那些沒有后代的端末結(jié)自左向右排列起來就是一個句型。語法樹構(gòu)造的過程例1文法G=({E},{+,*,i,(,)},P,E),其中P為:

3、E→E+E

4、E*E

5、(E)

6、i對該文法關(guān)于(i*i+i)的推導(dǎo)的語法樹如下所示:文法和語言軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載接語法樹構(gòu)造舉例文法和語言E(根)(E)E++EE*Eiii代次12345軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載文法和語言語法樹的問題分析(1)允許產(chǎn)生同名結(jié)點(反映遞歸性);(2)沒有后代的結(jié)點為端末結(jié);(3)語法樹不能反映生養(yǎng)后代的先后;(4)一棵語法樹表示了一個句型種種可能的(但未必是所有的)不同推導(dǎo)過程。軟件教研室 

7、徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載文法和語言最左推導(dǎo)/最右推導(dǎo)/規(guī)范句型最左推導(dǎo)是指:任何一步α=>β都是對α中的最左非終結(jié)符進(jìn)行替換。同樣,可定義最右推導(dǎo)(又稱規(guī)范推導(dǎo)):任何一步α=>β都是對α中的最右非終結(jié)符進(jìn)行替換。由規(guī)范推導(dǎo)所得到的句型稱為規(guī)范句型。注意:從一個句型到另一個句型的推導(dǎo)過程往往是不唯一的。例如E+E(i+i):(a)E+E=>E+i=>i+i——最右推導(dǎo)(b)E+E=>i+E=>i+i——最左推導(dǎo)軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載

8、語法樹的特點文法和語言一棵語法樹是這些不同推導(dǎo)過程的共性抽象,是它們的代表。一棵語法樹完全等價于一個最左(右)推導(dǎo),這種等價性包括樹的步步生長和推導(dǎo)的步步展開是完全一致的。例:推導(dǎo)(i*i+i)最左推導(dǎo):E=>(E)=>(E+E)=>(E*E+E)=>(i*E+E)=>(i*i+E)=>(i*i+i)最右推導(dǎo):E=>(E)=>(E+E)=>(E+i)=>(E*E+i)=>(E*i+i)=>(i*i+i)但兩種推導(dǎo)的語法樹相同。軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載文法和語言一個句型是

9、否只對應(yīng)唯一的一棵語法樹?例如對于文法G[E]:E→E+E

10、E*E

11、(E)

12、i,關(guān)于(i*i+i)存在一個與前面不同的最左推導(dǎo):E(E)(E*E)(i*E)(i*E+E)(i*i+E)(i*i+i)它所對應(yīng)的語法樹如右圖:E(根)(E)E*EE+Eiii軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載文法和語言1.定義:一個文法的某個句子對應(yīng)兩棵不同的語法樹,則這個文法是二義的。或一個文法的某個句子有兩個不同的最左(右)推導(dǎo),則這個文法是二義的。二、二義性(1/2)2.區(qū)別文法的二義性:存在兩

13、個不同文法G(二義)、G’(無二義),卻有L(G)=L(G’),即產(chǎn)生語言相同。語言的二義性軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載二義性其它問題文法和語言人們已證明,二義性問題是不可判定的,即不存在一個算法,它能在有限步驟內(nèi),確切地判斷一個文法是否是二義的。我們所能做的就是為無二義性尋找一些充分條件,例如對文法G[E]:E→E+E

14、E*E

15、(E)

16、i修改,規(guī)定運算符“+”與“*”的優(yōu)先關(guān)系和結(jié)合規(guī)則,設(shè)“*”的優(yōu)先性高于“+”,且服從左結(jié)合。G’:E→T

17、E+TT→F

18、T*FF→(E

19、)

20、i軟件教研室 徐慧英 呂振洪來自www.3722.cn中國最大的資料庫下載文法和語言3.6句型的分析句型分析的任務(wù)就是按文法的產(chǎn)生式,識別輸入的符號是否是該文法的句型。語法樹——是句型推導(dǎo)過程的幾何表示,可以十分直觀的顯示某句型的結(jié)構(gòu)。因此在句型時,對輸入符號串構(gòu)造語法樹,以此識別它是否是該文法的一個句型(或句子)。因此,語法樹又可稱為語法

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

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

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