जब हम कंप्यूटर के लिए प्रोग्राम लिखते हैं, तो हम इसे अंग्रेजी भाषा में लिखते हैं जिसे हम आसानी से पढ़ और समझ सकते हैं, लेकिन कंप्यूटर अंग्रेजी भाषा यानी High-Level Language को समझ नहीं सकता क्योंकि कंप्यूटर मशीनी भाषा यानी Low-Level Language को समझता है जो कि बाइनरी डिजिट 1 और 0 के फॉर्म में होते है।
हम मशीन लैंग्वेज को नहीं समझ सकते, इसलिए हम अंग्रेजी भाषा की सहायता से कंप्यूटर पर प्रोग्राम लिखते है, इस अंग्रेजी भाषा को कंप्यूटर नहीं समझ सकता इसलिए सॉफ्टवेयर के द्वारा अंग्रेजी भाषा को मशीन लैंग्वेज में बदला जाता है तब कंप्यूटर लिखे गए प्रोग्राम को समझ पाता है, जिस सॉफ्टवेयर के द्वारा यह काम होता है उस सॉफ्टवेयर को कंपाइलर कहते हैं।
कंपाइलर के बिना कंप्यूटर में प्रोग्रामिंग करना बहुत मुश्किल है। कंप्यूटर और प्रोग्रामिंग पढ़ने वाले छात्रों के लिए कंपाइलर के बारे में जानना बहुत जरूरी है, बहुत से लोग इसके बारे में नहीं जानते हैं, इसलिए हमने सरल शब्दों में एक लेख तैयार किया है जिसके माध्यम से आप जानेंगे कि कंपाइलर क्या है? और High-Level Language एवं Low-Level Language क्या होता है?
Table of contents
Compiler क्या है? (What is Compiler in hindi)
Compiler एक कंप्यूटर सॉफ्टवेयर है जो High-Level Language में लिखे गए प्रोग्राम को Low-Level Machine Language में कन्वर्ट करता है एवं यह एक लैंग्वेज में लिखे गए प्रोग्राम को दूसरी लैंग्वेज में ट्रांसलेट करता है, इसलिए इसे प्रोग्रामिंग लैंग्वेज ट्रांसलेशन सॉफ्टवेयर भी कहा जाता है।
“कंपाइलर” नाम मुख्य रूप से उन प्रोग्रामों के लिए उपयोग किया जाता है जो कंप्यूटर प्रोग्राम बनाने के लिए source code को उच्च-स्तरीय प्रोग्रामिंग भाषा से निम्न-स्तरीय भाषा में अनुवाद करते हैं।
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
Turbo C क्या है?
Turbo C एक प्रचलित कंपाइलर सॉफ्टवेयर है, जिसका उपयोग windows ऑपरेटिंग सिस्टम में किया जाता है। प्रोग्रामिंग सीखने वाले अधिकांश छात्र टर्बो सी कंपाइलर के साथ अपनी प्रोग्रामिंग यात्रा शुरू करते हैं।
Source code क्या है?
“सोर्स कोड” प्रोग्राम का एक सेट है जो शब्दों, संख्याओं और अक्षरों से बना होता है, आमतौर पर इसे अंग्रेजी भाषा में इसलिए लिखा जाता है ताकि इंसान इसे आसानी से समझ और पढ़ सके। एक कंप्यूटर प्रोग्रामर सोर्स कोड को डिवेलप और डिजाइन करता है।
कंपाइलर कैसे काम करता है?
एक प्रोग्रामर मशीन लैंग्वेज यानी Low-Level Language को समझ नहीं सकता, इसलिए वह सीधे मशीन लैंग्वेज में प्रोग्राम लिखकर प्रोग्रामिंग नहीं कर सकता। जब कोई प्रोग्रामर कंप्यूटर में प्रोग्राम लिखता है, जिसे सोर्स कोड कहा जाता है, तो वह उसे अंग्रेजी भाषा यानी High-Level Language में लिखता है।
कंपाइलर लिखे हुए प्रोग्राम (source code) को analyze करता है और उसमें error ढूंढता है, सब कुछ सही होने के बाद, अंग्रेजी भाषा में लिखे हुए प्रोग्राम को कंपाइलर मशीन लैंग्वेज यानी Low-Level Language में परिवर्तित कर देता है ताकि कंप्यूटर इसे आसानी से समझ सके।
source code को machine language में कन्वर्ट करने के लिए कंपाइलर इन सात निर्देशों का उपयोग करता है –
- Lexical analyzer
- Syntax analyzer
- Semantic analyzer
- Intermediate code generator
- Machine independence code optimiser
- Code generator
- Machine dependent code optimiser
कम्पाइलर के प्रकार | Types of Compiler
कम्पाइलर के कइयों प्रकार है जिनमे से कुछ प्रमुख है :
- Native compiler
- Source to source compiler
- Threaded code compiler
- Source compiler
- Cross compiler
- One pass compiler
- Incremental compiler
- Decompiler
Decompiler क्या होता है?
एक decompiler एक कंप्यूटर प्रोग्राम है जो एक executable file के रूप में इनपुट प्राप्त करता है। यदि किसी कारण से फ़ाइल का सोर्स कोड खो जाता है या corrupt हो जाता है, तो decompilation प्रक्रिया कोड को, या कम से कम अधिकांश को पुनर्प्राप्त करने का प्रयास करती है।
Compiler और Interpreter के बीच अंतर
Compiler | Interpreter |
---|---|
कंपाइलर पूरे प्रोग्राम को इनपुट के रूप में लेता है। | Interpreter इनपुट के रूप में single program लेता है। |
इंटरमीडिएट ऑब्जेक्ट कोड उत्पन्न होता है। | कोई इंटरमीडिएट ऑब्जेक्ट कोड उत्पन्न नहीं होता है। |
यह स्टेटमेंट को तेजी से पड़ सकता है। | यह स्टेटमेंट को धीमी गति से पड़ता है। |
Program को हर बार compiled करने की आवश्यकता नहीं है। | यह हर बार हाई लेवल प्रोग्राम को लो लेवल प्रोग्राम में बदलता है। |
उदाहरण – C Compiler | उदाहरण – BASIC |
कम्पाइलर और इंटरप्रेटर के बीच के अंतरों को विस्तार से जानने के लिए “Compiler और Interpreter में अंतर” लेख जरूर पढ़ें।
F&Q
High-Level Language एक कंप्यूटर प्रोग्रामिंग लैंग्वेज है, जिसे प्रोग्राम डेवलपमेंट के लिए डिज़ाइन किया गया है, यह एक ऐसी भाषा है जिसे इंसान आसानी से समझ, लिख और पढ़ सकता है। प्रोग्रामर प्रोग्राम बनाते वक्त इस लैंग्वेज का उपयोग करता है।
Low-Level Language एक कंप्यूटर प्रोग्रामिंग लैंग्वेज है, इसमें संख्यात्मक कोड होते हैं अर्थात 0 और 1. ये कोड कंप्यूटर के लिए आसानी से समझने योग्य होते हैं लेकिन मानव के लिए कठिन होते हैं। कंप्यूटर की दो पीढ़ियों में Low-Level की भाषा का प्रयोग किया जाता है First Generation और second Generation.
C लैंग्वेज के लिए सबसे अच्छे कम्पाइलर है Turbo C, Tiny C, Portable C, GCC और Clang