Поддержка COBOL в Maguyva: анализ зависимостей для модернизации legacy-систем
Здесь широкая поддержка языков перестаёт быть просто цифрой в статистике и становится инструментом модернизации.
Расширения
.cbl, .cob, .cpy
Maguyva поддерживает ABAP с AST, символами и графом, чтобы ИИ-агенты картировали классы, интерфейсы, переопределения и исключения в собственном коде SAP.
Собственный ABAP часто несёт в себе десятилетия бизнес-правил. Код где-то объектно-ориентированный, где-то процедурный, а то, какой метод выполнится, решает структура наследования и интерфейсов. Если читать по одному классу, этого не видно.
Maguyva сначала даёт агенту граф классов, и план изменений начинается с того, что зависит от класса, а не с догадки.
Maguyva разбирает исходный код .abap с помощью отдельной грамматики ABAP. Символы включают определения и реализации классов, интерфейсы, объявления и реализации методов, а также процедуры FORM.
Граф фиксирует связи, важные для разработчиков на ABAP:
CLASS ... INHERITING FROM.INTERFACES.METHODS ... REDEFINITION.RAISE EXCEPTION и CATCH.obj->m( ), cls=>m( ), CALL METHOD), ссылки на типы из TYPE и TYPE REF TO, а также экспорт методов публичной секции, привязанный к их классу.IF, CASE, LOOP, TRY) внутри тел методов.zcl_order_base и какие из его методов переопределяют?» (find_symbol, затем dependency_search incoming)zcx_pricing_error и кто её перехватывает?» (dependency_search)get_task_context)SELECT ... FROM ... INTO), EXEC SQL и AUTHORITY-CHECK не разбираются текущей грамматикой ABAP, поэтому чтение таблиц через SQL пока не становится рёбрами графа. Для имён таблиц используйте text_pattern_search.INTERFACES — это связи реализации, а не импорты. В структурном поиске импортами считаются только операторы INCLUDE..abap. К системе SAP она не подключается.Подключите репозиторий по быстрому старту, затем изучите матрицу поддержки на странице совместимости. Для других унаследованных систем смотрите руководство по COBOL.
Лучше всего подходит
Сценарии работы агента
Детали движка
Полезные точки входа MCP
Используйте с именем класса, интерфейса или метода, когда нужны определение и ссылки.
Перед изменением используйте обход incoming для базового класса или интерфейса, чтобы найти подклассы, реализации и вызывающих.
Используйте для имён таблиц базы данных и SQL-операторов, которые граф пока не покрывает.
Похожие гайды
Здесь широкая поддержка языков перестаёт быть просто цифрой в статистике и становится инструментом модернизации.
Расширения
.cbl, .cob, .cpy
Полезно, когда репозиторий полон сервисов Spring, внутренних фреймворков и кода, пережившего несколько организационных эпох.
Расширения
.java