# Maguyva में COBOL सपोर्ट: लेगेसी आधुनिकीकरण के लिए डिपेंडेंसी विश्लेषण

Canonical source: https://maguyva.ai/hi/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, AST पार्सिंग और सिंबल एक्सट्रैक्शन के साथ COBOL को सपोर्ट करता है, ताकि AI एजेंट आधुनिकीकरण या रीफ़ैक्टरिंग कार्य से पहले प्रोग्राम संरचना, कॉपीबुक उपयोग, और डिपेंडेंसी पथों का मानचित्रण कर सकें।

## सपोर्ट स्नैपशॉट

- टियर: AST और सिंबल सपोर्ट
- प्रोग्रामिंग
- एक्सटेंशन: .cbl, .cob, .cpy
- सिंटैक्स-अवेयर सर्च और स्ट्रक्चरल कॉन्टेक्स्ट के लिए असली AST पार्सिंग।
- नामित सिंबल सिमेंटिक लुकअप और क्रॉस-रेफ़रेंस को फ़ीड करते हैं। रिलेशनशिप एक्सट्रैक्शन सक्षम होने पर ग्राफ़ नेविगेशन उपलब्ध होता है।
- यह भाषा ग्राफ़-अवेयर सर्च में सिंबल्स और रिलेशनशिप्स जोड़ती है; सपोर्टेड एज प्रकार इसके नेटिव कंस्ट्रक्ट्स के अनुसार बदलते हैं।
- AST पार्सिंग और सिंबल एक्सट्रैक्शन, दोनों उपलब्ध हैं।

## सबसे उपयुक्त

- आधुनिकीकरण टीमें जो अब भी महत्वपूर्ण बिज़नेस प्रोसेस चला रहे COBOL सिस्टम के इर्द-गिर्द काम करती हैं।
- ऐसे रिपॉज़िटरी या एक्सट्रैक्ट किए गए कोडबेस जहां बदलाव से पहले कॉपीबुक, बैच लॉजिक, और प्रोसीजरल फ़्लो का मानचित्रण ज़रूरी है।
- एजेंट-सहायता प्राप्त डिस्कवरी कार्य जहां पहला लक्ष्य लेगेसी एस्टेट को आंख मूंदकर फिर से लिखना नहीं, बल्कि उसे समझना और दस्तावेज़ीकृत करना है।

## एजेंट वर्कफ़्लो

- आधुनिकीकरण के किसी चरण की योजना बनाने से पहले प्रोग्राम और कॉपीबुक संबंधों का मानचित्रण करें।
- यह पहचानें कि प्रस्तावित बदलाव से कौन-सी रूटीन या डेटा परिभाषाएं प्रभावित होती हैं।
- इंजीनियरों को दस्तावेज़ीकरण, माइग्रेशन, या रीफ़ैक्टर योजना के लिए एक सुरक्षित शुरुआती बिंदु दें।

## COBOL के लिए Maguyva क्यों उपयोगी है

आधुनिक ऐप भाषाओं के लिए AI सपोर्ट का दावा तो कोई भी कर सकता है। COBOL इसलिए ज़्यादा उपयोगी है क्योंकि यह प्रोडक्ट को इस बारे में ईमानदार बनने पर मजबूर करता है कि वह वास्तव में किसमें अच्छा है। लेगेसी कोड में मूल्य तेज़ जनरेशन में नहीं है। यह डिस्कवरी, डिपेंडेंसी मैपिंग, सावधानीपूर्वक समीक्षा, और आधुनिकीकरण योजना में है।

अगर Maguyva COBOL में उपयोगी है, तो इसलिए क्योंकि यह इंजीनियरों को एक ऐसे सिस्टम को समझने में मदद करता है जो अब भी मायने रखता है, इससे पहले कि वे उसे बदलने की कोशिश करें।

## Maguyva वास्तव में COBOL में क्या एक्सट्रैक्ट करता है

