Error Detection and Recovery in Compiler Design in Hindi | एरर डिटेक्शन और रिकवरी


एरर डिटेक्शन और रिकवरी (Error Detection and Recovery) क्या है?

Compiler Design में Error Detection और Error Recovery दो महत्वपूर्ण प्रक्रियाएँ हैं, जो प्रोग्रामिंग कोड में त्रुटियों (Errors) को पहचानने और सुधारने में मदद करती हैं। कंपाइलर को इस तरह से डिजाइन किया जाता है कि वह विभिन्न चरणों में एरर को पहचान सके और उन्हें सही ढंग से हैंडल कर सके।

एरर के प्रकार (Types of Errors)

Compiler में मुख्यतः चार प्रकार की एरर पाई जाती हैं:

  • Lexical Errors (लेक्सिकल एरर): जब टोकन जनरेशन के दौरान गलत टोकन मिलता है, तो यह एरर उत्पन्न होती है।
  • Syntax Errors (सिंटैक्स एरर): जब प्रोग्रामिंग भाषा के सिंटैक्स नियमों का उल्लंघन होता है, तो यह एरर उत्पन्न होती है।
  • Semantic Errors (सेमंटिक एरर): जब कोड का अर्थ गलत होता है, भले ही उसका सिंटैक्स सही हो।
  • Logical Errors (लॉजिकल एरर): जब प्रोग्राम का आउटपुट अपेक्षित आउटपुट से अलग होता है।

एरर डिटेक्शन (Error Detection)

कंपाइलर विभिन्न चरणों में एरर को डिटेक्ट करता है:

चरण डिटेक्शन तकनीक
Lexical Analysis गलत टोकन या गैर-मान्यता प्राप्त अक्षर की पहचान करना।
Syntax Analysis गलत वाक्य संरचना का पता लगाना।
Semantic Analysis टाइप मिसमैच और अयोग्य ऑपरेशन्स की जाँच।
Code Generation अमान्य निर्देशों की पहचान।

एरर रिकवरी तकनीकें (Error Recovery Techniques)

Compiler विभिन्न प्रकार की एरर रिकवरी तकनीकों का उपयोग करता है:

1. Panic Mode Recovery (पैनिक मोड रिकवरी)

इस तकनीक में जब कोई एरर मिलती है, तो कंपाइलर आगे की प्रक्रिया को छोड़कर अगले सिंक्रोनाइजिंग टोकन तक जाता है।

लाभ हानि
सरल और तेज कई स्टेटमेंट्स को छोड़ सकता है

2. Phrase Level Recovery (फ्रेज लेवल रिकवरी)

इसमें कंपाइलर छोटे सुधार करता है, जैसे मिसिंग सेमीकोलन जोड़ना।

लाभ हानि
सिंटैक्स सुधारने में सहायक गलत सुधार होने की संभावना

3. Error Productions (एरर प्रोडक्शन्स)

इस तकनीक में संभावित एरर को पहचानने के लिए ग्रामर में विशेष नियम जोड़े जाते हैं।

लाभ हानि
एरर को जल्दी पहचानने में मदद करता है ग्रामर जटिल हो सकता है

4. Global Correction (ग्लोबल करेक्शन)

इसमें कंपाइलर पूरे कोड को विश्लेषण करता है और न्यूनतम बदलाव करके उसे सही करने की कोशिश करता है।

लाभ हानि
सटीक और प्रभावी सुधार जटिल और समय लेने वाला

निष्कर्ष

Compiler में Error Detection और Error Recovery महत्वपूर्ण भूमिका निभाते हैं। कंपाइलर कोड की जाँच कर त्रुटियों को पहचानता है और उन्हें सही करने के लिए विभिन्न तकनीकों का उपयोग करता है, जिससे कोड अधिक विश्वसनीय बनता है।

Related Post

Comments

Comments