कंपाइलर की ऐसा computer प्रोग्राम होता है, जो एक प्रोग्रामिंग भाषा में लिखे गए code को दूसरी भाषा में ट्रांसलेट करने का कार्य करता है। एक कंप्यूटर में यह high level language को machine language में convert करता है।
कंपाइलर हमारे द्वारा लिखे गए code को कंप्यूटर के समझने योग्य बनाता है, जिससे कंप्यूटर को उचित output प्रदान करने में सहायता प्राप्त हो सके।
कंपाइलर end code भी बनाता है जिसे एक्सेक्युशन और मेमोरी स्पेस के लिए अनुकूल किया जाता है। कंपाइलर के बिना कंप्यूटर में प्रोग्रामिंग करना बहुत मुश्किल है।
Compiler क्या है – What is Compiler in HIndi
Compiler एक कंप्यूटर software है जो high-level-language में लिखे गए प्रोग्राम को low-level-machine-language में कन्वर्ट करता है। यह एक लैंग्वेज में लिखे गए प्रोग्राम को दूसरी लैंग्वेज में ट्रांसलेट करता है, इसलिए इसे प्रोग्रामिंग लैंग्वेज ट्रांसलेशन सॉफ्टवेयर भी कहा जाता है।
“कंपाइलर” नाम मुख्य रूप से उन प्रोग्रामों के लिए लेन का कुछ उपयोग किया जाता है जो कंप्यूटर प्रोग्राम है बनाने के लिए सिक्योर कोड को उच्चस्तरीय भाषा से नीमन स्तरीय भाषा में अनुवाद करते हैं।
यह कंप्यूटर विज्ञान की वह तकनीक है, जो कंप्यूटर की क्षमता एवं दक्षता में विस्तारवाद का कार्य करती है। यह सामान्य human-readable code को machine-readable code में ट्रांसलेट करता है।
Machine code वह code होते हैं जिनको लिखना बहुत मुश्किल होता है। प्रत्येक व्यक्ति द्वारा यह कार्य किया जाना लगभग असंभव है। अगर कोई यह लिखे तो भी इसमें समय बहुत लग जाता है। कंपाइलर एक ऐसा सॉफ्टवेयर होता है जो इसे auto create करने में सक्षम होता है।
कंपाइलर आधुनिक समय की वह खोज है जो भाषाओं की जटिलता को सरलता प्रदान कर कंप्यूटर के अनुसार उसकी संरचना एवं इकाई में परिवर्तन लाने का कार्य करता है।
Compiler के प्रकार (Types of Compiler in Hindi) –
Single-pass Compiler –
Single-pass कंपाइलर का कार्य प्रोग्राम को पढ़ना है। यह कंपाइलर के सभी phases को संगठित कर उनमें एकरूपता लाने का कार्य करता है साथ ही आउटपुट को स्टोर करने का कार्य करता है।
Two-pass Compiler –
यह कंपाइलर के सभी phases को दो भागों में विभाजित कर संगठित करने का कार्य करता है। यह input और output की प्रक्रिया में अपनी अहम भूमिका निभाता है। यह syntactical analysis की प्रक्रिया में उसकी सहायता करता है।
Multi-pass Compiler –
यह Single-pass कंपाइलर के विपरीत कार्य करता है। यह Single-pass और Two-pass में जो कमी रह गई होती है उसको पूरा करने का कार्य करता है और उसके पश्चात यह एक output तैयार करता है।
Cross Compiler –
यह एक ऐसा प्लेटफार्म होता है जहां पर निष्पादन योग्य मशीन कोड उत्पन्न किया जाता है लेकिन यह वह प्लेटफार्म नहीं जहां पर कंपाइलर चल रहा होता है। कंपाइलर जो कि object code produce करते हैं जो कि केवल सिस्टम में run होने के लिए बना होता है उसे Cross Compiler कहा जाता है।
Bootstrap Compiler –
यहां पर bootstrap कंपाइलर एक प्रोग्रामिंग भाषा में लिखे जाते है जिसे बाद में संयोजित किया जाता है।
Source to Source / Trans Compiler –
ये कंपाइलर प्रोग्रामिंग भाषा के सोर्स कोड को दुसरे प्रोग्रामिंग भाषा के सोर्स कोड में बदल देते है।
Decompiler –
Decompiler जो एक executable file के रूप में input प्राप्त करता हैं। किसी कारण से file का सोर्स कोड खो जाता है या corrupt हो जाता हैं तो decompilation प्रक्रिया अधिकांश कोड को पुनर्प्राप्त करने का प्रयास करती है।
Compiler कैसे काम करता है? –
एक प्रोग्रामर मशीन लैंग्वेज (Low Level Language) को समझ नहीं सकता, इसलिए वह सीधे मशीन लैंग्वेज में प्रोग्राम लिखकर प्रोग्रामिंग नहीं कर सकता। जब कोई प्रोग्राम है प्रोग्रामर कंप्यूटर में प्रोग्राम लिखता है, जिसे सोर्स कोड कहा जाता है, तो वह उसे High Level Language में लिखता है।
कंपाइलर लिखे हुए प्रोग्राम को analyze करता है और उसमें error ढूंढता है। सब कुछ सही होने के बाद अंग्रेजी भाषा में लिखे हुए प्रोग्राम को कंपाइलर मशीन लैंग्वेज (Low Level Language) में परिवर्तित कर देता है ताकि कंप्यूटर इसे आसानी से समझ सके।
Top Best Compiler –
Compiler for Windows Operating System –
- Turbo C
- Intel C++ Compiler
- MinGW
- GNU Compiler Collection
- Tiny C
- LCC
- Free Pascal
- Clisp
Compiler for Linux Operating System –
- Clang
- AMD Optimising Compiler
- LLVM
- Glasgow Haskell
- Intel Fortran Compiler
Compiler के Phases/Structure –
कंपाइलर के सभी स्टेप्स दो भागों में विभाजित होते हैं –
Front End –
इस भाग में Lexical Analysis, Syntax Analysis, Semantic Analysis और Intermediate Code Generator आते हैं।
Lexical Analysis –
यहां पर high level language सोर्स कोड होता है जिसे यह इनपुट के रूप में उपयोग करता है। यह इन सोर्स कोड को बाये से दाए स्कैन करता है इसलिए इसे Scanner भी कहते हैं। यह सोर्स कोड के करैक्टर को लेक्सेस में स्टोर कर देता है। लेक्सेस करैक्टर का एक ग्रुप है जिसका कोई अर्थ निकलता है।
Syntax Analysis –
Lexical Analysis से जो output प्राप्त होता है वह इसके लिए input का काम करता है। यह सोर्स code में syntax analysis का पता लगता है। syntax analysis का दूसरा नाम Parser है।
Semantic Analysis –
यह syntax analysis के पार्स ट्री की जाँच करता है। यह प्रोग्रामिंग में code की वैलिडिटी की जाँच करता है। यह एक verified parse tree भी बनाता है, इसलिए इसे annotated parse tree भी कहा जाता है।
Intermediate Code Generator (ICG) –
यह Intermediate Code होता है जिसका अर्थ है की यह न तो High Level Language और न ही Machine Language होता है। बाद में इस code को Machine Language में बदल दिया जाता है।
Back End –
इस भाग में Code Optimizer और Target Code Generator आते हैं।
Code Optimizer –
यह Intermediate Code में परिवर्तन करता है। इसका मुख्य कार्य परिवर्तन करना होता है ताकि यह कम साधनों का उपयोग करके निष्पादन किया जा सके। code को चाहे कितनी भी बार परिवर्तन कर दे code का अर्थ वही होता है।
Target Code Generator –
यह सबसे अंतिम स्टेप है, यहा परिवर्तन किये गए Intermediate Code को Machine code में परिवर्तन कर दिया जाता है। Machine code जो भी code उत्पन्न करता है वह किसी को भेजने योग्य होता है।
निष्कर्ष (Conclusion) –
कंपाइलर कंप्यूटर के विकास का वह परिणाम है जो कंप्यूटर की दक्षता एवं इसके क्षेत्र में विस्तार लाने का कार्य करता है। इसकी प्रोग्रामिंग द्वारा व्यक्ति आसानी से इनपुट और आउटपुट कमांड करने में सक्षम होता है।
यदि आपको यह आर्टिकल Compiler क्या है? पसंद आया या कुछ सीखने को मिला है तो इस आर्टिकल को सोशल नेटवर्क्स जैसे कि facebook, Twitter इत्यादि पर शेयर जरूर करे।