हेल्लो पाठकों !
क्या आप जानना चाहते है, कंप्यूटर में कंपाइलर क्या है (What is Compiler in Hindi), कंपाइलर कितने प्रकार होते है, कंपाइलर में कौनसे चरण होते है, कंपाइलर की विशेषताएं क्या है, कंपाइलर के उपयोग क्या है और कंपाइलर और इन्टरप्रेटर में क्या अंतर है ।
तो चलिए Compliler के बारे में विस्तार से जानते हैं ।
कंप्यूटर में कंपाइलर क्या है (What is compiler in Hindi) ?
कंपाइलर एक कंप्यूटर प्रोग्राम या प्रोग्रामों का सेट है जो एक प्रोग्रामिंग भाषा में लिखे गए र्सोस कोड को बदल देता है, जिसमें अक्सर एक बाइनरी फॉर्म होता है जिसे ऑब्जेक्ट कोड के रूप में जाना जाता है ।
यह उच्च स्तरीय भाषा को मशीन /बाइनरी भाषा में परिवर्तित करता है । इसके अलावा, प्रोग्राम को निष्पाद योग्य बनाने के लिए यह चरण करना आवश्यक है । ऐसा इसलिए है क्योंकि कंप्यूटर केवल बाइनरी भाषा समझता है ।
औपचारिक रूप से, संकलन के आउटपुट को ऑब्जेक्ट कोड या कभी कभी ऑब्जेक्ट मॉडयूल कहा जाता है । ऑब्जेक्ट कोड मशीन कोड है जिसे प्रोसेसर एक समय में एक निर्देश निष्पादित कर सकता है ।
कंपाइलर कितने प्रकार होते है (Types of Compiler) ?
Cross Compilers
Bootstrap Compilers
Source to source/ transcompiler
Decompiler
कंपाइलर में कौनसे चरण होते है (Phases of a Compiler) ?
कंपाइलर को मोटे तौर पर दो चरणों में विभाजित किया जा सकता है, जिस तरह से वे संकलित करते हैं, जिसके बदले में कई भाग या चरण होते हैं । उनमें से प्रत्येक पिछले स्तर के आउटपुट से इनपुट लेता है और समन्वित तरीके से काम करता है । कंपाइलर प्रक्रिया के चरण इस प्रकार है :-
- Analysis Phase
- Synthesis Phase
Analysis Phase
इसे हिन्दी में विश्लेषण चरण कहा जाता है । इसे कंपाइलर के Front-End के रूप में जाना जाता है । कंपाइलर का विश्लेषण चरण सोर्स को पढ़ता है, इसे मुख्य भागों में विभाजित करता है और फिर शाब्दिक व्याकरण और वाक्य रचना त्रुटियों (Syntax Errors) की जांच करता है ।
विश्लेषण चरण सोर्स प्रोग्राम का एक मध्यवर्ती प्रतिनिधित्व उत्पन्न करता है, जिसे इनपुट के रूप में संश्लेषण चरण में फीड किया जाता चाहिए ।
Front-End में Lexical Analyzer, Semantic Analyzer, Syntax Analyzer और Intermediate Code जनरेटर शामिल हैं ।
Lexical Analyzer
यह प्रीप्रोसेसर के आउटपुट को इनपुट के रूप में लेता है जो एक शुद्ध उच्च स्तरीय भाषा में होता है । यह सोर्स कोड के अक्षरों को बाएं से दाएं स्कैन करता है इसलिए इसे स्कैनर के नाम से भी जाना जाता है । यह सोर्स कार्यक्रम के अक्षरों को पढ़ता है और उन्हें लेक्समेस मे समूहित करता है । प्रत्येक लेक्समे एक टोकन से मेल खाता है । टोकन को रेगुलर एक्सप्रेशन द्वारा परिभाषित किया जाता है, जिसे लेक्सिकल एनालाइजर द्वारा समझा जाता है ।
Syntax Analyzer
इसे कभी कभी पार्सर कहा जाता है । यह पार्स ट्री का निर्माण करता है । यह एक एक करके सभी टोकन लेता है और पार्स ट्री बनान के लिए कॉन्टेक्स्ट फ्री ग्रामर का उपयोग करता है । लेक्सिकल एनालाइजर का आउटपुट इसका इनपुट होता है । यह सोर्स कोड में सिंटैक्स त्रुटियों की जांच करता है ।
Semantic Analyzer
यह पार्स ट्री की पुष्टि करता है, की क्या वह अर्थपूर्ण है या नहीं । इसके अलावा यह एक सत्यापित पार्स ट्र का उत्पादन करता है । यह प्रोग्रामिंग भाषा के संदर्भ में कोड की वैधता की जांच करता है । जैसे, डेटा प्रकारों की अनुकूलता, घोषणा, और अंतपंइसम का पदपजपंसप्रंजपवद आदि करता है । यह टाइप चेकिंग, लेबल चेकिंग और फलो कंट्रोल चेकिंग भी करता है ।
Intermediate Code Generator
यह मध्यवर्ती कोड उत्पन्न करता है, जो एक ऐसा रूप है जिसे मषीन द्वारा आसानी से निष्पादित किया जा सकता है । यह कोड न तो उच्च स्तरीय भाशा में है और न ही मशीनी भाषा में है, यह मध्यवर्ती रूप में है । इंटरमीडिएम कोड को अंतिम दो चरणों का उपयोग करके मषीनी भाषा में परिवर्तित किया जाता है जो प्लेटफॉर्म पर निर्भर होते है ।
Synthesis Phase
इसे हिन्दी में संश्लेषण चरण कहा जाता है । इसे कंपाइलर के Back-End के रूप में जाना जाता है । संश्लेषण चरण मध्यवर्ती सोर्स कोड प्रतिनिधित्व और प्रतीक तालिका की सहायता से लक्ष्य कार्यक्रम बनाता है । इस चरण को भी आगे दो अन्य चरणों में विभाजित किया जाता है, जो Code Optimizer और Code Generator है ।
Code Optimizer
यह कोड को रूपांतरित करता है ताकि यह कम संसाधनों की खपत करे और अधिक गति उत्पन्न करे । यह कोड की किसी भी बेकार लाइन को हटा देता है और कोड को पुनर्व्यवस्थित करता है । इसको दो प्रकारों में वर्गीकृत किया जा सकता है, मशीन निर्भर और मशीन स्वतंत्र ।
Code Generator
कोड जनरेटर का मुख्य उदेश्य एक ऐसा कोड लिखना है जिसे मशीन समझ सके और आवंटन, निर्देश चयन आदि को भी पंजीकृत कर सके । यह कंपाइलेशन का अंतिम चरण है । अंत में, यह अनुकूलित मध्यवर्ती कोड को मशीन कोड में परिवर्तित करता है ।
कंपाइलर की विशेषताएं क्या है (Features of a Compiler) ?
कंपाइलर के उपयोग क्या है (Uses of Compilers) ?
कंपाइलर और इन्टरप्रेटर में क्या अंतर है (Difference between Interpreter and Compiler) ?
निर्ष्कष – Conclusion
मुझे आशा है, इस पोस्ट से आपने कंप्यूटर में कंपाइलर क्या है, कंपाइलर कितने प्रकार होते है, कंपाइलर में कौनसे चरण होते है, कंपाइलर की विशेषताएं क्या है, कंपाइलर के उपयोग क्या है और कंपाइलर और इन्टरप्रेटर में क्या अंतर है, इन सबके बारे में आपने हिन्दी में अच्छे से जानकारी प्राप्त कर लिया हैं ।
अगर फीर भी आपके मन में इस विशय में कोई भी सवाल हैं तो आप हमें कमंट करके पुछ सकेत हैं।
FAQ’s
Q1 :
Ans :
अन्य पोस्ट पढ़े :