Maguyva 對 C 的支援:系統與嵌入式程式碼的呼叫圖
在 C 裡,呼叫圖就是架構。代理應該先讀懂它,再動手編輯。
副檔名
.c, .h
Fortran 程式碼庫往往歷史悠久、規模龐大,而且出自領域專家而非軟體團隊之手。名為 SOLVE、Solve 與 solve 的常式其實是同一個。模組被數百個檔案共用,內建程序庫也大到讓一份單純的呼叫清單裡多半是 SQRT、SUM 與 WRITE。
只會 grep 的代理會被這些雜訊淹沒。Maguyva 會先把結構交給它:有哪些程式單元、它們使用哪些模組,以及哪些使用者常式彼此呼叫。
Maguyva 涵蓋固定格式與自由格式的原始碼(.f、.for、.ftn、.f90、.f95、.f03、.f08)。函式與副程式會被擷取為可呼叫的符號,衍生型別則可以在結構搜尋中作為型別定義選取。
符號比對不區分大小寫,與 Fortran 本身的規則一致。匯入關係來自 use 與 include,關鍵字會被移除,圖譜中保存的是模組名稱。呼叫、讀取、指派、型別參照,以及來自延伸衍生型別的繼承,都會納入圖譜。
關係過濾器會排除約 165 個內建程序(I/O 敘述,以及數學、陣列、字串、型別轉換與位元操作常式),因此留下來的邊都指向你自己的程式碼。
compute_flux,它們各自使用哪些模組?」(先用 find_symbol,再用 dependency_search 的 incoming 方向)get_task_context)constants 模組的程式單元。」(用 text_pattern_search 搜尋 use constants,再用 find_symbol)structural_search 中使用 functions 預設;methods 預設不會選取任何 Fortran 節點。WRITE 或 OPEN 時,請使用 text_pattern_search。透過快速入門連接儲存庫,然後在相容性頁面查看完整的支援矩陣。如果 Fortran 與 C 膠水程式碼並存,也請閱讀 C 指南。
最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
從副程式、函式或模組名稱開始;比對不區分大小寫,與 Fortran 一致。
在修改數值邏輯之前,對求解器或共用模組常式使用 incoming 走訪,查看所有呼叫端。
適合用於「追蹤求解器迴圈中邊界條件是如何套用的」這類提示。