C в Maguyva: графы вызовов для системного и встраиваемого кода
В C граф вызовов и есть архитектура. Агенту стоит прочитать его до того, как что-то править.
Расширения
.c, .h
Maguyva поддерживает Fortran с AST, символами и графом, чтобы ИИ-агенты отслеживали подпрограммы, модули и производные типы до изменения численного кода.
Кодовые базы на Fortran обычно старые, большие и написаны специалистами предметной области, а не командами разработчиков. Процедуры с именами SOLVE, Solve и solve — это одна и та же процедура. Модули используются сотнями файлов, а библиотека встроенных процедур настолько велика, что наивный список вызовов в основном состоит из SQRT, SUM и WRITE.
Агент, который умеет только grep, тонет в этом шуме. Maguyva сначала даёт ему структуру: какие программные единицы существуют, какие модули они используют и какие пользовательские процедуры вызывают друг друга.
Maguyva охватывает исходный код в фиксированной и свободной форме (.f, .for, .ftn, .f90, .f95, .f03, .f08). Функции и подпрограммы извлекаются как вызываемые символы, а производные типы можно выбрать как определения типов в структурном поиске.
Сопоставление символов не учитывает регистр — как и сам Fortran. Связи импорта строятся из use и include; ключевое слово удаляется, и в графе сохраняется имя модуля. Вызовы, чтения, присваивания, ссылки на типы и наследование расширенных производных типов тоже входят в граф.
Фильтр связей отбрасывает около 165 встроенных процедур (операторы ввода-вывода, математические процедуры, процедуры для массивов, строк, преобразования типов и работы с битами), поэтому оставшиеся рёбра указывают на ваш собственный код.
compute_flux и какие модули они используют?» (find_symbol, затем dependency_search incoming)get_task_context)constants.» (text_pattern_search по use constants, затем find_symbol)structural_search используйте пресет functions; пресет methods не выбирает узлы Fortran.WRITE или OPEN, используйте text_pattern_search.Подключите репозиторий по быстрому старту, затем изучите полную матрицу поддержки на странице совместимости. Если ваш Fortran соседствует со связующим кодом на C, прочитайте и руководство по C.
Лучше всего подходит
Сценарии работы агента
Детали движка
Полезные точки входа MCP
Начните с имени подпрограммы, функции или модуля; сопоставление, как и в Fortran, не учитывает регистр.
Используйте обход incoming для процедуры решателя или общего модуля, чтобы увидеть всех вызывающих до численного изменения.
Используйте для промптов вроде «проследи, как в цикле решателя применяются граничные условия».
Похожие гайды
В C граф вызовов и есть архитектура. Агенту стоит прочитать его до того, как что-то править.
Расширения
.c, .h
Здесь широкая поддержка языков перестаёт быть просто цифрой в статистике и становится инструментом модернизации.
Расширения
.cbl, .cob, .cpy