Maguyva 對 C 的支援:系統與嵌入式程式碼的呼叫圖
在 C 裡,呼叫圖就是架構。代理應該先讀懂它,再動手編輯。
副檔名
.c, .h
Delphi 與 Free Pascal 應用程式往往圍繞著幾個大型單元成長,其他所有程式碼都在使用它們。表單繼承自基底表單,元件繼承自基底元件,商業規則則放在十幾個畫面都會呼叫的程序裡。逐一檔案讀起來很順,但出問題的地方正是相依關係。
Maguyva 會先把單元與類別的結構交給代理,讓它在寫下任何程式碼之前,就能說清楚一次修改會影響哪些地方。
Maguyva 涵蓋 .pas 與 .pp 原始碼單元。程序與函式定義會被擷取為可呼叫的符號,定義名稱中的 procedure、function、var 與 const 關鍵字會被移除。類別與介面可以在結構搜尋中作為型別定義選取。
匯入來自 uses 子句,關鍵字會被移除,圖譜中保存的是單元名稱。呼叫會經過正規化,移除成員前綴、引數與外層括號,因此寫成 Self.Save(x) 的呼叫會被保存為 Save。
圖譜會記錄呼叫、繼承、介面實作、覆寫、實例化、型別參照、讀寫,以及例外的引發與處理邊。約 107 個執行階段函式庫常式(WriteLn、ReadLn、Inc、Dec、Ord 等)會被排除在關係之外。
DataModuleMain,它們從中呼叫了什麼?」(dependency_search 的 incoming 方向)TBaseEditForm,它們覆寫了哪些方法?」(先用 find_symbol,再用 dependency_search)get_task_context).pas 與 .pp 會對應到 Pascal。.dpr、.dfm 等 Delphi 專案檔與表單檔不在副檔名清單中,因此表單版面與專案設定不在圖譜範圍內。structural_search 中的 methods 預設不會選取任何內容。請使用 functions 預設。text_pattern_search。最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
需要定義與參照時,以類別、表單或程序名稱查找。
對共用單元或基底類別使用 incoming 走訪,查看哪些單元與衍生類別依賴它。
適合用於「說明一張發票從按鈕處理常式到資料庫單元是如何入帳的」這類提示。