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

क्या आप जानते हैं कम्पाइलर क्या है (What is Compiler in Hindi)? यदि नहीं तब तो आपके लिए एक बहुत ही बढ़िया मौका है इस technology को आसानी से समझने के लिए. चाहे आप एक technical student या कोई non-tech background से हो, इस compiler को समझने में आ सभी की भलाई है. क्यूंकि इसे सभी जगहों में इस्तमाल किया जाता है. वैसे एक Computer Science student के लिए तो इसे समझना बहुत ही जरुरी बात होता है. क्यूंकि अगर आपको Programming के बारे में पूरी तरह समझना है तब कम्पाइलर का क्या कार्य है के विषय में जानना बहुत ही जरुरी हो जाता है.

वैसे एक Compiler को यदि में आसान भाषा में कहूँ तब ये ऐसा program होता है जो की एक Source Language को जरुरत के अनुसार एक Target Language में convert करता है. एक Computer में यह High level language को Machine Language में convert करता है. इसलिए आज मैंने सोचा की क्यूँ न आप लोगों को कम्पाइलर का क्या कार्य है के विषय में पूरी जानकारी प्रदान करूँ जिससे आने वाले समय में आपको इस basic technology की जानकारी पहले से ही हो. तो बिना देरी किये चलिए शुरू करते हैं और जानते हैं की कम्पाइलर किसे कहते है और कैसे काम करता है.

कम्पाइलर क्या है (What is Compiler in Hindi)

Compiler Kya Hai Hindi

एक Compiler एक software program होता है जो की transform करता है high-level source code को जो की एक developer के द्वारा लिखा गया है एक high-level programming language में उसे एक low level object code (binary code) machine language में, और जिसे की Processor के द्वारा आसानी से साझा किया जा सके. इस प्रक्रिया को जिसमें high-level programming को machine language में बदला जाता है उसे Compilation कहा जाता है.

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

जैसे की मैंने पहले ही आपको Compiler की technical definition से परिचित करा दिया है, जैसे की सभी लोग अक्सर करते हैं, लेकिन अभी चलिए आपको में Compiler की ही definition को बिलकुल ही आसान भाषा में समझाने वाला हूँ जिससे की एक non-technical व्यक्ति भी समझ सकता है.

कुछ समय के लिए compiler के विषय में भूल जाईये और imagine करें की आप एक सुन्दर सी country को अपनी छुट्टी बिताने के लिए गए हुए हैं. इसमें जो एक बहुत ही basic सी problem है वो ये की आपको बोलना, लिखना और समझना केवल अपने regional language में आता है जो की है Hindi. लेकिन वहां उस देश के नागरिकों को केवल English के सिवा और कुछ नहीं आता है. तब ऐसे में आप वहां कैसे दूसरों के साथ communicate करेंगे?

ऐसे में इसका एक ही solution हैं की आपको एक language translator की जरुरत पड़ेगी जो की एक इन्सान या एक बुक या एक App भी हो सकता है. ये language translator आपकी Hindi को English में translate करेगा ताकि व दूसरा व्यक्ति आपकी बातों को समझ सके. साथ में वो English को Hindi में भी convert करेगा तक आपको भी उनकी भाषा समझ में आ सके.

यही समान चीज़ computer के साथ भिः होता है. Computers को भी केवल binary language (language जिसमें 0s और 1s होती हैं) ही समझ में आता है, वहीँ Users को जो की Computer को English या कोई language समझ में आता है. ऐसे में आपके द्वारा दिए गए commands को computer कैसे समझेगा? साथ में computer के द्वारा perform किया गया कोई भी process calculation आपको समझ में नहीं आएगा. ऐसे में यहाँ पर एक language translator की जरुरत है ताकि वो दोनों में अच्छा तालमेल बैठा सके.

