Ch06. AST 多语言分析
11 种语言,一套统一的代码结构提取接口。
本章概要
AutoSnippet 的 AST 分析层支持 JavaScript、TypeScript、Swift、Java、Go、Rust、Python、Kotlin、Dart、Objective-C、C# 共 11 种语言。本章解析统一抽象层的设计、各语言适配器的实现策略和 ProjectGraph 的构建过程。
问题场景
设计决策
统一抽象接口
适配器模式
ProjectGraph 构建
语言适配器一览
| 语言 | 文件 | 解析策略 |
|---|---|---|
| JavaScript/TypeScript | lang-js.ts | |
| Swift | lang-swift.ts | |
| Java | lang-java.ts | |
| Go | lang-go.ts | |
| Rust | lang-rust.ts | |
| Python | lang-python.ts | |
| Kotlin | lang-kotlin.ts | |
| Dart | lang-dart.ts | |
| Objective-C | lang-objc.ts | |
| C# | lang-csharp.ts |