问题域/PD-132

AST代码解析

AST-Based Code Parsing

基于抽象语法树的多语言代码结构化解析,提取函数、类、调用关系等语义元素

子问题

1.多语言语法树解析

2.代码元素提取与分类

3.调用关系与符号解析

4.代码复杂度计算

5.实例变量类型推断与方法调用解析

6.AI 生成代码的容错预处理

7.跨文件符号定位与模块路径解析

8.代码图谱的持久化与增量合并

各项目的解法1 solutions

Signals

横向对比

维度FastCode
解析引擎双引擎:Python 用 ast+libcst,其他 7+ 语言用 tree-sitter
语言覆盖Python/JS/TS/Java/Go/C/C++/Rust/C# 共 10 种语言
提取粒度函数签名+参数类型+返回值+装饰器+docstring+圈复杂度+调用链
调用图构建两遍扫描+作用域追踪+实例类型推断+四级符号解析
容错能力语法错误自动修复+markdown围栏剥离+解析失败降级为行统计
符号解析三级链路:GlobalIndex→ModuleResolver→SymbolResolver,支持跨文件解析

最佳实践

1.使用 tree-sitter 实现跨语言统一解析接口

2.用 S-expression Query 替代手动 AST 遍历提升可维护性

3.两遍扫描法实现作用域感知的调用提取

4.三级符号解析链实现跨文件定义定位

5.解析前预处理修复 AI 生成代码的常见语法错误