C Support in Maguyva: Call Graphs for Systems and Embedded Code
In C, the call graph is the architecture. An agent should read it before it edits.
Extensions
.c, .h
Maguyva parses Ada with AST, symbol, and graph support, so AI agents can follow package specs, bodies, tasks, and tagged types in long-lived Ada systems.
Ada separates what a package promises (.ads) from how it does it (.adb). That is good engineering, and it also means a single change touches several files that a text search will not connect for you. Long-lived Ada systems add another layer: generics, tagged types, tasks, and protected objects whose relationships matter more than any one file.
Maguyva gives an agent that dependency map before it proposes an edit, which is the order high-integrity review expects.
Maguyva covers .ads, .adb, and .ada. Subprogram bodies and procedure and function specifications are extracted as callable symbols, so a routine’s spec and its body are both searchable. Symbol matching is case-insensitive, as Ada itself is.
Imports come from with and use clauses, with the keyword stripped so the graph stores the package name. The graph also records calls, inheritance and overrides on tagged types, instantiation, type references, reads and writes, and exception raise and handler edges.
In structural search, task types, protected types, record types, and interface types are selectable as type definitions, and entry bodies are selectable as methods.
Flight_Control.Sensors, and which of its subprograms do they call?” (dependency_search incoming)Compute_Trajectory and every caller.” (find_symbol)get_task_context)Put_Line, Put, and Get are kept on purpose.use clauses change visibility but are not selected as imports in structural search; with clauses are.find_symbol for named types.Connect a repository with the quickstart, then check the support matrix on the compatibility page. If your Ada code binds to C, read the C guide too.
Best fit
Agent workflows
Engine details
Useful MCP entry points
Use it to find a subprogram's specification and body together, with references.
Use incoming traversal on a package before changing its specification to see every dependent unit.
Use it for prompts like “explain how the telemetry task hands data to the logging protected object.”
Related guides
In C, the call graph is the architecture. An agent should read it before it edits.
Extensions
.c, .h
C++ hides the real call target behind namespaces, overloads, and virtual dispatch. The graph helps an agent find it.
Extensions
.c, .c++, .cc, .cpp, +6 more