You are currently viewing Compiler क्‍या है? कम्‍पाइलर के प्रकार और उपयोग

Compiler क्‍या है? कम्‍पाइलर के प्रकार और उपयोग

5/5 - (3 votes)

कम्पाइलर एक प्रोग्रामिंग टूल है जो प्रोग्रामर द्वारा लिखे गए हाई लेवल कोड को scan और कुछ अन्य प्रक्रियाओं से गुजारने के बाद एक साथ पूरे कोड को कंप्यूटर या अन्य डिवाइस द्वारा समझने योग्य मशीन लैंग्वेज में ट्रांसलेट करना होता है। इस आर्टिकल में आप Compiler Kya Hai ,इसके प्रकार , कार्य और इससे सम्बंधित अन्य विषयो पर विस्तृत जानकारी प्राप्त करने वाले है।

कम्पाइलर क्‍या है? compiler Kya hai

कम्पाइलर एक विशेष प्रकार का टूल है जो प्रोग्रामिंग लैंग्वेज के हाई लेवल सोर्स कोड को मशीन लैंग्वेज या इंटरमीडिएट लैंग्वेज में ट्रांसलेट करने का कार्य करता है। कम्पाइलर का मुख्य उदेश्य प्रोग्रामर द्वारा लिखे गए कोड को कंप्यूटर द्वारा समझने योग्य या एक्सेक्यूटबल योग्य बनाना है। कम्पाइलेशन की प्रोसेस में कोड को कई स्टेज से गुजरना होता है जैसे की lexical analysis (जिसमे कोड को कई टोकन में बाँटना )syntax analysis (जिसमे कोड के फ्रेज और ग्रामर स्ट्रक्चर को चेक करना ) semantic analysis (चेक और स्टेटमेंट के अर्थ को समझना ) और code generation करना।

साधारण शब्दो में कहा जाये तो कम्पाइलर प्रोग्रामर द्वारा लिखे गए सोर्स कोड (High Level Language ) को इनपुट के रूप में लेता है और इसे ऐसे फॉर्मेट में Convert या Translate करता है जिससे कंप्यूटर का सेंट्रल प्रोसेसिंग यूनिट (CPU ) आसानी से समझ सके और उसे execute कर सके। कम्पाइलर के द्वारा प्राप्त output अक्सर एक executable फाइल या कोड का दूसरा फॉर्म होता है जिसे किसी स्पेसिफिक कंप्यूटिंग प्लेटफार्म पर रन किया जाता है।

कंपाइलर का महत्व : Importance of compiler

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

कंपाइलर का उपयोग करने का फ़ायदा  यह है कि यह प्रोग्रामर को हाई लेवल लैंग्वेज  में कोड लिखने की सुविधा  देता है जिसे यूजर को  पढ़ना और उसमे आने वाले एरर को समझना आसान होता है। यह कोड को  पोर्टेबल कोड बनाने में मदद करता है , जिसका अर्थ है कि इसे एक प्रकार के कंप्यूटर से दूसरे कंप्यूटर में आसानी से ले जाया जा सकता है।

Interpreter कैसे कार्य करता है।

अभी तक आपने जाना की compiler Kya hai यदि आप कम्पाइलर के कार्य को समझना चाहते है तो कंपाइलिंग का प्रोसेस कई स्टेज से होकर गुजरता है और जिसमे से प्रत्येक स्टेज हाई लेवल कोड को मशीन लैंग्वेज या इंटरमीडिया लैंग्वेज में कन्वर्ट करने के लिए उत्तरदायी होता है। नीचे आप कंपाइलिंग प्रोसेस को ओवरव्यू कर सकते है।

  • Lexical Analysis (Scanning): इस प्रोसेस में हाई लेवल सोर्स कोड को अलग-अलग टोकन (कीवर्ड, आइडेंटिफायर , ऑपरेटर, आदि) में विभाजित किया जाता है। जिसमे स्पेस और कमेंट को रिमूव कर दिया जाता है।
  • Syntax Analysis (Parsing): सोर्स लैंग्वेज के आधार पर कम्पाइलर सोर्स कोड के सिंटेक्स को वेरीफाई करता है। इस प्रक्रिया को पार्सिंग भी कहा जाता है। इस स्टेज में , कंपाइलर आमतौर पर abstract syntax trees बनाता है जो कोड एलिमेंट्स के स्ट्रक्चर को रिप्रेजेंट करता है।
  • Semantic Analysis. इस प्रोसेस में कम्पाइलर प्रोग्रामिंग रूल के कांटेस्ट के अनुसार स्टेटमेंट और एक्सप्रेशन की मीनिंग को समझता है।
  • IR code generation : कोड को तीन एनालिसिस Phase से गुजरने के बाद कम्पाइलर सोर्स कोड का Intermediate Representation (IR) जनरेट करता है। आईआर कोड सोर्स कोड को एक अलग फॉर्मेट में ट्रांसलेट करने की प्रक्रिया को आसान बनता है।
  • Optimization : कम्पाइलर फाइनल कोड जनरेशन में IR Code को अंतिम बार ऑप्टिमाइज करता है। ऑप्टिमाइज़ेशन का टाइप और एक्सटेंड कम्पाइलर पर निर्भर करता है
  • Output code generation : कंपाइलर ऑप्टिमाइज आईआर कोड का उपयोग करके फाइनल आउटपुट कोड जनरेट करता है जो एक Executable फ़ाइल या जिसे अन्य फॉर्मेट में देखा जा सकता है।

