C in Maguyva: Aufrufgraphen für System- und Embedded-Code
In C ist der Aufrufgraph die Architektur. Ein Agent sollte ihn lesen, bevor er etwas ändert.
Dateiendungen
.c, .h
Maguyva unterstützt Lua mit AST, Symbolen und Graph, damit KI-Agenten Module, Doppelpunkt-Methoden, Metatable-Klassen und require-Ketten in Lua-Code verfolgen.
Lua hat kein Schlüsselwort für Klassen. Objekte sind Tabellen, Methoden sind darin gespeicherte Funktionen, und Vererbung ist ein setmetatable-Aufruf. Ein Modul ist, was auch immer require zurückgibt. Die Struktur ist real, aber sie steckt in Konventionen, die eine Textsuche nicht versteht.
Maguyva liest diese Konventionen als Struktur, damit ein Agent fragen kann, wer eine Methode aufruft oder welche Tabellen eine Basis erweitern, und eine direkte Antwort bekommt.
Maguyva deckt .lua-Dateien ab. Funktionsdeklarationen, local function-Definitionen und Funktionsausdrücke werden extrahiert, und Doppelpunkt-Methoden wie function Account:deposit() werden ihrer besitzenden Tabelle Account zugeordnet. Methodenketten werden Aufruf für Aufruf verfolgt, und Aufrufe über self bleiben an das umgebende Objekt gebunden.
Die Konventionen von Lua werden so auf Beziehungen abgebildet:
require, dofile und loadfile erfassen Importe.setmetatable-Aufruf auf Modulebene erfasst Vererbung.ClassName:new(), ClassName.new() und setmetatable({...}, ClassName) zählen als Instanziierung.error() erfasst ein Throw, pcall und xpcall erfassen ein Catch.Der Graph erfasst außerdem Lese- und Schreibzugriffe sowie den Kontrollfluss.
Inventory:addItem auf, und aus welchen Skripten?“ (find_symbol, dann dependency_search incoming)util.http per require?“ (dependency_search)get_task_context)string, table, math, io, os, coroutine, debug und utf8) sowie die Neovim-API vim.* und die OpenResty-API ngx.*. Aufrufe dieser APIs sind keine Graphkanten; verwende text_pattern_search, um sie zu finden.classes und imports in structural_search für Lua nichts aus. Verwende stattdessen find_symbol oder text_pattern_search.Verbinde ein Repository über den Schnellstart und prüfe dann die Unterstützungsmatrix auf der Kompatibilitätsseite. Für Engines, die Lua in nativen Code einbetten, lies auch den C-Leitfaden.
Am besten geeignet
Agentenabläufe
Engine-Einordnung
Nützliche MCP-Einstiegspunkte
Nutz es für eine Modulfunktion oder Doppelpunkt-Methode, wenn du Definition und Aufrufer brauchst.
Nutz die eingehende Traversierung auf einem gemeinsamen Modul, um vor dem Verschieben zu sehen, welche Dateien es per require laden.
Nutz es für Aufrufe in `vim.*`, `ngx.*` oder die Standardbibliothek, die aus dem Graphen gefiltert werden.
Verwandte Guides
In C ist der Aufrufgraph die Architektur. Ein Agent sollte ihn lesen, bevor er etwas ändert.
Dateiendungen
.c, .h
Nützlich, wenn sich Python-Codebasen über Services, Skripte, Type Stubs und operativen Klebecode erstrecken.
Dateiendungen
.py, .pyi, .pyw