术语:语法分析

别名: Syntax Analysis, Parsing 领域: #前端开发/编译器

定义

语法分析 (Syntax Analysis) 是编译器的第二个阶段,接收词法分析器生成的 Token 流,根据语言的语法规则将 Token 组装成抽象语法树 (AST)。

过程

flowchart LR
    Tokens[Token 流] -->|输入| Parser[语法分析器]
    Parser -->|构建| AST[抽象语法树]
    AST -->|输出| Compiler[编译器/解释器]

AST 示例

对于代码 let x = 1 + 2

{
  "type": "VariableDeclaration",
  "declarations": [{
    "type": "VariableDeclarator",
    "id": { "type": "Identifier", "name": "x" },
    "init": {
      "type": "BinaryExpression",
      "operator": "+",
      "left": { "type": "Literal", "value": 1 },
      "right": { "type": "Literal", "value": 2 }
    }
  }]
}

锚点连接