Compiler क्या हैं? |कम्पाइलर और इंटरप्रेटर में अंतर 

कम्पाइलर Compiler एक System Software का भाग हैं, जिसका उपयोग Source Code को Object Code में कन्वर्ट करने या ट्रांसलेट करने के लिए किया जाता हैं। जैसा कि आप और हम जानते हैं कि कंप्यूटर एक ऐसा इलेक्ट्रॉनिक उपकरण हैं जो सिर्फ बाइनरी कोड के इंस्ट्रक्शन को ही समझ पाता हैं जो कि 0 और 1 के फॉरमेट में होते हैं। 

लेकिन इन बाइनरी कोड (0,1) का उपयोग कर किसी प्रोग्राम को तैयार करना बहुत मुश्किल होता हैं, क्योंकि इनके कोड को याद रख पाना, समझना और इनके बने प्रोग्राम में Error को ढूंढ कर उसे ठीक करना बहुत मुश्किल काम होता हैं। जिस कारण हम हाई लेवल लैंग्वेज का उपयोग करते हैं जिनका फॉरमेट अंग्रेजी के अक्षरों जैसा होता हैं। हाई लेवल लैंग्वेज के उदाहरण- C, C++, Java, Python आदि। 

compiler kya hai hindi

हाई लेवल लैंग्वेज में किसी प्रोग्राम को आसानी से लिखा और समझा जा सकता हैं। इसके साथ ही इनमें आयी त्रुटियों को आसानी से देखा और ठीक भी किया जा सकता हैं। लेकिन इनका उपयोग सीधें रूप से कंप्यूटर को इंस्ट्रक्शन देने के लिए नहीं किया जा सकता क्योंकि यह 0 और 1 (Machine Language) के फॉरमेट में नहीं होते। इसी समस्या के समाधान हेतु कम्पाइलर का उपयोग किया जाता हैं। तो चलिए आसान शब्दों में जानते है कि कम्पाइलर क्या हैं एवं कम्पाइलर और इंटरप्रेटर में क्या अंतर हैं? What is Compiler in Hindi 

कम्पाइलर क्या हैं? |What is Compiler in Hindi 

कम्पाइलर Compiler एक Programming Language Processor हैं जो High level Language में लिखें गए किसी प्रोग्राम को एक ही बार मे ट्रांसलेट कर सकता हैं। जिस कारण Software Developer और Programmer द्वारा इसका उपयोग अधिक से अधिक मात्रा में किया जाता हैं। इसके माध्यम से हम उच्च स्तरीय कोड को मशीनी कोड या Binary Language में कम समय मे ट्रांसलेट कर सकते हैं। 

Compiler एक ऐसा प्रोग्राम हैं जो Interpreter प्रोग्राम की तुलना में उच्च स्तरीय कोड को तेजी से Execute करता हैं। जहाँ इंटरप्रेटर प्रोग्राम कोड को line by line ट्रांसलेट करता हैं तो वही कम्पाइलर प्रोग्राम एक ही बार मे सभी कोड को एक साथ ट्रांसलेट कर देता हैं। सामान्य शब्दों में कहें तो कम्पाइलर का मुख्य कार्य हाई लेवल लैंग्वेज को Machine Language के फॉरमेट में ट्रांसलेट करना होता हैं। जिसका फॉरमेट 0 और 1 होता हैं। 

कम्पाइलर एक प्रकार का Software Program हैं जो Source Code (हाई लेवल लैंग्वेज) को Object Code (लो लेवल लैंग्वेज) या मशीन कोड में ट्रांसलेट करने का कार्य करता हैं। सामान्यतः हम कम्पाइलर को एक Translator Software के रूप में देख सकते हैं। जो आसानी से सभी हाई लेवल लैंग्वेज के कोड को एक साथ बाइनरी कोड (0,1) में ट्रांसलेट कर देता हैं। 

इसका उपयोग बड़ी मात्रा में High Level Language के कोड को ट्रांसलेट करने के लिए किया जाता हैं। जैसे- C, C++, Java, Python आदि। यह इन सभी के फॉरमेट को जो कि सामान्य अंग्रेजी अक्षरों की तरह होते हैं, उन्हें कंप्यूटर के समझने के लिए मशीनी लैंग्वेज (0,1) में ट्रांसलेट कर देता हैं। जिससे कंप्यूटर इनके प्रोग्राम और इंस्ट्रक्शन को आसानी से समझ कर उसके अनुरूप कार्य कर सकें। 

कम्पाइलर कैसे कार्य करता हैं? |How Compiler Works 

कम्पाइलर सबसे पहले सभी Source Code (हाई लेवल लैंग्वेज) को एक साथ स्कैन करता हैं। जिससे कम्पाइलर का प्रोग्राम एक साथ इन कोड को रीड कर लेता हैं और उसके बाद इन्हें अपनी प्रोग्रामिंग विशेषताओं की सहायता से मशीनी कोड या Object Code (0,1) में डिकोड कर देता हैं। 

