# Hỗ trợ COBOL trong Maguyva: Phân tích phụ thuộc cho hiện đại hóa hệ thống cũ

Canonical source: https://maguyva.ai/vi/languages/cobol

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva hỗ trợ COBOL với phân tích cú pháp AST và trích xuất symbol, giúp các AI agent lập bản đồ cấu trúc chương trình, cách dùng copybook, và các đường phụ thuộc trước khi hiện đại hóa hoặc refactor.

## Tổng quan hỗ trợ

- Cấp độ: Hỗ trợ AST và symbol
- Lập trình
- Phần mở rộng: .cbl, .cob, .cpy
- Phân tích AST thật cho tìm kiếm nhận biết cú pháp và context cấu trúc.
- Các symbol có tên cung cấp dữ liệu cho tra cứu ngữ nghĩa và tham chiếu chéo. Điều hướng đồ thị khả dụng khi bật trích xuất quan hệ.
- Ngôn ngữ này đóng góp symbol và quan hệ cho tìm kiếm nhận biết đồ thị; các loại edge được hỗ trợ thay đổi theo cấu trúc riêng của ngôn ngữ.
- Cả phân tích AST và trích xuất symbol đều khả dụng.

## Phù hợp nhất

- Các đội hiện đại hóa làm việc với những hệ thống COBOL vẫn đang vận hành các quy trình nghiệp vụ quan trọng.
- Các repo hoặc codebase đã trích xuất, nơi copybook, logic batch, và luồng xử lý thủ tục cần được lập bản đồ trước khi thay đổi.
- Công việc khám phá có sự hỗ trợ của agent, nơi mục tiêu đầu tiên là hiểu và ghi lại hệ thống cũ hiện có, chứ không phải viết lại một cách mù quáng.

## Workflow agent

- Lập bản đồ quan hệ giữa chương trình và copybook trước khi lên kế hoạch cho một bước hiện đại hóa.
- Xác định những routine hoặc định nghĩa dữ liệu nào bị ảnh hưởng bởi một thay đổi được đề xuất.
- Cung cấp cho kỹ sư một điểm khởi đầu an toàn hơn cho việc lập tài liệu, di trú, hoặc lên kế hoạch refactor.

## Vì sao việc Maguyva hỗ trợ COBOL có ý nghĩa

Ai cũng có thể tuyên bố hỗ trợ AI cho các ngôn ngữ ứng dụng hiện đại. COBOL hữu ích hơn vì nó buộc sản phẩm phải trung thực về việc mình thực sự giỏi ở điểm nào. Trong mã nguồn hệ thống cũ, giá trị không nằm ở việc sinh mã nhanh. Nó nằm ở việc khám phá, lập bản đồ phụ thuộc, rà soát cẩn thận, và lên kế hoạch hiện đại hóa.

Nếu Maguyva hữu ích với COBOL, đó là vì nó giúp kỹ sư hiểu một hệ thống vẫn còn quan trọng trước khi họ tìm cách hiện đại hóa nó.

## Maguyva thực sự trích xuất những gì trong COBOL

Maguyva bao phủ `.cbl`, `.cob`, và `.cpy`, nên copybook có thể nằm chung một phạm vi tìm kiếm với chương trình. Nó cũng loại bỏ dấu ngoặc kép bao quanh và dấu ngoặc đơn khỏi các đích gọi (call target) trong quá trình phân tích quan hệ, điều này quan trọng trong các codebase COBOL, nơi những dấu bao quanh đó phổ biến đến mức làm nhiễu việc so khớp văn bản đơn giản.

Đối với COBOL hướng đối tượng, Maguyva trích xuất quan hệ kế thừa giữa các lớp. Maguyva cũng liên kết các phương thức ghi đè khi lớp cha và lớp con được định nghĩa trong cùng một tệp mã nguồn. Tên phương thức được định danh kèm tên lớp giúp phân biệt phương thức ghi đè với phương thức của lớp cha, giúp agent kiểm tra hành vi kế thừa trước khi thay đổi một lớp.

## Các quy trình MCP hữu ích cho khám phá hiện đại hóa

Các điểm vào tốt nhất thiên về khám phá:

- `get_task_context` cho các prompt kiểu "theo dõi việc sử dụng copybook trong luồng cập nhật dữ liệu khách hàng theo batch."
- `text_pattern_search` cho tên chương trình, tên copybook, và các điểm vào batch ổn định.
- `dependency_search` sau khi bạn xác định một routine hoặc định nghĩa dùng chung và cần xem nó được sử dụng ở đâu.

## Khi nào trang này hữu ích

Trang này dành cho việc khám phá mã nguồn hệ thống cũ và lên kế hoạch hiện đại hóa, không phải để sinh mã. Nếu hệ thống của bạn kết hợp COBOL với các lớp dịch vụ mới hơn, hãy so sánh với [Java](/vi/languages/java) hoặc [C#](/vi/languages/csharp). Nếu bạn chỉ cần bảng ma trận hỗ trợ, hãy dùng [khả năng tương thích](/vi/docs/compatibility).

## Chi tiết engine

- Hỗ trợ COBOL bao gồm `.cbl`, `.cob`, và `.cpy`, để copybook có thể ở cùng phạm vi tìm kiếm với chương trình.
- Các đích lời gọi nằm trong dấu ngoặc kép được chuẩn hóa bằng cách loại bỏ dấu ngoặc kép bao ngoài và dấu ngoặc đơn trước khi phân tích quan hệ.
- COBOL hướng đối tượng hỗ trợ kế thừa lớp. Quan hệ ghi đè phương thức sử dụng tên được định danh kèm tên lớp khi lớp cha và lớp con được định nghĩa trong cùng một tệp mã nguồn.

## Điểm khởi đầu MCP hữu ích

- `get_task_context`: Bắt đầu ở đây cho các prompt khám phá như “truy vết cách dùng copybook trong luồng cập nhật dữ liệu khách hàng theo batch.”
- `text_pattern_search`: Dùng nó cho tên chương trình, tên copybook, và điểm vào batch khi thuật ngữ ổn định.
- `dependency_search`: Dùng nó sau khi bạn xác định được một routine hay định nghĩa dùng chung và muốn xem nó được dùng ở đâu.
