语法推导树之短语,直接短语,句柄
??說語法推導樹的短語,直接短語,句柄之前還是要回顧一下語法推導樹的特征,只有了解了什么樣的與是語法推導樹后邊的工作才能繼續
????????語法推導樹是在文法的基礎上產生的,文法是由一個四元祖組成的G={VN,VT,P,S},對于文法的一些詳細介紹請參照用例子來區分四種文法
特征
書上是這么說的
?
用自己的話結合著例子逐條解釋以上特征。如:
? ? ? ?
1.每個結點都是終結符或非終結符(圖中a,A,S,b即是定義中提到的)
2.根結點的標記是S
3.有孩子結點的結點一定是非終結符(圖中S和A和S都有孩子結點,它們都在非終結符那個集合中,滿足)
4.拿圖中以A為根結點的子樹舉例,它的直接子孩子從左到右的順序是SbA,那么A->SbA這個式子一定是一個文法的產生式
?
????????這么一說就容易理解了,接下來再說什么是短語,什么是直接短語,什么是句柄?還是像上邊一樣先給大家一個課本上的概念,然后我再用例子解釋一下,自認為這樣比較好理解
?
短語,直接短語,句柄
書上的說法
?
我的理解
- 短語:任意一顆子樹中,如果根結點經過若干步才推導出了葉子結點,則這些葉子結點組成的序列就是相對于這棵子樹的短語
?
- 直接短語:屬于短語,只不過不能經過若干步的推導了,必須一步就能推導出來葉子結點來,這些葉子結點組成的序列才是相對于這顆子樹的直接短語
?
- 句柄:屬于直接短語,它是這些有直接短語的子樹中最左邊的那顆子樹的直接短語
?
例子:找出下面的這顆語法推導樹的短語,直接短語,句柄。
?
??????????(1).找出這棵樹的所有子樹
??
?????????(2).找出每一顆子樹的短語
????????????第1棵:a1?b1b2a2a3??
????????????第2棵:?b1b2
????????????第3棵:a2a3
????????????第4棵:a1
????????????第5棵:?
????????????第6棵:b1??
????????????第7棵:b2
? ? ? ? ? ?第8棵:a2
?????????(3).找出每一顆子樹的直接短語
????????????第1棵:因為這棵樹的葉子結點是經過若干步推導出來的沒有一步就推導出來的,所以沒有直接短語?
????????????第2棵:同上
????????????第3棵:同上,雖然a3是直接推導出來的,但是a2不是,
???????????????????????????所以它們組成的序列不能說是直接短語
? ? ? ? ? ??第4棵:a1
????????????第5棵:?
????????????第6棵:b1??
????????????第7棵:b2
????????????第8棵:a2
?????????(4).從這些直接短語中找那個排在最左邊的直接短語,即句柄,這道題的句柄就是a1
?
????????分析完了,不知道說明白沒有,如果學習中遇到了問題希望大家幫忙指出。
轉載自:http://blog.csdn.net/cjr15233661143/article/details/12750047
總結
以上是生活随笔為你收集整理的语法推导树之短语,直接短语,句柄的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt creator5.7 OpenCV
- 下一篇: linux网络状态检测libcurl,使