यदि Source Code की प्रोग्रामिंग में किसी प्रकार का कोई Error होता हैं तो कम्पाइलर उसे Debugging Window में प्रदर्शित कर देता हैं। जिसके बाद हम उन्हें चयनित कर line by line ठीक कर सकते हैं। इस ट्रांसलेटर प्रोग्राम का उपयोग करना और कम समय में सोर्स कोड को ट्रांसलेट करना एक आसान प्रक्रिया हैं। 

सामान्य शब्दों में हम इसके कार्यों को समझने का प्रयास करें तो एक कम्पाइलर प्रोग्राम हाई लेवल लैंग्वेज में बने प्रोग्रामिंग कोड के समूह को एक साथ ट्रांसलेट कर देता हैं। जैसे- Python, C, C++, C#, Java आदि। यह सभी प्रकार की उच्च स्तरीय भाषाओं को मशीनी भाषा या बाइनरी कोड (0,1) में ट्रांसलेट करने का कार्य करता हैं। 

Compiler के Major Parts या Phases क्या होते हैं? 

कम्पाइलर के मुख्य Parts या Phases को इनके कार्य करने के तरीकों के आधार पर मुख्य रूप से 2 भागों में विभाजित किया जाता हैं। इसके साथ ही इनके मुख्य पार्ट्स के अंदर उप-पार्ट्स को भी सम्मिलित किया जाता हैं। जो कि इस प्रकार हैं- 

1. Analysis Phase – यह कम्पाइलर का पहला और मुख्य Phase होता हैं। जिसमें इंटरमीडिएट रिप्रजेंटेशन का निर्माण किया जाता हैं। इसके साथ ही Analysis Phase को Given Source प्रोग्राम के आधार पर 3 भागों में विभाजित किया जाता हैं जो इसके कार्यो में योगदान देते हैं। जैसे- Semantic Analyze, Syntax Analyzer और Lexical Analyzer

2. Synthesis Phase – यह Compiler प्रोग्राम को दूसरा मुख्य Part या Phase होता हैं। जिसमें Equivalent Target Program का निर्माण किया जाता हैं। इंटरमीडिएट रिप्रजेंटेशन के आधार पर इसके Phase को मुख्यतः 3 भागों में विभाजित किया जाता हैं- Code Optimizer, Intermediate Code Generator और Code Generator

कम्पाइलर के Phases को हम इस प्रकार क्रमबद्ध रूप से देख सकते हैं- 

  • Lexical Analysis
  • Syntax Analysis 
  • Semantic Analysis
  • Intermediate Code Generator 
  • Code Optimizer 
  • Code Generation 

कम्पाइलर के प्रकार |Types of Compiler in Hindi 

कम्पाइलर को इसके कार्य करने के तरीकों और इसकी विशेषताओं के आधार पर 3 भागों में विभाजित किया जाता हैं- 

1. Single Pass Compiler – इस प्रकार का कम्पाइलर अपना कार्य सभी प्रकार के Phases और उसके अंदर के मुख्य Phases के साथ मिल कर करता हैं। जिसे हम Single Pass कम्पाइलर के नाम से जानते हैं। सिंगल पास कम्पाइलर, मल्टी पास कम्पाइलर की तुलना में छोटा और तीव्र गति से कार्य करने में सक्षम होता हैं। किंतु अगर हम इसके कार्य क्षमता की तुलना मल्टी पास कम्पाइलर से करें तो यह कम लाभकारी होता हैं।

2. Two Pass Compiler – इस प्रकार का कम्पाइलर Phases को दो भागों में विभाजित कर अपना कार्य करता हैं। जिस कारण इसे Two पास कम्पाइलर कहा जाता हैं। यह पहले Phase में Lexical Phase, Syntax Phase, Semantic Phase और Intermediate Phase के साथ कार्य करता हैं और दूसरे Phase में Code Optimization और Code Generator के साथ कार्य करता हैं। 

3. Multi Pass Compiler – मल्टी पास कम्पाइलर किसी प्रोग्राम के Source Code या Abstract Syntax को कई बार प्रोसेस करने की प्रकिया करता हैं और यह One Pass कम्पाइलर के विपरीत कार्य करता हैं। जिस कारण इसे मल्टी पास कम्पाइलर कहा जाता हैं। प्रत्येक पास पहले के पास से प्राप्त परिणामों को Input के रूप में स्टोर करते हैं और एक मध्यमवर्ती आउटपुट का निर्माण करते हैं। 

कम्पाइलर और इंटरप्रेटर में अंतर |Difference Between Compiler and Interpreter in Hindi 

