# Поддержка COBOL в Maguyva: анализ зависимостей для модернизации legacy-систем

Canonical source: https://maguyva.ai/ru/languages/cobol

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva поддерживает COBOL с разбором AST и извлечением символов, чтобы ИИ-агенты могли составлять карту структуры программ, использования копибуков и путей зависимостей перед модернизацией или рефакторингом.

## Сводка поддержки

- Уровень: Поддержка AST и символов
- Программирование
- Расширения: .cbl, .cob, .cpy
- Настоящий AST-разбор для синтаксически осведомлённого поиска и структурного контекста.
- Именованные символы обеспечивают семантический поиск и перекрёстные ссылки. Навигация по графу доступна, когда включено извлечение связей.
- Этот язык добавляет символы и связи в поиск с учётом графа; поддерживаемые типы рёбер зависят от присущих ему конструкций.
- Доступны и AST-разбор, и извлечение символов.

## Лучше всего подходит

- Команды модернизации, работающие с системами COBOL, которые до сих пор обслуживают важные бизнес-процессы.
- Репозитории или извлечённые кодовые базы, где перед внесением изменений нужно составить карту копибуков, batch-логики и процедурного потока выполнения.
- Работа по исследованию с помощью агентов, где первая цель — понять и задокументировать legacy-хозяйство, а не переписывать его вслепую.

## Сценарии работы агента

- Составить карту связей программ и копибуков перед планированием шага модернизации.
- Определить, какие подпрограммы или определения данных затрагивает предлагаемое изменение.
- Дать инженерам более безопасную отправную точку для документирования, миграции или планирования рефакторинга.

## Почему COBOL — значимый кейс для Maguyva

Заявить о поддержке ИИ для современных языков приложений может кто угодно. COBOL полезнее в качестве проверки, потому что заставляет продукт честно ответить, в чём он действительно хорош. В legacy-коде ценность не в быстрой генерации. Она в исследовании, построении карты зависимостей, тщательном ревью и планировании модернизации.

Если Maguyva полезен для COBOL, то именно потому, что помогает инженерам понять систему, которая всё ещё важна, прежде чем приступать к её модернизации.

## Что Maguyva реально извлекает в COBOL

Maguyva охватывает `.cbl`, `.cob` и `.cpy`, так что копибуки остаются в той же области поиска, что и программы. Также при анализе связей убираются обрамляющие кавычки и скобки из целей вызовов — это важно в кодовых базах COBOL, где такие обёртки встречаются достаточно часто, чтобы наивное текстовое сопоставление становилось зашумлённым.

Для объектно-ориентированного COBOL Maguyva извлекает связи наследования классов. Он также связывает переопределения методов, когда родительский и дочерний классы определены в одном исходном файле. Имена методов с указанием класса позволяют отличить переопределяющий метод от метода родительского класса, помогая агенту изучить унаследованное поведение перед изменением класса.

## Полезные MCP-сценарии для исследования при модернизации

Лучшие точки входа ориентированы на исследование:

- `get_task_context` для запросов вроде «проследить использование копибука в потоке пакетного обновления клиента».
- `text_pattern_search` для имён программ, копибуков и устойчивых точек входа пакетной обработки.
- `dependency_search` после того, как вы нашли общую подпрограмму или определение и хотите увидеть, где они используются.

## Когда эта страница полезна

Эта страница — про исследование legacy-кода и планирование модернизации, а не про генерацию кода. Если ваше хозяйство сочетает COBOL с более новыми сервисными слоями, сравните с [Java](/ru/languages/java) или [C#](/ru/languages/csharp). Если вам нужна только матрица поддержки, используйте [совместимость](/ru/docs/compatibility).

## Детали движка

- Поддержка COBOL включает `.cbl`, `.cob` и `.cpy`, так что copybook-и остаются в той же области поиска, что и программы.
- Цели вызовов в кавычках нормализуются путём удаления обрамляющих кавычек и скобок перед анализом связей.
- Объектно-ориентированный COBOL поддерживает наследование классов. Для переопределений методов используются имена с указанием класса, когда родительский и дочерний классы определены в одном исходном файле.

## Полезные точки входа MCP

- `get_task_context`: Начните здесь для поисковых запросов вроде «отследи использование copybook в потоке пакетного обновления клиентов».
- `text_pattern_search`: Используйте его для имён программ, имён copybook и точек входа пакетной обработки, когда терминология стабильна.
- `dependency_search`: Используйте его после того, как определите процедуру или общее определение и захотите увидеть, где оно используется.
