acav (AST Companion & Visualization) accelerates research on static analysis and Clang tooling:
- Rendering: Uses Qt 6 + QML to render trees with lazy loading, keeping navigation smooth even for million-node ASTs.
- Insights: Inline metadata like source ranges, template instantiations, and diagnostics help pinpoint issues faster than raw
clang -ast-dumpoutput. - Integrations: Hooks into clangd JSON output, so editors can deep-link from source code to acav’s visualization.
- Use cases: Teaching compiler courses, auditing complex metaprogramming, and designing refactoring passes.
The project pairs nicely with jqcpp for querying AST metadata—expect a blog post on that workflow soon.