零・一版語法規則整理如下:
音界咒檔 = 音界咒・檔案結尾
音界咒 = 句
| 句・音界咒
句 = 變數宣告式
| 算式
變數宣告式 = "元"・"・"・變數・"="・算式
算式 = 乘除式・重複乘除式
重複乘除式 = +・重複乘除式
| −・重複乘除式
| e
乘除式 = 原子式・重複原子式
重複原子式 = *・重複乘除式
| /・重複乘除式
| e
原子式 = 數字
| 變數
| "("・算式・")"
依照回溯剖析算法(或是其他剖析算法),吾人能得到一棵紀錄了所有生成符展開點的語法樹。然而,語法樹中的許多細節並無實際意義。
以變數宣告式
為例,元・甲=(1)
,若嚴格按照展開規則,會得到如下繁複的語法樹:
這種嚴格按照語法規則展開的語法樹,吾人稱其為「具體語法樹」,然而,具體語法樹中,某些節點含有的資訊對接下來的編譯器後端毫無用處,例如元
、・
、=
這些協助詞法分隔的符號,在任何變數宣告式
裡都有,所以沒有紀錄的意義。另外,以如此深的樹來紀錄(1)
這個算式
也是極度冗餘的,原子式
、重複原子式
...這些玩意兒完全是為了消除左遞迴跟歧義才製造出來的,語義上僅需知道它是數字1就夠了。
省略不重要的資訊後,可以得到:
這種精簡後,但在語義上沒有損失的語法樹,被稱為抽象語法樹。若語境明確,也可以直接叫語法樹。