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 Pascal and Delphi units with AST, symbol, and graph support, so AI agents can map uses clauses, classes, and procedures before changing them.
Delphi and Free Pascal applications often grow around a few large units that everything else uses. Forms inherit from base forms, components from base components, and business rules sit in procedures that a dozen screens call. The code reads well file by file, but the dependencies are where changes go wrong.
Maguyva gives an agent the unit and class structure first, so it can say what a change touches before it writes anything.
Maguyva covers .pas and .pp source units. Procedure and function definitions are extracted as callable symbols, with the procedure, function, var, and const keywords stripped from definition names. Classes and interfaces are selectable as type definitions in structural search.
Imports come from uses clauses, with the keyword stripped so the graph stores unit names. Calls are normalized by removing member prefixes, arguments, and wrapping parentheses, so a call written as Self.Save(x) is stored as Save.
The graph records calls, inheritance, interface implementation, overrides, instantiation, type references, reads and writes, and exception raise and handler edges. Around 107 runtime-library routines (WriteLn, ReadLn, Inc, Dec, Ord, and similar) are filtered out of relationships.
DataModuleMain, and what do they call from it?” (dependency_search incoming)TBaseEditForm, and which methods do they override?” (find_symbol, then dependency_search)get_task_context).pas and .pp are mapped to Pascal. Delphi project and form files such as .dpr and .dfm are not in the extension list, so form layouts and project wiring are outside the graph.methods preset in structural_search selects nothing. Use the functions preset.text_pattern_search for them.Connect a repository with the quickstart, then check the support matrix on the compatibility page. If the application links C libraries, read the C guide too.
Best fit
Agent workflows
Engine details
Useful MCP entry points
Use it for a class, form, or procedure name when you need its definition and references.
Use incoming traversal on a shared unit or base class to see which units and descendants depend on it.
Use it for prompts like “explain how an invoice is posted, from the button handler to the database unit.”
Related guides
In C, the call graph is the architecture. An agent should read it before it edits.
Extensions
.c, .h
This is where broad language support stops being a stat and starts becoming a modernization tool.
Extensions
.cbl, .cob, .cpy