Back to MetaCall
GSoC 2026

Rust Multi-Language AST & Cross-Language Dependency Graph

MetaCall's runtime introspection (metacall_inspect) requires loaded loaders and a live environment, leaving IDE tooling, CI pipelines, and Function Mesh with no pre-runtime project intelligence. This proposal builds metacall-ast - a standalone Rust static analyzer that uses Tree-sitter incremental parsing to extract symbols and cross-language dependencies from Python, JavaScript, TypeScript, C/C++, and Rust source files, emitting JSON structurally compatible with metacall_inspect (keys: funcs, classes, objects). The tool uses petgraph for in-memory graph construction, applies Tarjan's SCC algorithm to identify independently deployable Function Mesh units, and exposes a stable C ABI (mc_ast.h) for embedding in MetaCall core. An optional Dgraph sink enables persistent Code Knowledge Graph snapshots. Deliverables: core Rust library + CLI, language packs for 5 languages, inspect-parity JSON output, C ABI bridge, Dgraph sink, and a stretch intra-procedural dataflow (def-use chains), with full CI on Linux/macOS/Windows.

Project details

Contributor

Khaled Alam

Mentors

Not available

Technologies

Not listed in the archive