Programming Language क्या हैं? इस लेख में आपने प्रोग्रामिंग भाषाओं से सम्बंधित जानकारी विस्तार पूर्वक सिख लिया हैं. ऐसे में अब आपको प्रोग्रामिंग लैंग्वेज से जुड़े शब्द लैंग्वेज ट्रांसलेटर क्या है? What is Language Translator in hindi? ट्रांसलेटर कितने प्रकार के होते हैं? को भी अच्छे से सीखना होगा. इस लेख में आप Language Translator Kya Hai? से भली-भाती परिचित होने वाले हैं.
Machine भाषा में लिखा गया Code सीधे Computer द्वारा Execute हो सकता हैं. क्यों की Computer Language भी मशीनरी भाषा ही होती है. लेकिन इसके बाद develop होने वाली Programming Languages जैसे की Assembly, High level languages (C, Cobol, Fortran, Pascal), 4GL भाषाएँ (DBASE, ORACLE) इत्यादि. में मशीन भाषा में Code नहीं लिखा जाता हैं. दरअसल इन languages की अपनी grammer, symbol तथा अपने rule होते हैं.
इसी कारण इन languages में लिखे गए Code को Executed कराने के लिए एक ऐसे माध्यम की जरुरत पड़ी. जो इन Languages के Code को Computer द्वारा Executed हो सकने वाली Language में परिवर्तित कर दे. इसी माध्यम को Translator Program कहा जाता हैं.
चलिए लैंग्वेज ट्रांसलेटर क्या है? What is Language Translator in hindi? लैंग्वेज ट्रांसलेटर की परिभाषा क्या हैं? लैंग्वेज ट्रांसलेटर कितने प्रकार की होती है? कंप्यूटर में ट्रांसलेटर क्या होता है? को अच्छे से समझते हैं.
भाषा ट्रांसलेटर क्या है? What is Language Translator in hindi
Translator एक ऐसे program को कहा जाता है. जो एक Programming Languages में लिखे Code का Input लेकर, उसे process करता है और परिणाम (Result) स्वरूप Output में किसी अन्य Language में Input Code के सापेक्ष (Relative) कोड देता हैं.
आपकी जानकारी के लिए बता दे की ट्रॉसलेटर द्वारा Input लिया गया कोड Source Code कहलाता हैं तथा Output से प्राप्त हुए कोड को Object या Target Code कहते हैं. Source Code सामान्यतः HLL (High Level Language) या 4GL भाषा (Fourth Generation Language) में लिखा होता हैं और Object Code मशीन कोड से प्राप्त होता हैं.
Language Translator की परिभाषा
भाषा ट्रांसलेटर एक ऐसा software हैं. जो प्रोग्रामिंग भाषा में लिखे source program से input लेकर उसे किसी अन्य प्रोग्रामिंग भाषा में रूपांतरित कर output यानि object देता हैं.
सिंपल शब्दों में कहे तो Language Translator उन्हें कहा जाता है. जो किसी कंप्यूटर भाषा में लिखे गए program को machine भाषा में बदलने का कार्य करते हैं.
लैंग्वेज ट्रांसलेटर कितने प्रकार की होती है?
वैसे तो अनेकों Translator Program का इस्तेमाल किया जाता हैं. लेकिन उनमें से 3 ट्रॉसलेटर मुख्य हैं. जिनके बारे में आप निचे विस्तार पूर्वक सीखने वाले हैं.
- Assembler (असेम्बलर)
- Compiler (कम्पाइलर)
- Interpreter (इंटरप्रेटर)
चलिए एक-एक करके इन तीनों प्रकार के Translator Program के विषय में विस्तृत जानकारी प्राप्त कर लेते हैं.
Assembler (असेम्बलर)
Assembler एक ऐसा Translator Program हैं. जो Assembly language में लिखे गए code का Input लेकर मशीन कोड Output में देता है.
जिस Machine के लिए Code लिखा गया हैं. Assembler उसी मशीन पर ही run हो, यह कोई ज़रूरी नहीं हैं. असेम्बलर Self भी हो सकता है और Cross भी हो सकता हैं. आईए Self और Cross Assembler को समझते हैं.
Self Assembler:
Self Assembler ऐसे Assembler को कहा जाता हैं. जो सिर्फ उसी Machine पर Run होकर Object Code देता हैं. जिसके लिए Program लिखा गया होता हैं.
Cross Assembler:
एक कम सुविधा वाले computer पर यह कोई ज़रूरी नहीं है की उनमें वह सभी hardware तथा software की सुविधाएँ उपलब्ध हो. जिसकी ज़रूरत program develop करने के लिए होती हैं. इसी कारण program develop करने के लिए एक powerfull computer का इस्तेमाल किया जाता हैं.
Powerfull computer पर run हो रहा Assembler, जो किसी ऐसे programs को translate कर रहा हैं. जिन्हें किसी अन्य कंप्यूटर पर run होना हैं. उसे Cross Assembler कहा जाता हैं.
कार्य करने के आधार पर Assembler को दो निम्न भागो में बाटा जा सकता हैं.
- One-pass Assembler
- Two-pass Assembler
One-pass Assembler
यह Assembler पूरे Assembly program को एक ही बार में पढ़ता है और उसे machine code में परिवर्तित करता है. इसीलिए इसे One-Pass (वन-पास) अर्थात् एक बार में प्रोग्राम पास करने वाला Assembler कहते हैं.
Two-pass Assembler
इस प्रकार का Assembler प्रोग्राम को दो बार में machine code में परिवर्तित करते हैं. पहली बार में वह Assembly code को read करता है और उसमें लिखे गए सभी function को इकट्ठा करके उन्हें address प्रदान करता हैं. दूसरी बार में वह program के प्रत्येक निर्देश को machine code में परिवर्तित करता है तथा उन्हें address प्रदान करता है.
Compiler (कम्पाइलर)
कम्पाइलर एक प्रकार का Translator Program हैं. जो सामान्यतः HLL (High-Level Language) भाषाओं को क्रियान्वित हो सकने वाले Object Code में ट्रॉसलेट करता हैं.
Compiler program का input एक HLL भाषा में लिखा गया program code होता है. जो अनेक अक्षरों, शब्दों की श्रेणी के रूप में होता हैं.
आपकी जानकारी के लिए बता दे की Program का एक स्ट्रेक्चर होता है. जिसमें program, sub- program, statement, ऐक्सप्रेशन, वर्ड, ऑपरेटर इत्यादि एक वृक्ष की भाँति व्यवस्था में अलग-अलग स्तर पर होते हैं.
इस प्रकार देखा जाए तो Compiler का कार्य अत्यन्त कठिन होता हैं. क्यों की उसे उस अक्षरों की श्रेणी को ग्रहण कर, उनका स्ट्रेक्चर समझकर, उसी के अनुसार, इस प्रकार Object Code तैयार करना होता है की Program अपना अर्थ न खोए.
इसलिए कम्पाइलेशन प्रक्रिया को पूरा एक process मानने के बजाय अनेक sub-process की श्रेणी माना गया हैं. इन sub-process phases या पड़ाव कहा जाता हैं. Phase का अर्थ है वह स्थान या पॉइंट जिस पर कोई परिवर्तन हो.
Compilation process में अनेक फेज होते हैं. एक phase का input स्रोत program का एक प्रारूप या प्रस्तुतीकरण होता है तथा phase के output के रूप में हमें उस स्रोत program का दूसरा प्रस्तुतीकरण प्राप्त होता हैं. जिस प्रकार Two-pass Assembler होता हैं. ठीक उसी तरीके से कार्य करने वाले Compiler को Cross-Compiler भी कहा जाता हैं.
मान लीजिए आपको English भाषा में लिखें एक page को पढ़ना और समझना हैं. फिर उसे हुबहू Hindi में अनुवादित करना हैं. Page पर English में लिखा article अनेक alphabet की एक श्रेणी ही होता हैं. ऐसे में यदि आपको English भाषा के व्याकरण (grammar) का ज्ञान है तथा अग्रेजी शब्दों का अर्थ पता हैं. तो आप उसके सापेक्ष hindi भाषा का article लिख सकते हैं.
ठीक उसी प्रकार प्रत्येक High level languages (उच्च स्तरीय भाषा) में इस्तेमाल होने वाले शब्दों के अपने विशेष अर्थ होते है तथा program code लिखने के अपने grammar तथा rule होते हैं. जिन्हें Syntax Rule तथा सिमैन्टिक नियम कहते हैं. Compiler को इन सभी की जानकारी होती है और इन्हीं के आधार पर वह स्रोत program का अर्थ समझता है और उसे Object Code में रूपान्तरित करता हैं.
Compiler द्वारा स्रोत code को Object Code में बदलने की पूरी प्रक्रिया को सात स्टेप्स में बॉट सकते हैं. एक स्टेप पूरा होने पर वह output देता हैं, जो की उससे अगले स्टेप के लिए input होता हैं. लास्ट स्टेप में प्राप्त output, program का object code होता हैं. Compilation प्रक्रिया के स्टेप्स निम्नलिखित हैं.
- Lexical analysis
- Syntax analysis
- Intermediate code generation
- Code optimisation
- Code generation
- Table management
- Error handling
Compiler से जुडी अन्य जानकारियाँ
कम्पाइलर कोई एक program नहीं हैं. जो की प्रत्येक High level languages के code को machine code में परिवर्तित कर सकता हैं. यह मात्र उसी language को और उसी प्रकार के मशीन के लिए translate कर सकता हैं. जिसके लिए उसे बनाया गया हैं. कहने का मतलब है की प्रत्येक language का अपना अलग compiler होता हैं.
यहाँ तक की उस भाषा के latest version भी नए compiler के साथ आते हैं. एक पुराने version पर लिखा गया code new version के compiler द्वारा compile हो सकता हैं. लेकिन new version में लिखा गया program old version के compiler द्वारा compile नहीं हो सकता हैं.
आईए आपको एक उदाहरण के द्वारा समझाते है. जैसा की हम सभी जानते है की “C++” भाषा “C” भाषा का उन्नत रूप हैं. तो C++ भाषा का compiler एक C के program को compile कर सकता हैं. लेकिन C++ भाषा में लिखा गया प्रोग्राम C के compiler द्वारा compile नहीं हो सकता हैं. दरअसल ऐसा इसलिए होता है. क्यों की “C++” में कई ऐसे अतिरिक्त निर्देश एवं सुविधाएँ होती हैं. जो “C” में मौजूद नहीं होती हैं.
Interpreter (इंटरप्रेटर)
इंटरप्रेटर भी Compiler की ही तरह High Level Language (HLL) को Translate करता हैं. लेकिन इसके Translate करने का तरीका थोडा अलग होता हैं. Compiler HLL में लिखे code को डायरेक्ट machine code में परिवर्तित कर उसे run करता हैं. लेकिन Interpreter स्रोत code को पहले intermediate code में परिवर्तित करता है, फिर intermediate code को Execute करता हैं.
Interpreter से फायदा यह होता है की program को run करने से पहले program code को machine language में परिवर्तित (Compilation) करने की जरुरत नहीं पड़ती हैं. जिसके कारण program को run करने में लगने वाला time काफी बच जाता हैं.
इंटरप्रेटर High Level Language प्रोग्राम को तुरन्त Execute कर देता हैं. यह पूरे code को एक साथ translate कर run करने के बजाए एक-एक निर्देश को translate कर execute करता हैं. जैसा की compiler करता हैं.
Linker प्रोग्राम किसे कहते हैं?
लिंकर का मतलब होता हैं – “लिंक करने वाला” यानी “कड़ी बनाने वाला”. यह एक ऐसा प्रोग्राम हैं. जो एक बड़े program के अनेक अलग-अलग compile किए हुए sub-program तथा functions को आपस में link कर मुख्य program से जोड़ता हैं और पूरे प्रोग्राम का क्रियान्वित हो सकने वाला object code तैयार करता हैं.
Linker की वजह से compiler का समय बचता हैं और memory space भी बचती हैं. क्यों की program का आकार छोटा हो जाता हैं.
Loader किसे कहते हैं?
एक high level language या assembly में लिखे program को क्रियान्वित करने के लिए compiler, linker व loader एक क्रम से कार्य करते हैं.
Linker compile किए हुए program को एक साथ जोड़कर उसे क्रियान्वित होने योग्य बनाते हैं. उसके बाद loader उस क्रियान्वित हो सकने वाले program को main memory में लाता हैं. यह Compilation process का अंतिम चरण हैं. अब program run होने के लिए पूरी तरह से तैयार हैं.
उम्मीद करते है आपने अच्छे से सिख लिया है की लैंग्वेज ट्रांसलेटर क्या है? What is Language Translator in hindi? लैंग्वेज ट्रांसलेटर की परिभाषा क्या हैं? लैंग्वेज ट्रांसलेटर कितने प्रकार की होती है?
यदि आपको यह जानकारी कंप्यूटर में ट्रांसलेटर क्या होता है? (Language Translator in hindi) पसंद आई हो. तो आपसे एक अनुरोध है की आप इस लेख ‘Language Translator in hindi’ को अपने दोस्तों के साथ सोशल मीडिया साइट्स पर जरूर शेयर करें.
Leave a Reply