Interpreter क्या है? इसके प्रकार, कार्य, लाभ और नुकसान- Interpreter in Hindi

इंटरप्रेटर क्या है? कंप्यूटर को हमारे द्वारा दिए गए निर्देशों को समझाने के लिए एक इंटरप्रेटर उच्च-स्तरी भाषा को निम्न स्तरी भाषा में परिवर्तित कर देता है. आज हम जानने वाले है की इंटरप्रेटर क्या है? इसके प्रकार क्या है? फायदे और नुकसान क्या है?

इंटरप्रेटर क्या है?

इंटरप्रेटर एक कम्यूटर प्रोग्राम है, जो उच्च-स्तरी भाषा को मशीन कोड(निम्न स्तरी भाषा) में परिवर्तित करता है. इसमें source code, pre-compiled code, और scripts शामिल होते है. कम्पाइलर और इंटरप्रेटर एक ही काम करते है( उच्च-स्तरी भाषा को निम्न-स्तरी भाषा में परिवर्तित करना।).

एक कम्पाइलर प्रोग्राम के शुरू होने से पहले कोड को मशीन कोड में बदल देता है, जबकि एक इंटरप्रेटर प्रोग्राम शुरू होने के बाद कोड को मशीन कोड में परिवर्तित करता है. प्रोग्रामिंग भी प्रोग्राम को दो तरीको से एक्सेक्यूट किया जा सकता है पहला compilation और दूसरा इंटरप्रेटर।

इंटरप्रेटर की रणनीति ( इंटरप्रेटर कैसे काम करता है?)

एक इंटरप्रेटर तीन तरह से काम करता है:

  1. आप सोर्स कोड को सीधे एक्सेक्यूट करे है और आउटपुट प्राप्त करे.
  2. सोर्स कोड के मध्य कोड को ट्रांसलेट करे और फिर इस कोड को एक्सेक्यूट करे.
  3. precompiled code बनाने के लिए एक आंतरिक कम्पाइलर का इस्तेमाल करे, इसके बाद इस precompiled code को एक्सेक्यूट करे.

प्रोग्रामिंग में इंटरप्रेटर के प्रकार

1.बाइटकोड इंटरप्रेटर(Bytecode Interpreters)

  • जो भी सोर्स कोड होता है उसे सबसे पहले बाइटकोड में परिवर्तित किया जाता है.
  • बाइटकोड सोर्स कोड का एक compressed और अनुकूलित प्रतिरूप है, लेकिन यह मशीन कोड नहीं होता है.
  • बाइटकोड इंटरप्रेटर इस compressed कोड को एक्सेक्यूट कर देता है.
  • यहाँ कम्पाइलर और इंटरप्रेटर दोनों का इस्तेमाल किया जाता है इसलिए इसका इसका नाम “compreters” है.
  • इसमें प्रत्येक निर्देश एक बाइट से शुरू होता है, इसलिए इनके पास 256 निर्देश होते है.

2. थ्रेडेड कोड इंटरप्रेटर( Threaded Code Interpreters)

  • ये बाइट कोड इंटरप्रेटर की तरह ही होते है लेकिन ये पॉइंटर का इस्तेमाल करते है.
  • इसका प्रत्येक निर्देश पॉइंटर के रूप में कार्य करने वाला है एक शब्द है.यह पॉइंटर किसी निर्देश या कार्य के कम की ओर इशारा करता है.
  • इसमें निर्देश की संख्या पर कोई प्रतिबंध नाहि होता है. मेमोरी और एड्रेस स्पेस उपलब्ध है.

