C i Maguyva: anropsgrafer för system- och inbyggd kod
I C är anropsgrafen arkitekturen. En agent bör läsa den innan den redigerar.
Filändelser
.c, .h
Maguyva stöder Lua med AST, symboler och graf, så att AI-agenter kan följa moduler, kolonmetoder, metatabellklasser och require-kedjor i Lua-kod.
Lua har inget nyckelord för klasser. Objekt är tabeller, metoder är funktioner som lagras i dem och arv är ett anrop till setmetatable. En modul är vad require än returnerar. Strukturen är verklig, men den bor i konventioner som textsökning inte förstår.
Maguyva läser de konventionerna som struktur, så att en agent kan fråga vem som anropar en metod eller vilka tabeller som utökar en bas och få ett direkt svar.
Maguyva täcker .lua-filer. Funktionsdeklarationer, local function-definitioner och funktionsuttryck extraheras, och kolonmetoder som function Account:deposit() knyts till sin ägartabell, Account. Metodkedjor följs anrop för anrop, och anrop på self förblir kopplade till det omgivande objektet.
Luas konventioner blir relationer så här:
require, dofile och loadfile registrerar importer.setmetatable-anrop på modulnivå registrerar arv.ClassName:new(), ClassName.new() och setmetatable({...}, ClassName) räknas som instansiering.error() registrerar ett throw, och pcall och xpcall registrerar en catch.Grafen registrerar också läsningar och skrivningar samt kontrollflöde.
Inventory:addItem, och från vilka skript?” (find_symbol, sedan dependency_search incoming)util.http med require?” (dependency_search)get_task_context)string, table, math, io, os, coroutine, debug och utf8) plus Neovims API vim.* och OpenRestys API ngx.*. Anrop till de API:erna är inga grafkanter, så använd text_pattern_search för att hitta dem.classes och imports i structural_search ingenting för Lua. Använd i stället find_symbol eller text_pattern_search.Anslut ett repo med snabbstarten och kontrollera sedan stödmatrisen på kompatibilitetssidan. För motorer som bäddar in Lua i native-kod, läs även guiden för C.
Bäst lämpad för
Agentarbetsflöden
Motordetaljer
Användbara MCP-ingångar
Använd det för en modulfunktion eller kolonmetod när du behöver definitionen och anroparna.
Använd incoming-traversering på en delad modul för att se vilka filer som laddar den med require innan den flyttas.
Använd det för anrop till `vim.*`, `ngx.*` eller standardbiblioteket, som filtreras bort från grafen.
Relaterade guider
I C är anropsgrafen arkitekturen. En agent bör läsa den innan den redigerar.
Filändelser
.c, .h
Användbart när Python-kodbaser sprider ut sig över tjänster, skript, typstubbar och kod som håller ihop driften.
Filändelser
.py, .pyi, .pyw