Show HN: Anyone interested in a tool helps to explore C++ ASTs
ACAV is an interactive tool designed for visualizing Abstract Syntax Trees (ASTs) in C, C++, and Objective-C. It allows users to explore real codebases by inspecting ASTs and navigating between source code and AST nodes. The tool is particularly useful for students, researchers, and developers working with Clang-based tools, although it is limited to read-only exploration of ASTs.
- ▪ACAV is built with Clang and Qt and requires a JSON compilation database to function.
- ▪The tool features a three-program architecture that includes an interactive GUI application and background processing.
- ▪ACAV is intended for real codebases and maintains responsiveness through AST caching.
Opening excerpt (first ~120 words) tap to expand
ACAV (Aurora Clang AST Viewer) is an interactive Abstract Syntax Tree (AST) visualization tool for C, C++, and Objective-C, built with Clang and Qt. Given a JSON compilation database such as compile_commands.json, ACAV lets you open a real project, inspect the AST for a translation unit, and move directly between source code and AST nodes. Screenshot: ACAV displaying the file explorer, source-code panel, AST tree view, declaration-context panels, and log panel. Project Links Project codebase Project introduction page Online manual At a Glance With a valid compilation database, ACAV lets you: inspect the AST for a translation unit in a navigable tree, move in both directions between source locations and AST nodes, view declaration context while exploring program structure, search both…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Github.