傳統系統槓桿 程式語言
Maguyva 對 COBOL 的支援:為傳統系統現代化而生的依賴分析
正是在這裡,廣泛的語言支援不再只是一個統計數字,而真正成為一項現代化工具。
AST 與符號支援 AST 解析 符號擷取 圖譜關係
副檔名
.cbl, .cob, .cpy
開啟指南
自訂 ABAP 往往承載著數十年的商業規則。程式碼有些地方是物件導向,有些地方是程序式,而繼承與介面結構決定了實際執行哪個方法。一次只讀一個類別,是看不出這些的。
Maguyva 會先把類別圖譜交給代理,於是變更計畫從「哪些東西依賴這個類別」出發,而不是從猜測出發。
Maguyva 使用專用的 ABAP 語法剖析 .abap 原始碼。符號包括類別定義與實作、介面、方法宣告與實作,以及 FORM 常式。
圖譜記錄了 ABAP 開發者在意的關係:
CLASS ... INHERITING FROM 的繼承。INTERFACES 的介面實作。METHODS ... REDEFINITION 的覆寫。RAISE EXCEPTION 與 CATCH 的例外。obj->m( )、cls=>m( )、CALL METHOD)、來自 TYPE 與 TYPE REF TO 的型別參照,以及歸屬到所屬類別的公開區段方法匯出。IF、CASE、LOOP、TRY)。zcl_order_base,它們重新定義了它的哪些方法?」(先用 find_symbol,再用 dependency_search 的 incoming 方向)zcx_pricing_error 在哪裡被引發,又是誰捕捉了它?」(dependency_search)get_task_context)SELECT ... FROM ... INTO)、EXEC SQL 與 AUTHORITY-CHECK 在目前的 ABAP 語法中無法剖析,因此透過 SQL 讀取資料表目前還不是圖譜的邊。查找資料表名稱請使用 text_pattern_search。INTERFACES 子句是實作關係,而不是匯入。在結構搜尋中,只有 INCLUDE 敘述會被選為匯入。.abap 檔案形式存放在 Git 儲存庫中的 ABAP。它不會連線到 SAP 系統。最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
需要定義與參照時,以類別、介面或方法名稱查找。
變更之前,對基底類別或介面使用 incoming 走訪,找出子類別、實作類別與呼叫端。
用於查找圖譜尚未涵蓋的資料庫資料表名稱與 SQL 敘述。