C-tuki Maguyva-palvelussa: kutsugraafit järjestelmä- ja sulautetulle koodille
C:ssä kutsugraafi on arkkitehtuuri. Agentin kannattaa lukea se ennen muokkaamista.
Päätteet
.c, .h
Maguyva tukee Luaa AST-jäsennyksellä, symboleilla ja graafilla, jotta tekoälyagentit voivat seurata moduuleja, kaksoispistemetodeja, metataulukkoluokkia ja require-ketjuja Lua-koodissa.
Luassa ei ole avainsanaa luokille. Oliot ovat tauluja, metodit ovat niihin tallennettuja funktioita, ja perintä on setmetatable-kutsu. Moduuli on mitä tahansa, minkä require palauttaa. Rakenne on todellinen, mutta se elää konventioissa, joita tekstihaku ei ymmärrä.
Maguyva lukee nämä konventiot rakenteena, joten agentti voi kysyä, kuka kutsuu metodia tai mitkä taulut laajentavat kantaa, ja saada suoran vastauksen.
Maguyva kattaa .lua-tiedostot. Funktioesittelyt, local function-määritelmät ja funktiolausekkeet poimitaan, ja kaksoispistemetodit kuten function Account:deposit() liitetään omistavaan tauluunsa Account. Metodiketjuja seurataan kutsu kerrallaan, ja self-kutsut pysyvät sidottuina ympäröivään olioon.
Luan konventioista tulee suhteita näin:
require, dofile ja loadfile tallentavat tuonteja.setmetatable-kutsu tallentaa perinnän.ClassName:new(), ClassName.new() ja setmetatable({...}, ClassName) lasketaan instanssin luonneiksi.error() tallentaa virheen heiton, ja pcall ja xpcall tallentavat sen sieppauksen.Graafi tallentaa myös luvut ja kirjoitukset sekä ohjausvuon.
Inventory:addItem ja mistä skripteistä?” (find_symbol, sitten dependency_search incoming)util.http require-kutsulla?” (dependency_search)get_task_context)string, table, math, io, os, coroutine, debug ja utf8) sekä Neovimin vim.*- ja OpenRestyn ngx.*-rajapinnat. Näiden rajapintojen kutsut eivät ole graafin kaaria, joten käytä niiden löytämiseen text_pattern_search-työkalua.structural_search-työkalun esiasetukset classes ja imports eivät valitse Luasta mitään. Käytä sen sijaan find_symbol- tai text_pattern_search-työkalua.Yhdistä repositorio pikaoppaan avulla ja tarkista sitten tukimatriisi yhteensopivuussivulta. Jos pelimoottori upottaa Luan natiivikoodiin, lue myös C-opas.
Parhaiten sopii
Agenttien työnkulut
Moottorin yksityiskohdat
Hyödylliset MCP-liittymäkohdat
Käytä sitä moduulifunktiolle tai kaksoispistemetodille, kun tarvitset määritelmän ja kutsujat.
Käytä incoming-läpikäyntiä jaetulle moduulille nähdäksesi, mitkä tiedostot lataavat sen require-kutsulla, ennen sen siirtämistä.
Käytä sitä `vim.*`-, `ngx.*`- tai standardikirjastokutsuihin, jotka suodatetaan pois graafista.
Aiheeseen liittyvät oppaat
C:ssä kutsugraafi on arkkitehtuuri. Agentin kannattaa lukea se ennen muokkaamista.
Päätteet
.c, .h
Hyödyllinen, kun Python-koodikannat leviävät palveluiden, skriptien, tyyppimäärittelytiedostojen (stub) ja operatiivisen liimakoodin yli.
Päätteet
.py, .pyi, .pyw