术语:语法分析
别名: 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 }
}
}]
}锚点连接
- 属于:JavaScript 引擎
- 前置阶段:词法分析
- 后续阶段:代码生成 / 解释执行
- 相关概念:AST