抽象語法樹
外觀
此條目沒有列出任何參考或來源。 (2011年9月17日) |
在計算機科學中,抽象語法樹(Abstract Syntax Tree,AST),或簡稱語法樹(Syntax tree),是原始碼語法結構的一種抽象表示。它以樹狀的形式表現程式語言的語法結構,樹上的每個節點都表示原始碼中的一種結構。之所以說語法是「抽象」的,是因為這裡的語法並不會表示出真實語法中出現的每個細節。比如,嵌套括號被隱含在樹的結構中,並沒有以節點的形式呈現;而類似於 if-condition-then
這樣的條件跳轉語句,可以使用帶有三個分支的節點來表示。
和抽象語法樹相對的是具體語法樹(通常稱作分析樹)。一般的,在原始碼的翻譯和編譯過程中,語法分析器創建出分析樹,然後從分析樹生成AST。一旦AST被創建出來,在後續的處理過程中,比如語義分析階段,會添加一些信息。