热门问题
时间线
聊天
视角
抽象語法樹
来自维基百科,自由的百科全书
Remove ads
在計算機科學中,抽象語法樹(Abstract Syntax Tree,AST),或簡稱語法樹(Syntax tree),是原始碼語法結構的一種抽象表示。它以樹狀的形式表現程式語言的語法結構,樹上的每個節點都表示原始碼中的一種結構。之所以說語法是「抽象」的,是因為這裏的語法並不會表示出真實語法中出現的每個細節。比如,嵌套括號被隱含在樹的結構中,並沒有以節點的形式呈現;而類似於 if-condition-then
這樣的條件跳轉語句,可以使用帶有三個分支的節點來表示。

while b ≠ 0:
if a > b:
a := a - b
else:
b := b - a
return a
和抽象語法樹相對的是具體語法樹(通常稱作分析樹)。一般的,在原始碼的翻譯和編譯過程中,語法分析器創建出分析樹,然後從分析樹生成AST。[1]一旦AST被創建出來,在後續的處理過程中,比如語義分析階段,會添加一些信息。
Remove ads
參考文獻
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads