Compiler क्या है और इसका क्या उपयोग है?

दोस्तों क्या आप जानते हैं कि Compiler क्या है और Compiler का क्या उपयोग होता है। कंपाइलर एक कंप्यूटर प्रोग्राम होता है| कंपाइलर का इस्तेमाल कंप्यूटर की कोडिंग लैंग्वेज को ट्रांसलेट करने केलिए किया जाता है| कंपाइलर एक प्रोग्रामिंग लैंग्वेज को दूसरी प्रोग्रामिंग लैंग्वेज में ट्रैन्स्लेट करता है| 

अगर आपको कंपाइलर के बारे में बिल्कुल भी जानकारी नहीं है तो आप हमारे इस ब्लॉग को अंत तक जरूर पढ़ें| आप Technical Background से हैं या फिर नो Non Technical Background से है| आप हमारे इस ब्लॉग को पढ़ने के बाद कंपाइलर के बारे में अच्छी तरह से जानकारी ले सकते हैं| 

अगर आप technical student है| मान लीजिए अगर आप Computer Science student है तो कंपाइलर के बारे में आपको मालूम होना बहुत जरूरी है क्योंकि technical student के लिए कंप्यूटर का इस्तेमाल आम होता है| इसलिए आपको उसके बारे में मालूम होना चाहिए कि कंपाइलर क्या है और कंपाइलर के कार्य क्या है?

अगर हम आम भाषा में बात करें तो कंपाइलर एक ऐसा कंप्यूटर प्रोग्राम होता है जो Source Language को जरूरत के अनुसार Target Language में कन्वर्ट करता है| आप यह भी कह सकते हैं कि कंपाइलर High level language को Machine Language में कन्वर्ट करता है| 

चलो अब हम कंपाइलर क्या होता है इसके कार्य क्या है इसके बारे में डिटेल में जानकारी आपके साथ शेयर करते हैं| असल में कंपाइलर एक बेसिक टेक्नोलॉजी है जिसके बारे में आप सब लोगों को मालूम होना बहुत जरूरी है| 

कंपाइलर क्या है?

यह कंपाइलर एक सॉफ्टवेयर प्रोग्राम होता है जो कि developer द्वारा लिखी हुई high-level programming language को low level object code और machine language में ट्रांसफर करता है यह हाई लेवल लैंग्वेज को बानी कोर्ट में ट्रांसफर करता है| जिसे कि Processor के द्वारा सांझा किया जाता है| high-level programming को machine language में ट्रांसफर करने की प्रकिर्या को Compilation कहा जाता है| 

कम्पाइलर किसे कहते है?

जैसे कि हमने आपको कंपाइलर के काम करने के बारे में बताया है| अगर आप non-technical व्यक्ति हैं और आपको अभी भी कंपाइलर के बारे में समझ नहीं आया है तो हम आपको एक आसान भाषा में समझाने की कोशिश करेंगे| 

उदाहरण के तौर पर मान लीजिए आप अपने देश से बाहर किसी और दूसरे देश में जाते हैं और वहां पर आपको जो सबसे बड़ी मुश्किल का सामना करना पड़ता है वह होगी वहां की भाषा| आप अपनी भाषा हिंदी में बात करने में समर्थ है लेकिन वहां के लोग इंग्लिश में या फिर उस देश की भाषा का इस्तेमाल करते होंगे तो उस स्थिति में आपको एक ट्रांसलेट की जरूरत पड़ेगी जो कि कोई व्यक्ति, कोई App या फिर Book हो सकती है जो आपकी हिंदी भाषा को इंग्लिश में कन्वर्ट कर सके और साथ ही उस इंग्लिश भाषा को आपके लिए हिंदी में कन्वर्ट कर सके|

ठीक उसी तरह कंप्यूटर को भी ट्रांसलेटर की जरूरत पड़ती है क्योंकि कंप्यूटर binary language को ही समझता है जिसमें वह सिर्फ 0 और 1 की भाषा को ही समझ सकता है| इसलिए जब भी कोई व्यक्ति कंप्यूटर को कोई command देता है तो वह अपनी इंग्लिश भाषा में देता है लेकिन कंप्यूटर के अंदर मौजूद ट्रांसलेटर या यह कह सकते हैं कि कंप्यूटर के अंदर कंपाइलर इंग्लिश में दी हुई command को कंप्यूटर तक 0s और 1s फॉर्म यानि binary language में पहुचाता है और फिर कंप्यूटर उसे ट्रांसलेट करने के बाद इंग्लिश भाषा में आपकी स्क्रीन पर दिखाता है और यह रिजल्ट कंप्यूटर में language translator की मदद से दिखाता है| जिससे व्यक्ति और कंप्यूटर का तालमेल बना रहे| 

