C in Maguyva: grafi delle chiamate per codice di sistema ed embedded
In C il grafo delle chiamate è l'architettura. Un agente dovrebbe leggerlo prima di modificare.
Estensioni
.c, .h
Maguyva supporta Lua con AST, simboli e grafo, così gli agenti IA seguono moduli, metodi con i due punti, classi basate su metatable e catene di require.
Lua non ha una parola chiave per le classi. Gli oggetti sono tabelle, i metodi sono funzioni memorizzate al loro interno e l’ereditarietà è una chiamata a setmetatable. Un modulo è qualsiasi cosa restituisca require. La struttura è reale, ma vive in convenzioni che una ricerca testuale non capisce.
Maguyva legge queste convenzioni come struttura, così un agente può chiedere chi chiama un metodo o quali tabelle estendono una base e ottenere una risposta diretta.
Maguyva copre i file .lua. Vengono estratte dichiarazioni di funzione, definizioni local function ed espressioni di funzione, e i metodi con i due punti come function Account:deposit() vengono attribuiti alla tabella proprietaria, Account. Le catene di metodi vengono seguite chiamata per chiamata, e le chiamate su self restano legate all’oggetto che le contiene.
Le convenzioni di Lua diventano relazioni:
require, dofile e loadfile registrano import.setmetatable a livello di modulo registra un’ereditarietà.ClassName:new(), ClassName.new() e setmetatable({...}, ClassName) contano come istanziazione.error() registra un throw, e pcall e xpcall registrano un catch.Il grafo registra anche letture e scritture e flusso di controllo.
Inventory:addItem, e da quali script?” (find_symbol, poi dependency_search incoming)util.http con require?” (dependency_search)get_task_context)string, table, math, io, os, coroutine, debug e utf8) più le API vim.* di Neovim e ngx.* di OpenResty. Le chiamate a queste API non sono archi del grafo, quindi usa text_pattern_search per trovarle.classes e imports di structural_search non selezionano nulla per Lua. Usa invece find_symbol o text_pattern_search.Collega un repository con la guida rapida, poi consulta la matrice di supporto nella pagina di compatibilità. Per i motori che incorporano Lua nel codice nativo, leggi anche la guida a C.
Il più adatto per
Workflow degli agenti
Dettagli del motore
Punti di ingresso MCP utili
Usalo per una funzione di modulo o un metodo con i due punti quando ti servono definizione e chiamanti.
Usa l'attraversamento incoming su un modulo condiviso per vedere quali file lo caricano con require prima di spostarlo.
Usalo per le chiamate a `vim.*`, `ngx.*` o alla libreria standard, che vengono filtrate dal grafo.
Guide correlate
In C il grafo delle chiamate è l'architettura. Un agente dovrebbe leggerlo prima di modificare.
Estensioni
.c, .h
Utile quando i codebase Python si estendono su servizi, script, stub di tipo, e collante operativo.
Estensioni
.py, .pyi, .pyw