C trên Maguyva: đồ thị lời gọi cho mã hệ thống và nhúng
Trong C, đồ thị lời gọi chính là kiến trúc. Agent nên đọc nó trước khi chỉnh sửa.
Phần mở rộng
.c, .h
Maguyva hỗ trợ Lua với AST, ký hiệu và đồ thị, để agent AI có thể lần theo module, phương thức dấu hai chấm, lớp metatable và chuỗi require trong mã Lua.
Lua không có từ khóa cho lớp. Đối tượng là bảng, phương thức là hàm được lưu trong bảng, và kế thừa là một lời gọi setmetatable. Một module là bất cứ thứ gì require trả về. Cấu trúc là có thật, nhưng nằm trong những quy ước mà tìm kiếm văn bản không hiểu.
Maguyva đọc các quy ước đó như cấu trúc, để agent có thể hỏi ai gọi một phương thức hoặc bảng nào mở rộng một lớp cơ sở và nhận câu trả lời trực tiếp.
Maguyva bao quát các tệp .lua. Khai báo hàm, định nghĩa local function và biểu thức hàm được trích xuất, còn phương thức dấu hai chấm như function Account:deposit() được gán cho bảng sở hữu nó, Account. Chuỗi phương thức được lần theo từng lời gọi, và lời gọi trên self vẫn gắn với đối tượng bao quanh.
Các quy ước của Lua trở thành quan hệ như sau:
require, dofile và loadfile ghi lại import.setmetatable ở cấp module ghi lại kế thừa.ClassName:new(), ClassName.new() và setmetatable({...}, ClassName) được tính là khởi tạo.error() ghi lại một lần ném, còn pcall và xpcall ghi lại một lần bắt.Đồ thị còn ghi lại thao tác đọc và ghi cùng luồng điều khiển.
Inventory:addItem, và từ những kịch bản nào?” (find_symbol, sau đó dependency_search theo chiều vào)util.http bằng require?” (dependency_search)get_task_context)string, table, math, io, os, coroutine, debug và utf8) cùng các API vim.* của Neovim và ngx.* của OpenResty. Lời gọi tới các API này không phải là cạnh đồ thị; dùng text_pattern_search để tìm chúng.classes và imports trong structural_search không chọn được gì với Lua. Hãy dùng find_symbol hoặc text_pattern_search thay thế.Kết nối một kho mã bằng hướng dẫn bắt đầu nhanh, sau đó xem ma trận hỗ trợ trên trang tương thích. Với các engine nhúng Lua vào mã native, hãy đọc thêm hướng dẫn C.
Phù hợp nhất
Workflow agent
Chi tiết engine
Điểm khởi đầu MCP hữu ích
Dùng cho hàm của module hoặc phương thức dấu hai chấm khi bạn cần định nghĩa và nơi gọi.
Dùng duyệt theo chiều vào để thấy tệp nào nạp một module dùng chung bằng require trước khi di chuyển nó.
Dùng cho các lời gọi `vim.*`, `ngx.*` hoặc thư viện chuẩn bị lọc khỏi đồ thị.
Hướng dẫn liên quan
Trong C, đồ thị lời gọi chính là kiến trúc. Agent nên đọc nó trước khi chỉnh sửa.
Phần mở rộng
.c, .h
Hữu ích khi codebase Python trải rộng qua các service, script, type stub, và mã kết nối vận hành.
Phần mở rộng
.py, .pyi, .pyw