C no Maguyva: grafos de chamadas para código de sistemas e embarcado
Em C, o grafo de chamadas é a arquitetura. Um agente deveria lê-lo antes de editar.
Extensões
.c, .h
O Maguyva oferece suporte a C++ com AST, símbolos e grafo, para que agentes de IA sigam classes, namespaces, sobrescritas virtuais e chamadores em grandes bases C++.
Em C++, nomes não são únicos. send pode ser uma função livre, um membro de três classes e uma sobrescrita em uma quarta. Namespaces, templates e definições fora da classe, como Socket::send em um arquivo .cpp, espalham um tipo por muitos arquivos. A busca textual devolve todas as correspondências, mas não diz a um agente qual delas uma chamada alcança.
O Maguyva indexa classes, membros e chamadas com seus donos, para que um agente siga a estrutura real antes de editar.
O Maguyva cobre as extensões comuns de fontes e headers C++, incluindo .cpp, .cc, .cxx, .hpp, .hh e .hxx. Classes, structs e funções são extraídas, e uma definição fora da classe como void Socket::send() é atribuída à classe e ao namespace donos. Membros virtuais são registrados, e parâmetros de template fazem parte das assinaturas.
A tipagem de receivers segue parâmetros, declarações locais, campos, loops for baseados em intervalo e auto, e enxerga através de unique_ptr, shared_ptr e optional, então uma chamada como conn->send() pode ser resolvida para a classe certa. Cláusulas de classe base alimentam a herança, e expressões new contam como instanciação.
Vale o mesmo mascaramento de macros de exportação e anotação do C. Cerca de 273 nomes da biblioteca padrão (std::cout, std::endl, printf e semelhantes) são filtrados das relações. O grafo registra chamadas, includes, herança, sobrescritas, instanciação, referências de tipo, leituras e escritas, e arestas de throw.
Renderer::draw e quem o chama?” (dependency_search)OrderBook::match e todos os chamadores.” (find_symbol)get_task_context).h aparece nas listas de extensões de C, C++ e Objective-C, então em árvores que misturam C e C++ os headers são compartilhados entre esses perfis.text_pattern_search para macros e usos de std::.Conecte um repositório pelo início rápido e depois confira a matriz de suporte na página de compatibilidade. Se parte da árvore é C puro, leia também o guia de C.
Uso ideal
Fluxos de trabalho de agente
Detalhes do motor
Pontos de entrada MCP úteis
Use com um nome qualificado como `OrderBook::match` quando precisar da definição e dos chamadores.
Use em uma classe base ou método virtual para encontrar sobrescritas e chamadores antes de uma mudança de assinatura.
Use para prompts como "explique como uma mensagem de dados de mercado chega ao motor de estratégias".
Guias relacionados
Em C, o grafo de chamadas é a arquitetura. Um agente deveria lê-lo antes de editar.
Extensões
.c, .h
Relevante quando você quer assistência de IA em Rust sem perder as barreiras estruturais que tornam Rust vantajoso de usar.
Extensões
.rs