जब हम computer को कुछ command करते हैं process करने के लिए, तब हम कुछ set of instructions-program लिखते हैं English language जैसे की c, c++, Java इत्यादि में जो की English में ही होती है और एक Language Translator की जरुरत होती है उसे convert करने के लिए binary language में जिससे की एक computer उसे आसानी से समझ सके. ऐसे में इस स्थान में Complier का इस्तमाल किया जाता है, जो की high level language को machine language में convert करता है.

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

वैसे देखा जाये तो Compiler के मुख्य रूप से दो major parts होते हैं :

Analysis Phase

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

Synthesis Phase

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

Decompiler किसे कहते है

एक ऐसा compiler जो की machine language को high-level natural language में convert करता है उसे एक decompiler कहा जाता है.

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

Compilers जो की object code produce करते हैं जो की केवल system में run होने के लिए बना होता है उसे Cross- Compilers कहा जाता है.

Prgramming Language किसे कहते है

ऐसा Compiler जो की एक Programming language को दुसरे में convert करता है उसे Language translator कहा जाता है.

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

Compilers का सबसे ज्यादा इस्तमाल चार major steps को करने में उपयोग किया जाता है.

1. Scanning: ये scanner read करती है एक character एक समय में source code से और सभी characters का track रखता है जिससे ये पता चलता है की कौन सा character किस line में मेह्जुद है.

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

3. Syntactic Analysis: इस step में, syntax analysis किया जाता है, जिसमें preprocessing involve होता है जो की ये determine करता है की क्या tokens जो की create होता है lexical analysis के दौरान वो proper order में हैं या नहीं usage के हिसाब से. Set of keywords का correct order जो की एक desired result finally yield करता है उसे Syntax कहते हैं. इसमें compiler को ये check source code check करना होता है जिससे syntactic accuracy को ensure किया जा सके.

4. Semantic Analysis: इस step में बहुत से intermediate steps होते हैं. पहला, इसमें tokens का structure check किया जाता है, साथ में उनका order भी check किया जाता है की क्या वो given language के grammar के accordingly है या नहीं. Token Structure का meaning interpret किया जाता है parser और analyzer के द्वारा जिससे की finally एक intermediate code generate हो सके जिसे की Object code कहा जाता है. इन object code में instructions होते हैं जो की processor action को represent करते हैं किसी corresponding token के लिए जब उसे program में encounter किया जाता है. आखिर में, पूरा entire code को parsed और interpret किया जाता है ये check करने के लिए की क्या कोई optimizations possible है भी या नहीं. एक बार optimizations को perform किया जाये, तब appropriate modified tokens को insert किया जाता है object code में जिससे final object code generate किया जा सके, जिसे की एक file के भीतर save किया जाता है.

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

चलिए यहाँ में आप लोगों को Compiler को operate होने में इस्तमाल हो रहे अलग अलग phases के विषय में चलिए जानते हैं.

1.  Lexical Analysis
2.  Synatx Analysis
3.  Semantic Analysis
4.  Intermediate Code Generator
5.  Code optimizer
6.  Code generation

Conclusion

मुझे उम्मीद है की आपको मेरी यह लेख कम्पाइलर क्या है (What is Compiler in Hindi) जरुर पसंद आई होगी. मेरी हमेशा से यही कोशिश रहती है की readers को कम्पाइलर का क्या उपयोग है के विषय में पूरी जानकारी प्रदान की जाये जिससे उन्हें किसी दुसरे sites या internet में उस article के सन्दर्भ में खोजने की जरुरत ही नहीं है. इससे उनकी समय की बचत भी होगी और एक ही जगह में उन्हें सभी information भी मिल जायेंगे. यदि आपके मन में इस article को लेकर कोई भी doubts हैं या आप चाहते हैं की इसमें कुछ सुधार होनी चाहिए तब इसके लिए आप नीच comments लिख सकते हैं. यदि आपको यह post कम्पाइलर का क्या कार्य है हिंदी में पसंद आया या कुछ सीखने को मिला तब कृपया इस पोस्ट को Social Networks जैसे कि Facebook, Google+ और Twitter इत्यादि पर share कीजिये.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.