剛開始學編譯原理的時候辕漂,我對這三個概念真的很懵逼→_→
因為資料上的文字說明太不直觀了呢灶,看了半天愣是很懵逼,于是往下看钉嘹,看到了例子之后鸯乃,就覺得明朗了許多!
上圖!
這是一顆語法樹跋涣,那如何求它的短語缨睡、簡單短語和句柄呢?
圖1 已經(jīng)構建好的語法樹
我們按照 [句柄→簡單短語→短語] 的順序來找
首先:句柄(整棵樹最左邊的葉子陈辱,共1個)
? ? ? ? ? a1
圖2 句柄
其次:簡單短語(所有葉子宏蛉,共6個)
? ? ? ? ? a1,?ε, b1, b2, a2, a3
圖3 簡單短語
最后:短語(所有的葉子+每個中間節(jié)點所包含的葉子序列, 共9個)
a1,?ε, b1, b2, a2, a3,?
a2a3,?εb1b2, a1εb1b2a2a3
圖4 短語
包含關系:短語 > 簡單短語 > 句柄