कंपाइलर के फ़ायदे : Advantages of Compiler

Programing की दुनिया में कम्पाइलर उपयोग करने के कई प्रकार के फ़ायदे होते है जिजिनमे से कुछ फायदों को नीचे देख सकते है।

  • Efficiency: कम्पाइलर  कोड इंटरप्रेटेड कोड की तुलना में अधिक  एफिशिएंट (कुशल )होता है क्योकि इसे मशीन कोड या इंटरमीडिया कोड में ट्रांसलेट किया जाता है।
  • Portability: सोर्स कोड एक बार  कमप्लीड प्रोग्राम हो जाने के बाद रिजल्ट मशीन कोड को उपयुक्त हार्डवेयर और ऑपरेटिंग सिस्टम वाले किसी भी कंप्यूटर या डिवाइस पर चलाया जा सकता है, जिससे यह अत्यधिक पोर्टेबल हो जाता है।
  • Optimizations: कंपाइलर सोर्स कोड कोड पर विभिन्न ऑप्टिमाइजेशन करता  हैं, जैसे डेड कोड एलिमिनेशन , लूप अनरोलिंग और कांस्टेंट  फोल्डिंग। ये ऑप्टिमाजेशन  जेजनरेट  किए गए मशीन कोड की एफिशिएंसी को बढ़ाने में मदद करते है ।
  • Error Checking: कम्पाइलर प्रोसेस के समय एरर चेक करता हैं, जो कोड को चलाने से पहले उसमें सिंटैक्स, सिमेंटिक और लॉजिकल एरर  समझने में  मदद कर सकता है।
  • Code reverstion : कम्पाइलड  कोड को आमतौर पर इंटरप्रेटेड  किए गए कोड की तुलना में रिवर्स इंजीनियर करना अधिक कठिन कार्य  होता है। इसमें दूसरो के लिए मूल सोर्स कोड में जाना कठिन होता है।
  • Offline Compilation: कंपाइलेशन एक बार की  प्रोसेस होती है जो एक्सेक्यूटबल फाइल क्रिएट करती है।  कोड एक बार कम्पाइल होने के बाद इससे प्राप्त एक्सेक्यूटबल फाइल को अनेको बार रन किया जा सकता है।

Disadvantages of Compiler

compiler kya hai में आपने भी तक इसके फायदों के बारे में जाना प्रोग्रामिंग में  कंपाइलर के फायदे होते  हैं, लेकिन इसके संभावित नुकसान के बारे में भी आपको जानना आवश्यक है।

  • प्रोग्राम को कम्पाइल करने में अधिक समय लगता है विशेष रूप से जब  प्रोग्राम लम्बे और काम्प्लेक्स हो।
  • इंटरप्रेटेड कोड की तुलना में कम्पाइल कोड को डिबग करना अधिक कठिन टास्क होता है।
  • कम्पाइल कोड को सोर्स कोड की तुलना में  एक डिवाइस से दूसरे डिवाइस में  ले जाना आसान होता है लेकिन यह प्लेटफ़ॉर्म पर निर्भर करता  है।
  • इंटरप्रेटेड  की तुलना में कम्पाइलर प्रोसेस को समझना थोड़ा कठिन हो सकता है।
  • कम्पाइलर में इंटरप्रेटर की तुलना में आदिक सिस्टम मेमोरी उपयोग हो सकती है ख़ासकर जब आप बड़े और काम्प्लेक्स कोड को रन करते है। 

Compilers के प्रकार

अभी तक आपने जाना की Compiler Kya Hai . यदि आप महारत हासिल करना चाहते है तो इनके प्रकार को समझना बेहद जरूरी। कम्पाइलर को  उनकी विशेषताओं, कार्यक्षमताओं और उनके द्वारा परफॉर्म किये जाने वाले टास्क के आधार पर विभिन्न प्रकार से  वर्गीकृत किया गया  है। नीचे आप कुछ  सामान्य प्रकार के कंपाइलर को समझ सकते  हैं

  • Single-Pass Compiler
  • Multi-Pass Compiler
  • Front-End Compiler
  • Back-End Compiler
  • Cross-Compiler
  • just-In-Time (JIT) Compiler
  • Source-to-Source Compiler
  • Bootstrapping Compiler
  • Interpreting Compiler
  • Parallelizing Compiler
  • Load-Time Compiler

Compiler और  Interpreter में क्या अंतर है।

कम्पाइलर पूरे प्रोग्राम को एक बार में चेक करता है। पूरे प्रोग्राम की जाँच हो जाने के बाद कोड में आने वाले सभी errors को एक लोकेशन में डिस्प्ले करता है । लेकिन interpreter प्रोग्राम को लाइन बाय लाइन चेक करता है और किसी प्रकार का एरर डिटेक्ट होने पर execution को वही स्टॉप कर देता है।

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

सम्बंधित जानकारी

siya

नमस्कार ! मै Simi Kaithal इस वेबसाइट का Owner और Founder हु। हम इस वेबसाइट में एक प्रोफेशनल ब्लॉगर की तरह कार्य करते है , जहा पर रीडर को Technical Blogging , web Development ,SEO, Software , GK एवं अन्‍य जानकारी दी जाती है । इस वेबसाइट का पूर्ण मकसद अधिक से अधिक लोगो को फ्री में जानकारी देना है। किसी भी प्रकार के सवाल या डाउट जिसका अभी तक हल न मिला हो बेझिझक हमसे पूछ सकते है ।

Leave a Reply