जब हम कंप्यूटर में command को प्रोसेस करने के लिए set of instructions-program लिखते हैं| तो यह कमांड हम कंप्यूटर को English language में देते हैं|  English language ऐजैसे की c, c++, Java  का इस्तेमाल किया जाता है| इस भाषा का इस्तेमाल करके हम कंप्यूटर को command देते हैं| जिससे कंप्यूटर एक Language Translator का इस्तेमाल करता है और इस भाषा में दिए गए command को Language Translator से binary language में कन्वर्ट करता है| computer को लैंग्वेज को ट्रांसलेट करने के लिए यहां पर एक कंपाइलर की जरूरत होती है जो कि high level language को machine language में ट्रांसलेट करता है|

Compilers की Major Parts क्या होते है?

Compiler के मुख्य 2 फेस होते हैं

Analysis Phase

पहला हिस्सा Analysis Phase होता है| जिसमें given source program से एक intermediate representation को create किया जाता है और फेस का मुख्य भाग है Lexical Analyzer, Syntax Analyzer और Semantic Analyze.

Synthesis Phase

वहीँ दूसरा हिस्सा है synthesis phase होता है| इस Phase में intermediate representation से equivalent target program को create किया जाता है|  इस Phase के मुख्य भाग हैं – Intermediate Code Generator, Code Optimizer,  और Code Generator. 

कम्पाइलर का क्या उपयोग है?

कंपाइलर का उपयोग 4 मेजर कामों के लिए किया जाता है और वह कार्य कुछ इस प्रकार:-

Scanning

Scanning की मदद से कंपाइलर source code के characters को track करता है और इसका रिकॉर्ड रखता है कि कौन सा character कौन सी लाइन में मौजूद है| 

Lexical Analysis

Compiler, source code में appear होने वाले series of strings of characters (जिन्हें की tokens कहते हैं) को sequence of characters में convert करते हैं, जो एक program जिसे lexical analyzer कहते है उसके द्वारा कुछ specific rule से associated होते हैं| lexical analyzer में words को store करने के लिए एक symbol table का इस्तमाल होता हैं जो Source Code में token generated के साथ correspond करता है|

Syntactic Analysis

इस step में, syntax analysis किया जाता है| जिसमें pre-processing involve होता है जो की ये determine करता कि lexical analysis के दौरान usage के हिसाब से जो tokens create होते है वह proper order में हुए हैं या नहीं| इस प्रकिर्या में Set of keywords का correct order जो की एक अंत में desired result देता है उसे Syntax कहते हैं| इसमें compiler को syntactic accuracy को ensure करने के लिए source code को check करना होता है| 

Semantic Analysis

इस step में बहुत से intermediate steps होते हैं| पहले स्टेप में tokens का structure और उनका order भी check किया जाता है की क्या वह given language के grammar के accordingly है या नहीं| 

Token Structure का meaning parser और analyzer के द्वारा interpret किया जाता है| जिससे की finally एक intermediate code generate हो सके| जिसे Object code कहा जाता है| इन object code में instructions होते हैं जो किसी corresponding token के लिए processor action को represent करते हैं जब उसे program में encounter किया जाता है| 

आखिर में, code की possible optimizations को check करने के लिए entire code को parsed और interpret किया जाता है| और यह check किया जाता है कि इस code में optimizations possible है भी या नहीं| एक बार optimizations को perform किये जाने के बाद तब appropriate modified tokens को object code में insert किया जाता है| जिससे final object code generate किया जा सके और उसे एक file के भीतर save किया जा सके|

Compiler के अलग अलग Phases क्या है?

Compiler को operate होने में अलग-अलग फेस का इस्तेमाल होता है और वह फिर कुछ इस प्रकार हैं:-

  • Lexical Analysis
  • Syntax Analysis
  • Semantic Analysis
  • Intermediate Code Generator
  • Code optimizer
  • Code generation

