AST 抽象语法树扫描工具 (Abstract Syntax Tree Scanner)
AST (Abstract Syntax Tree) 是源代码被解析后形成的树状结构。扫描 AST 可以比普通字符串搜索更准确地理解代码。
为什么不用纯文本搜索
纯文本搜索只能看到字符,无法理解变量、函数、调用关系和语法层级。例如搜索某个函数名,可能同时命中注释、字符串和真正调用。
AST 扫描可以区分:
- 函数声明。
- 函数调用。
- import / export。
- 字符串字面量。
- JSX 节点。
应用场景
- i18n:扫描前端项目中未国际化的中文字符串。
- 代码迁移:批量查找某种 API 调用。
- 静态分析:发现潜在危险写法。
- 小工具:例如 24 点计算器、表达式解析器,也会涉及语法树思想。
个人理解
AST 是“让程序读懂程序”的入口。正则适合快速粗筛,AST 适合需要理解代码结构的任务。
本文归档于个人知识库 · 领域:CS & AI · 模块:04 Project_CS_AI/Algorithms