\(CFG\) 的分析樹
例如語句
\[(1)E \rightarrow E +E \\
(2)E \rightarrow E *E\\
(3)E \rightarrow -E\\
(4)E \rightarrow( E )\\
(2)E \rightarrow id\\
\]
\[
```mermaid
graph TB
a1(E) --> a2("-")
a1(E) --> a3(E)
a3(E) -->a4("(")
a3 --> a5(E)
a3 --> a6(")")
a5 --> a7(E)
a7 --> c1(E)
a7 --> c2(+)
a7 --> c3(E)
```
#### <u>分析樹是推導的圖形化表示</u>
即根據語法定義對語句進行推導,並把推導的過程透過樹行的方式來表示
-----
#### 短語
* 分析樹的每一顆子樹的邊緣稱為該句型的一個短語
* 如果子樹只有父子兩代結點,那麼這顆子樹的邊緣稱為該句型的一個直接短語
----
#### 二義性文法:
如果一個文法可以為某個句子生成多顆分析樹,那麼稱這個文法是**二義性**的.
* 對於任意一個上下文無關文法,不存在一個演算法,判定它是無二義性的;但能給出一組**充分條件**,滿足這組充分條件的文法是無二義性的。
\]