术语:抽象语法树

别名: Abstract Syntax Tree, AST 领域: #前端开发/编译器

定义

抽象语法树 (Abstract Syntax Tree, AST) 是源代码的抽象语法结构的树形表示。树中的每个节点表示源代码中的一个语法构造,是编译器理解和处理程序的基础数据结构。

示例

对于代码 let x = 1 + 2

flowchart TB
    Root[VariableDeclaration<br/>变量声明] --> Dec[VariableDeclarator<br/>变量声明符]
    Root --> Kind[kind: let]
    Dec --> Id[Identifier<br/>x]
    Dec --> Init[BinaryExpression<br/>二元表达式]
    Init --> Op[operator: +]
    Init --> Left[Literal<br/>1]
    Init --> Right[Literal<br/>2]

作用

阶段作用
语法分析输出 AST 作为语法分析结果
代码转换各类转换工具操作 AST(如 Babel、ESLint)
代码生成从 AST 生成目标代码

锚点连接