AST (Abstract Syntax Tree) 是源代码被解析后形成的树状结构。扫描 AST 可以比普通字符串搜索更准确地理解代码。

为什么不用纯文本搜索

纯文本搜索只能看到字符,无法理解变量、函数、调用关系和语法层级。例如搜索某个函数名,可能同时命中注释、字符串和真正调用。

AST 扫描可以区分:

  • 函数声明。
  • 函数调用。
  • import / export。
  • 字符串字面量。
  • JSX 节点。

应用场景

  • i18n:扫描前端项目中未国际化的中文字符串。
  • 代码迁移:批量查找某种 API 调用。
  • 静态分析:发现潜在危险写法。
  • 小工具:例如 24 点计算器、表达式解析器,也会涉及语法树思想。

个人理解

AST 是“让程序读懂程序”的入口。正则适合快速粗筛,AST 适合需要理解代码结构的任务。


本文归档于个人知识库 · 领域:CS & AI · 模块:04 Project_CS_AI/Algorithms