COBOL Support in Maguyva: Dependency Analysis for Legacy Modernization
This is where broad language support stops being a stat and starts becoming a modernization tool.
Extensions
.cbl, .cob, .cpy
Maguyva parses ABAP with AST, symbol, and graph support, so AI agents can map classes, interfaces, redefinitions, and exceptions in SAP custom code.
Custom ABAP often carries decades of business rules. The code is object-oriented in places and procedural in others, and the inheritance and interface structure decides which method runs. Reading one class at a time hides that.
Maguyva gives an agent the class graph first, so a change plan starts from what depends on a class rather than from a guess.
Maguyva parses .abap source with a dedicated ABAP grammar. Symbols include class definitions and implementations, interfaces, method declarations and implementations, and FORM routines.
The graph records the relationships ABAP developers care about:
CLASS ... INHERITING FROM.INTERFACES.METHODS ... REDEFINITION.RAISE EXCEPTION and CATCH.obj->m( ), cls=>m( ), CALL METHOD), type references from TYPE and TYPE REF TO, and public-section method exports attributed to their class.IF, CASE, LOOP, TRY) inside method bodies.zcl_order_base, and which of its methods do they redefine?” (find_symbol, then dependency_search incoming)zcx_pricing_error raised, and who catches it?” (dependency_search)get_task_context)SELECT ... FROM ... INTO), EXEC SQL, and AUTHORITY-CHECK do not parse in the current ABAP grammar, so table reads through SQL are not graph edges yet. Use text_pattern_search for table names.INTERFACES clauses are implementation relationships, not imports. Only INCLUDE statements are selected as imports in structural search..abap files. It does not connect to an SAP system.Connect a repository with the quickstart, then check the support matrix on the compatibility page. For other legacy estates, see the COBOL guide.
Best fit
Agent workflows
Engine details
Useful MCP entry points
Use it for a class, interface, or method name when you need its definition and references.
Use incoming traversal on a base class or interface to find subclasses, implementers, and callers before a change.
Use it for database table names and SQL statements, which the graph does not cover yet.
Related guides
This is where broad language support stops being a stat and starts becoming a modernization tool.
Extensions
.cbl, .cob, .cpy
Useful when the repo is full of Spring services, internal frameworks, and code that has survived several organizational eras.
Extensions
.java