C у Maguyva: графи викликів для системного та вбудованого коду
У C граф викликів і є архітектурою. Агентові варто прочитати його до того, як щось правити.
Розширення
.c, .h
Maguyva підтримує модулі Pascal і Delphi з AST, символами та графом, щоб ШІ-агенти картографували речення uses, класи й процедури до змін.
Застосунки на Delphi та Free Pascal часто ростуть довкола кількох великих модулів, якими користується все інше. Форми успадковують базові форми, компоненти — базові компоненти, а бізнес-правила живуть у процедурах, які викликає десяток екранів. Пофайлово код читається добре, але зміни ламаються саме на залежностях.
Maguyva спершу дає агентові структуру модулів і класів, щоб він міг сказати, що зачепить зміна, перш ніж щось писати.
Maguyva охоплює вихідні модулі .pas і .pp. Визначення процедур і функцій витягуються як символи, що викликаються, а з назв визначень вилучаються ключові слова procedure, function, var і const. Класи та інтерфейси можна вибрати як визначення типів у структурному пошуку.
Імпорти будуються з речень uses; ключове слово вилучається, і в графі зберігаються назви модулів. Виклики нормалізуються: прибираються префікси членів, аргументи та зовнішні дужки, тож виклик Self.Save(x) зберігається як Save.
Граф фіксує виклики, успадкування, реалізацію інтерфейсів, перевизначення, створення екземплярів, посилання на типи, читання й записи, а також ребра збудження та обробки винятків. Близько 107 процедур бібліотеки часу виконання (WriteLn, ReadLn, Inc, Dec, Ord тощо) виключаються зі зв’язків.
DataModuleMain і що з нього викликають?» (dependency_search incoming)TBaseEditForm і які методи перевизначають?» (find_symbol, потім dependency_search)get_task_context).pas і .pp. Файли проєктів і форм Delphi, як-от .dpr і .dfm, не входять до списку розширень, тому розмітка форм і налаштування проєкту лишаються поза графом.methods у structural_search нічого не вибирає. Використовуйте пресет functions.text_pattern_search.Під’єднайте репозиторій за швидким стартом, потім перегляньте матрицю підтримки на сторінці сумісності. Якщо застосунок підключає бібліотеки на C, прочитайте також посібник із C.
Найкраще підходить
Робочі процеси агента
Деталі рушія
Корисні точки входу MCP
Використовуйте з назвою класу, форми чи процедури, коли потрібні визначення й посилання.
Використовуйте обхід incoming для спільного модуля чи базового класу, щоб побачити, які модулі та нащадки від них залежать.
Використовуйте для промптів на кшталт «поясни, як проводиться рахунок — від обробника кнопки до модуля бази даних».
Пов'язані гайди
У C граф викликів і є архітектурою. Агентові варто прочитати його до того, як щось правити.
Розширення
.c, .h
Це той момент, коли широка підтримка мов перестає бути просто статистикою і стає інструментом модернізації.
Розширення
.cbl, .cob, .cpy