3.अब्स्ट्रक्ट सिंटेक्स ट्री इंटरप्रेटर ((Abstract Syntax Tree Interpreters)

  • यह सोर्स कोड को abstract syntax tree (AST) में परिवर्तित कर देता है.
  • फिर इस ट्री में अनुरूप प्रोग्राम को एक्सेक्यूट करता है.
  • प्रत्येक शब्द को बस एक बार पार्स कर सकते है.
  • चलते समय अच्छा विश्लेषण प्रदान करता है.

4.सेल्फ इंटरप्रेटर( Self Interpreters)

  • यह सभी इंटरप्रेटर से अलग होता है(एक विशेष प्रकार का इंटरप्रेटर)
  • ये ऐसे इंटरप्रेटर होते है जो प्रोग्रामिंग भाषा में लिखे गए होते है जो स्वयं को ट्रांसलेट करते है.
  • उदहारण: BASIC में लिखा गया BASIC इंटरप्रेटर हो सकता है.
  • यदि किसी भाषा के लिए कम्पाइलर नहीं होते है तो Self Interpreters बनाये जाते है.

Interpreter के लाभ

Cross-Platform: परिभाषित भाषा में हम सीधे सोर्स कोड को शेयर करते है जो बिना किसी सिस्टम असंगति समस्या के किसी भी सिस्टम पर चला सकते है.

Easier To Debug: इंटरप्रेटर में कोड को डिबगिंग करना बहुत ही आसानी है क्यूंकि इंटरप्रेटर कोड को लाइन से लाइन पढ़ता है और समय-समय गलतियों को बताता भी है. इसके अलावा कोड को पढने वाला ग्राहक जरुरत पड़ने पर कोड को डिबग और सुधार कर सकता है.

Less Memory and Step: इंटरप्रेटर नई फाइल्स नहीं बनाता है, जिसकी वजह से यह अधिक मेमोरी नहीं लेता है. हमें सोर्स कोड को एक्सेक्यूट करने अतिरिक्त स्टेप की आवश्यकता नहीं होती है. इसे fly पर एक्सेक्यूट किया जाता है.

Execution Control: इंटरप्रेटर को कोड लाइन by लाइन पढ़ता है, ताकि आप निष्पादन को रोक सके और किसी भी पर कोड को एडिट(सुधार) कर सके, जो की compiled भाषा में नहीं हो सकता है. यदि रुकने के बाद आप कोड को निष्पादन करना चाहेंगे तो वह शुरुआत से शुरू होगा।

Interpreter के नुकसान

Slower: इंटरप्रेटर अक्सर कम्पाइलर की तुलना में धीमा होता है क्यूंकि यह कोड को लाइन by लाइन पढ़ता, एनालिसिस करता है, और परिवर्तित करता है.

Dependencies file required: ग्राहक या किसी भी व्यक्ति को सोर्स कोड को एक्सक्यूट करने के लिए अपने सिस्टम एक इंटरप्रेटर इंस्टाल करना होता है.

Less Secure: compiled भाषा के विपरीत, एक इंटरप्रेटर निष्पादन योग्य फाइल नहीं बनाता है, इसलिए प्रोग्राम को शेयर करने के लिए हमें अपना सोर्स कोड शेयर करना पड़ता है जो सुरछित नहीं होता है. जो कम्पनी अपनी गोपनीयता बनाये रखना चाहती है उनके लिए ये अच्छा नहीं है.

Compiler और Interpreter का उपयोग क्यों किया जाता है?

कम्पाइलर और इंटरप्रेटर दोनों ही सोर्स कोड ट्रांसलेटर है. सोर्स कोड वह होता है जो आप अपने IDE में लिखते है. आप IDE में शुरू में जो कोड को लिखते है वह उच्च स्तरी भाषा होती है(जो इंसान समझ सकते है लेकिन कंप्यूटर नहीं समझ सकता है.) उसे लौ स्तरी भाषा में ट्रांसलेट किया जाता है. जो 0s और 1s होता है. यह कार्य दो सॉफ्टवेयर के द्वारा किया जाता है (i) कम्पाइलर (ii) इंटरप्रेटर।

Compiler और Interpreter के बीच अंतर

CompilerInterpreter
इसे फायदा यह है की प्रोग्राम कोड पहले से ही मशीन कोड में ट्रांसलेट होता है. इससे निष्पादन में कम समय लगता है.इसका फायदा यह है की इसे उपयोग करना बहुत ही आसान है.
इसका नुकसान यह है की आप सोर्स कोड पर जाए बिना प्रोग्राम को नहीं बदल सकते है.इसका नुकसान यह है की इसमें परिभाषित किये गए प्रोग्राम उन कंप्यूटर में चल सकते है जिनमे जिनमे अनुरूप इंटरप्रेटर होते है.
मशीन की भाषा को डिस्क पर मशीन कोड के रूप में संगृहीत कर सकते है.मशीन कोड को संगृहीत नहीं कर सकते है.
इसमें भाषा ट्रांसलेशन linking-loading model पर निर्भर होते है.यह Interpretation मेथड पर आधारित होते है.
यह इनपुट के रूप में पूरा प्रोग्राम लेता है.यह इनपुट के रूप में केवल कोड की एक लाइन लेता है.
यह आउटपुट के रूप में इंटरमीडिएट मशीन कोड उत्पन्न करता है.यह आउटपुट के रूप में कोई इंटरमीडिएट मशीन कोड उत्पन्न नहीं करता है.
compilation के बाद सभी गलतियों को एक ही साथ प्रदर्शित करता है.प्रत्येक लाइन की गलतियों को एक-एक करके प्रदर्शित करता है.
यह प्रोडक्शन एनवीरोमेंट के लिए सबसे अच्छा है.यह प्रोग्राम और डेवेलपमेंट के लिए सबसे अच्छा है.
यह डायनामिक टाइपिंग को सपोर्ट नहीं करता है.यह डायनामिक टाइपिंग को सपोर्ट करता है.
C, C++, C#, Scala, Java कम्पाइलर का उपयोग करते है.PHP, Perl, Ruby इंटरप्रेटर का उपयोग करते है.

इंटरप्रेटर के कार्य

  • इंटरप्रेटर चलते समय सोर्स कोड को लाइन बाय लाइन बदलता है.
  • इंटरप्रेटर उच्च स्तरी भाषा में लिखे गए प्रोग्राम को मशीन कोड में ट्रांसलेट करता है.
  • इंटरप्रेटर प्रोग्राम एक्सेक्यूटिंग के समय निरूपण और सुधार(बदलाव) करने की अनुमति प्रदान करता है.

मशीन कोड क्या होता है?

प्रत्येक कंप्यूटर की अपनी मशीन कोड(भाषा) होती है, इसके प्रोग्राम बाइनरी(0 और 1) पैटर्न से बने होते है. यह उन कार्यो की अगुवाई करता है जिसे कंप्यूटर द्वारा किया जाता है.

FAQ:

विभिन्न प्रोग्रामिंग भाषाओं के इंटरप्रेटर

जावा- हॉटस्पॉट, OpenJ9, JRockIt
पायथन- pypy, स्टैकलेस पायथन
Ruby – YARV, Cruby

इंटरप्रेटर क्या है?

एक इंटरप्रेटर सॉफ्टवेयर है जो एक प्रोग्राम को मशीन कोड में बदलकर उसे सीधे एक्सेक्यूट करता है.

कंपाइलर और इंटरप्रेटर में क्या अंतर है?

मुख्य अंतर यह है कि कम्पाइलर पूरे प्रोग्राम को एक साथ कम्पाइल करता है जबकि इंटरप्रेटर इसे line by line एक्सेक्यूट करता है।

इंटरप्रटेर के प्रकार

इंटरप्रेटर चार प्रकार के होते हैं:

  • bytecode interpreters
  • threaded code interpreters
  • Abstract Syntax Tree Interpreters
  • self interpreter

👉पाइथन क्या है? यह इतना लोकप्रिय क्यों है? इसके उपयोग और विशेषताएं 👈

👉RAM क्या है? इसके प्रकार,कार्य,उपयोग,फायदे और नुकसान 👈

👉प्लॉटर क्या है? इसके प्रकार,कार्य,उपयोग,फायदे और नुकसान|Plotter in Hindi|👈

👉Qi चार्जिंग क्या है? (कैसे काम करता है?)- What is a Qi Charger 👈

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top