Developer Tools / 2024–26
ACAV
ACAV shows C++ source, Clang AST nodes, declaration context, comments, and diagnostics in one C++/Qt desktop application.

What ACAV shows
Clang exposes a rich semantic model of C++, but the default inspection experience is usually a huge textual AST dump. It is difficult to connect a node back to the precise source range, compare related declarations, or explain what the compiler sees to another person.
ACAV displays the AST beside the source code. Selecting code highlights related nodes; selecting a node shows its source range, properties, declaration context, comments, and diagnostics.
Handling large ASTs
Materializing an entire AST into QML components would make realistic translation units slow and memory-heavy. ACAV indexes the underlying compiler data and creates visible UI nodes lazily, keeping interaction responsive while preserving access to the full structure.
Source-location code handles spelling locations, macro expansion locations, source ranges, and generated nodes. Compiler objects remain owned by the C++ layer; the QML interface receives extracted data with a defined lifetime.
Uses
The application supports compiler research, static-analysis development, debugging, and teaching. Engineers and students can select a compiler node, see the code that produced it, and inspect its properties in the same window.