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