Maguyva `.cbl`, `.cob`, और `.cpy` को कवर करता है, ताकि कॉपीबुक प्रोग्राम के साथ उसी सर्च सरफ़ेस में बने रह सकें। यह रिलेशनशिप विश्लेषण के दौरान कॉल टारगेट से रैपर कोट्स और कोष्ठक भी हटा देता है, जो COBOL कोडबेस में मायने रखता है जहां ये रैपर इतने आम होते हैं कि सामान्य टेक्स्ट मैचिंग को नॉइज़ी बना दें।

ऑब्जेक्ट-ओरिएंटेड COBOL के लिए, Maguyva क्लास इनहेरिटेंस संबंध एक्सट्रैक्ट करता है। जब पैरेंट और चाइल्ड क्लास एक ही सोर्स फ़ाइल में परिभाषित हों, तो यह मेथड ओवरराइड के संबंध भी जोड़ता है। क्लास-क्वालिफ़ाइड मेथड नाम ओवरराइड करने वाले मेथड को पैरेंट क्लास के मेथड से अलग पहचान देते हैं, जिससे एजेंट किसी क्लास को बदलने से पहले इनहेरिट किए गए व्यवहार की जाँच कर सकता है।

## आधुनिकीकरण डिस्कवरी के लिए उपयोगी MCP वर्कफ़्लो

सबसे अच्छे एंट्री पॉइंट डिस्कवरी-ओरिएंटेड होते हैं:

- "ग्राहकों के बैच अपडेट फ़्लो में कॉपीबुक के उपयोग का पता लगाएं" जैसे प्रॉम्प्ट के लिए `get_task_context`।
- प्रोग्राम नाम, कॉपीबुक नाम, और स्थिर बैच एंट्री पॉइंट के लिए `text_pattern_search`।
- किसी साझा रूटीन या परिभाषा की पहचान करने और यह देखने के लिए कि उसका उपयोग कहां होता है, `dependency_search`।

## यह पेज कब उपयोगी है

यह पेज लेगेसी-कोड डिस्कवरी और आधुनिकीकरण योजना के लिए है, कोड जनरेशन के लिए नहीं। अगर आपका एस्टेट COBOL को नए सर्विस लेयर्स के साथ मिलाता है, तो इसकी तुलना [Java](/hi/languages/java) या [C#](/hi/languages/csharp) से करें। अगर आपको सिर्फ़ सपोर्ट मैट्रिक्स चाहिए, तो [अनुकूलता](/hi/docs/compatibility) का उपयोग करें।

## इंजन विवरण

- COBOL सपोर्ट में `.cbl`, `.cob`, और `.cpy` शामिल हैं, ताकि कॉपीबुक प्रोग्राम के जैसे ही सर्च सरफ़ेस में रह सकें।
- संबंध विश्लेषण से पहले रैपर कोट्स और कोष्ठक हटाकर कोटेड कॉल टारगेट को नॉर्मलाइज़ किया जाता है।
- ऑब्जेक्ट-ओरिएंटेड COBOL में क्लास इनहेरिटेंस समर्थित है। जब पैरेंट और चाइल्ड क्लास एक ही सोर्स फ़ाइल में परिभाषित हों, तो मेथड ओवरराइड संबंध क्लास-क्वालिफ़ाइड नामों का उपयोग करते हैं।

## उपयोगी MCP एंट्री पॉइंट

- `get_task_context`: 'ग्राहक बैच अपडेट प्रवाह में कॉपीबुक उपयोग ट्रेस करें' जैसे डिस्कवरी प्रॉम्प्ट के लिए यहीं से शुरू करें।
- `text_pattern_search`: जब टर्मिनोलॉजी स्थिर हो, तब प्रोग्राम नामों, कॉपीबुक नामों, और बैच एंट्री पॉइंट के लिए इसका इस्तेमाल करें।
- `dependency_search`: किसी रूटीन या साझा डेफिनिशन की पहचान करने के बाद, यह देखने के लिए कि इसका इस्तेमाल कहाँ होता है, इसका इस्तेमाल करें।
