C บน Maguyva: กราฟการเรียกสำหรับโค้ดระบบและโค้ดฝังตัว
ในภาษา C กราฟการเรียกคือสถาปัตยกรรม เอเจนต์ควรอ่านมันก่อนแก้ไข
นามสกุลไฟล์
.c, .h
Maguyva รองรับ Lua ด้วย AST สัญลักษณ์ และกราฟ เพื่อให้เอเจนต์ AI ติดตามโมดูล เมธอดแบบโคลอน คลาสที่สร้างจากเมทาเทเบิล และลำดับ require ในโค้ด Lua ได้
Lua ไม่มีคีย์เวิร์ดสำหรับคลาส ออบเจกต์คือตาราง เมธอดคือฟังก์ชันที่เก็บไว้ในตาราง และการสืบทอดคือการเรียก setmetatable โมดูลคือสิ่งที่ require คืนกลับมา โครงสร้างมีอยู่จริง แต่อยู่ในธรรมเนียมที่การค้นหาข้อความไม่เข้าใจ
Maguyva อ่านธรรมเนียมเหล่านั้นเป็นโครงสร้าง เพื่อให้เอเจนต์ถามได้ว่าใครเรียกเมธอดหนึ่ง หรือตารางใดขยายฐานหนึ่ง แล้วได้คำตอบโดยตรง
Maguyva ครอบคลุมไฟล์ .lua การประกาศฟังก์ชัน นิยาม local function และนิพจน์ฟังก์ชันถูกดึงออกมา และเมธอดแบบโคลอนอย่าง function Account:deposit() จะถูกผูกกับตารางเจ้าของคือ Account ลำดับเมธอดถูกติดตามทีละการเรียก และการเรียกบน self ยังคงผูกอยู่กับออบเจกต์ที่ล้อมรอบ
ธรรมเนียมของ Lua กลายเป็นความสัมพันธ์ดังนี้
require, dofile และ loadfile บันทึกการอิมพอร์ตsetmetatable ระดับโมดูลบันทึกการสืบทอดClassName:new(), ClassName.new() และ setmetatable({...}, ClassName) นับเป็นการสร้างอินสแตนซ์error() บันทึกการโยน และ pcall กับ xpcall บันทึกการจับกราฟยังบันทึกการอ่านและเขียน และโฟลว์การควบคุม
Inventory:addItem และเรียกจากสคริปต์ไหนบ้าง” (find_symbol จากนั้น dependency_search ทิศทางขาเข้า)util.http ด้วย require” (dependency_search)get_task_context)string, table, math, io, os, coroutine, debug และ utf8) รวมถึง API vim.* ของ Neovim และ ngx.* ของ OpenResty การเรียก API เหล่านี้ไม่ใช่เส้นเชื่อมในกราฟ ใช้ text_pattern_search เพื่อค้นหาclasses และ imports ใน structural_search จึงไม่เลือกอะไรเลยสำหรับ Lua ให้ใช้ find_symbol หรือ text_pattern_search แทนเชื่อมต่อรีโพซิทอรีด้วยคู่มือเริ่มต้นใช้งาน แล้วดูตารางการรองรับได้ที่หน้าความเข้ากันได้ สำหรับเอนจินที่ฝัง Lua ไว้ในโค้ดเนทีฟ ให้อ่านคู่มือภาษา C ด้วย
เหมาะที่สุดสำหรับ
เวิร์กโฟลว์ของเอเจนต์
รายละเอียดเอนจิน
จุดเริ่มต้น MCP ที่มีประโยชน์
ใช้กับฟังก์ชันในโมดูลหรือเมธอดแบบโคลอนเมื่อต้องการนิยามและผู้เรียก
ใช้การท่องกราฟขาเข้าเพื่อดูว่าไฟล์ใดโหลดโมดูลที่ใช้ร่วมกันด้วย require ก่อนย้ายมัน
ใช้กับการเรียก `vim.*`, `ngx.*` หรือไลบรารีมาตรฐานที่ถูกกรองออกจากกราฟ
คู่มือที่เกี่ยวข้อง
ในภาษา C กราฟการเรียกคือสถาปัตยกรรม เอเจนต์ควรอ่านมันก่อนแก้ไข
นามสกุลไฟล์
.c, .h
มีประโยชน์เมื่อโค้ดเบส Python กระจายไปทั่ว service, สคริปต์, stub ชนิดข้อมูล และโค้ดที่เชื่อมโยงส่วนต่างๆ ในการปฏิบัติงาน
นามสกุลไฟล์
.py, .pyi, .pyw