कम्पाइलर और इंटरप्रेटर दोनों का मुख्य कार्य हाई लेवल लैंग्वेज को मशीन लैंग्वेज या बाइनरी डिजिट (0,1) में ट्रांसलेट करना होता हैं। इसके बाद भी दोनों में विभिन्न प्रकार की भिन्नताएं या अंतर देखने को मिलता हैं। कम्पाइलर और इंटरप्रेटर के मध्य के अंतर को हम इस प्रकार देख और समझ सकते हैं- 

कम्पाइलर (Compiler)इंटरप्रेटर (Interpreter)
यह Source Code (हाई लेवल लैंग्वेज) को एक साथ Object Code (मशीन लैंग्वेज) में ट्रांसलेट कर देता हैं। यह Source Code को line by line, Object Code में ट्रांसलेट करता हैं। 
कम्पाइलर हाई लेवल लैंग्वेज के कोड में Error को एक साथ आखिरी में दिखाता हैं। इंटरप्रेटर line by line सोर्स कोड में Error को दिखाता हैं क्योंकि यह line by line कोड को ट्रांसलेट करता हैं। 
कम्पाइलर सोर्स कोड को कम समय मे और तीव्र गति से ट्रांसलेट कर देता हैं। Interpreter में कोड को ट्रांसलेट करने में अधिक समय लगता हैं। 
यह ट्रांसलेट करने से पहले एक Object File बनाता हैं। जिस कारण इसमें मेमोरी का उपयोग अधिक मात्रा में होता हैं। इंटरप्रेटर ऑब्जेक्ट फ़ाइल जैसी कोई फ़ाइल नही बनाता। जिस कारण इसमें मेमोरी का उपयोग कम मात्रा में होता हैं। 
इसमें Error को ठीक करना मुश्किल होता हैं क्योंकि यह सभी Error को एक साथ दिखाता हैं। इसमें Error को ठीक करना एक सरल प्रक्रिया हैं क्योंकि यह Error को line by line प्रदर्शित करता हैं। 
इसका उपयोग C, C++ और Java जैसी हाई लेवल लैंग्वेज को ट्रांसलेट करने के लिए अधिक मात्रा में किया जाता हैं। इसका उपयोग Python, Perl और ruby जैसी हाई लेवल लैंग्वेज को ट्रांसलेट करने के लिए अधिक मात्रा में किया जाता हैं। 

संक्षेप में – Conclusion 

कम्पाइलर एक सॉफ्टवेयर ट्रांसलेटर प्रोग्राम हैं जिसका उपयोग हाई लेवल लैंग्वेज को मशीनी लैंग्वेज में ट्रांसलेट करने के लिए किया जाता हैं। जिसे Binary Code भी कहा जाता हैं, जो कि 0 और 1 के फॉरमेट में होता हैं। कंप्यूटर हाई लेवल को नहीं समझ पाता क्योंकि यह 0 और 1 के फॉरमेट में नहीं होते। जिस कारण हमें हाई लेवल लैंग्वेज को ट्रांसलेट करने की आवश्यकता होती हैं। 

कम्पाइलर गूगल ट्रांसलेट की तरह Source Code को Object Code में एक साथ ट्रांसलेट कर देता हैं। जिस कारण इंटरप्रेटर की तुलना में कम्पाइलर प्रोग्राम का उपयोग अधिक मात्रा में किया जाता हैं। कम्पाइलर पूरे कोड को एक साथ ट्रांसलेट कर Error को प्रदर्शित करता हैं। यह इंटरप्रेटर की तुलना में कोड को तीव्र गति से ट्रांसलेट कर देता हैं। 

तो दोस्तों आज आपने हमारी इस पोस्ट के माध्यम से सरल शब्दों में समझा कि कम्पाइलर क्या हैं एवं कम्पाइलर और इंटरप्रेटर में क्या अंतर हैं? (What is Compiler in Hindi) हम आशा करते हैं कि आपको हमारी यह पोस्ट पसंद आई हो। इस पोस्ट की तरह अन्य पोस्ट पढ़ने के लिए हमारी अन्य पोस्टों को देखें और सोशल मीडिया के माध्यम से हमसे जुड़े रहें।

Previous articleइंटरप्रेटर क्या हैं? |What is Interpreter in Hindi
Next articleFunctions of Computer in Hindi |कंप्यूटर के कार्य
pankaj
Hello दोस्तों मेरा नाम Pankaj Pal हैं और मैं webtechnoo का लेखक और Co-Founder हुँ। मैंने MSc Computer Science से की हैं और मुझे Technology, Computers से जुड़े तथ्यों को सीखना और आप लोगों को सीखाना अच्छा लगता हैं। अगर आप भी नई-नई Technology के बारे में जानने में रुचि रखते हैं। तो हमारे Blog या Social Media के माध्यम से हमसे जरूर जुड़े रहें। (Jai Hind)

LEAVE A REPLY

Please enter your comment!
Please enter your name here