Maguyva 對 C 的支援:系統與嵌入式程式碼的呼叫圖
在 C 裡,呼叫圖就是架構。代理應該先讀懂它,再動手編輯。
副檔名
.c, .h
Ada 把套件承諾做什麼(.ads)與它如何做(.adb)分開。這是優秀的工程實務,但也意味著一次修改會牽動多個檔案,而文字搜尋無法替你把它們串起來。長期運作的 Ada 系統還多了一層:泛型、標記型別、任務與受保護物件,它們之間的關係比任何單一檔案都更重要。
Maguyva 會在代理提出修改之前把這張相依關係圖交給它,這也正是高可靠審查要求的順序。
Maguyva 涵蓋 .ads、.adb 與 .ada。子程式本體,以及程序和函式規格,都會被擷取為可呼叫的符號,因此常式的規格與本體都能搜尋。符號比對不區分大小寫,與 Ada 本身一致。
匯入來自 with 與 use 子句,關鍵字會被移除,圖譜中保存的是套件名稱。圖譜也會記錄呼叫、標記型別上的繼承與覆寫、實例化、型別參照、讀寫,以及例外的引發與處理邊。
在結構搜尋中,任務型別、受保護型別、記錄型別與介面型別可以作為型別定義選取,入口本體則可以作為方法選取。
Flight_Control.Sensors,它們呼叫了其中哪些子程式?」(dependency_search 的 incoming 方向)Compute_Trajectory 的規格、本體與所有呼叫端。」(find_symbol)get_task_context)Put_Line、Put 與 Get 等常用文字 I/O 呼叫是刻意保留的。use 子句會改變可見性,但在結構搜尋中不會被選為匯入;with 子句則會。find_symbol。最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
用來一次找到某個子程式的規格與本體,以及它的參照。
在變更套件規格之前使用 incoming 走訪,查看所有依賴它的單元。
適合用於「說明遙測任務如何把資料交給記錄用的受保護物件」這類提示。