कम्पाइलर के लाभ:

कंपाइलर हाई लेवल प्रोग्रामिंग लैंग्वेज को सोर्स प्रोग्राम में कंपाइल करके object program या Machine level language में कन्वर्ट करता है| कंपाइलर पूरे प्रोग्राम को एक ही समय पर कंपाइल करता है| अगर उसमें कोई भी errors आता है तो वह उन errors को debugging window में प्रदर्शित करता है| जिससे हमे उन errors को ठीक कर सकते हैं और दोबारा से कंपाइल प्रोग्राम को चला सकते हैं| 

कंपाइलर ने programmers को High level language का प्रयोग करने में काफी ज्यादा सहूलियत प्रदान की है| जिस से programmers Machine language और असेंबली भाषा जो कि High level language की तुलना में काफी ज्यादा मुश्किल होती है की कमियों को खत्म भरता है|

कंपाइलर की हानियां:

कंपाइलर, source program को एक ही समय पर कंपाइल करता है और इस प्रोग्राम को कंपाइल करने में कंपाइलर काफी ज्यादा समय लगाता है।

कंपाइलर में प्रोग्राम काफी बड़े होते हैं और प्रोग्राम के बड़े होने की वजह से इसमें errors को ढूंढना काफी मुश्किल होता है और उन्हें सही करने में भी काफी समय लगता है| 

आप जान चुके हैं कि कंपाइलर क्या है कंपाइलर कैसे कार्य करता है कंपाइलर के मेजर पार्ट्स क्या होते हैं कंपाइलर का उपयोग क्यों किया है कंपाइलर के लाभ कंपाइलर की हानियां क्या है। उम्मीद करते हैं कि आपको हमारे द्वारा शेयर करी गई जानकारी आपके लिए लाभदायक होगी| अगर आपको हमारे द्वारा शेयर करी गई जानकारी से संबंधित कोई भी डाउट है तो आप हमें नीचे कमेंट बॉक्स में कमेंट कर सकते हैं|

 

ये भी पढ़े:

SMPS क्या है और कैसे काम करता है? 

Email क्या है और ईमेल का इतिहास क्या है?

डोमेन नाम क्या है और कैसे बनाये?

 

 

FAQ (Frequently Asked Questions)

Decompiler किसे कहते है?

Decompiler कंप्यूटर में कंपाइलर के बिल्कुल विपरीत काम करता है|  Decompiler machine language को high-level natural language में कन्वर्ट करता है| 

Cross-Compiler किसे कहते है?

Cross-Compiler एक ऐसा कंपाइलर होता है जो कंप्यूटर में object code produce करता है और केवल system में run किया जाता है इस प्रक्रिया को करने वाले कंपाइलर को Cross-Compiler कहा जाता है|

Programming Language किसे कहते है?

जो कंपाइलर Programming Language को दूसरी लैंग्वेज में कन्वर्ट करता है उसे Language translator कहा जाता है| 

कंपाइलर और इंटरप्रेटर क्या है? Compiler और Interpreter के बीच अंतर क्या है?

कंप्यूटर प्रोग्राम आमतौर पर उच्च स्तरीय भाषाओं पर लिखे जाते हैं। इन उच्च स्तरीय भाषा को इंसान द्वारा समझा जा सकता है। कंपाइलर एक तरह का ट्रांसलेटर होता है जो सोर्स भाषा को वस्तु भाषा में कन्वर्ट करता है| कंपाइलर पूरे प्रोग्राम को एक ही समय पर स्कैन करता है और एक ही बार में पूरे प्रोग्राम को मशीन कोड में कन्वर्ट कर देता है। वही दूसरी तरफ इंटरप्रेटर सोर्स भाषा पर ही काम करता है| Interpreter मशीन कोड के समय में Program के सिर्फ एक Statement को कन्वर्ट करता है।

कम्पाइलर कौन सा सॉफ्टवेयर है?

कंपाइलर ट्रांसलेटर प्रोग्रामर है जो हाई लेवल लैंग्वेज को मशीन लेवल लैंग्वेज में ट्रांसलेट करता है| 

1 thought on “Compiler क्या है और इसका क्या उपयोग है?”

Your Answer

Your email address will not be published.

Scroll to Top