C в Maguyva: графы вызовов для системного и встраиваемого кода
В C граф вызовов и есть архитектура. Агенту стоит прочитать его до того, как что-то править.
Расширения
.c, .h
Maguyva поддерживает Ada с AST, символами и графом, чтобы ИИ-агенты отслеживали спецификации пакетов, тела, задачи и теговые типы в долгоживущих системах на Ada.
Ada отделяет то, что пакет обещает (.ads), от того, как он это выполняет (.adb). Это хорошая инженерия, и вместе с тем одно изменение затрагивает несколько файлов, которые текстовый поиск за вас не свяжет. Долгоживущие системы на Ada добавляют ещё один слой: обобщения, теговые типы, задачи и защищённые объекты, связи между которыми важнее любого отдельного файла.
Maguyva даёт агенту эту карту зависимостей до того, как он предложит правку, — именно в том порядке, которого ожидает ревью высокой надёжности.
Maguyva охватывает .ads, .adb и .ada. Тела подпрограмм, а также спецификации процедур и функций извлекаются как вызываемые символы, поэтому искать можно и спецификацию процедуры, и её тело. Сопоставление символов не учитывает регистр — как и сама Ada.
Импорты строятся из предложений with и use; ключевое слово удаляется, и в графе сохраняется имя пакета. Граф также фиксирует вызовы, наследование и переопределения для теговых типов, создание экземпляров, ссылки на типы, чтения и записи, а также рёбра возбуждения и обработки исключений.
В структурном поиске типы задач, защищённые типы, типы записей и интерфейсные типы можно выбрать как определения типов, а тела входов — как методы.
Flight_Control.Sensors и какие его подпрограммы вызывают?» (dependency_search incoming)Compute_Trajectory и всех вызывающих.» (find_symbol)get_task_context)Put_Line, Put и Get, сохраняются намеренно.use меняют видимость, но в структурном поиске не выбираются как импорты; предложения with — выбираются.find_symbol.Подключите репозиторий по быстрому старту, затем изучите матрицу поддержки на странице совместимости. Если ваш код на Ada связан с C, прочитайте и руководство по C.
Лучше всего подходит
Сценарии работы агента
Детали движка
Полезные точки входа MCP
Используйте, чтобы найти спецификацию и тело подпрограммы вместе со ссылками.
Используйте обход incoming для пакета перед изменением его спецификации, чтобы увидеть все зависимые модули.
Используйте для промптов вроде «объясни, как задача телеметрии передаёт данные защищённому объекту журналирования».
Похожие гайды
В C граф вызовов и есть архитектура. Агенту стоит прочитать его до того, как что-то править.
Расширения
.c, .h
C++ прячет настоящую цель вызова за пространствами имён, перегрузками и виртуальной диспетчеризацией. Граф помогает агенту её найти.
Расширения
.c, .c++, .cc, .cpp, +ещё 6