Skip to content

Ch06. AST 多语言分析

11 种语言,一套统一的代码结构提取接口。

本章概要

AutoSnippet 的 AST 分析层支持 JavaScript、TypeScript、Swift、Java、Go、Rust、Python、Kotlin、Dart、Objective-C、C# 共 11 种语言。本章解析统一抽象层的设计、各语言适配器的实现策略和 ProjectGraph 的构建过程。

问题场景

设计决策

统一抽象接口

适配器模式

ProjectGraph 构建

语言适配器一览

语言文件解析策略
JavaScript/TypeScriptlang-js.ts
Swiftlang-swift.ts
Javalang-java.ts
Golang-go.ts
Rustlang-rust.ts
Pythonlang-python.ts
Kotlinlang-kotlin.ts
Dartlang-dart.ts
Objective-Clang-objc.ts
C#lang-csharp.ts

关键代码

小结

Released under the MIT License.