Compilers , Compilation introduction in hindi , compilation techniques

कम्पाइलर का परिचय :-


  1. कंपाइलेशन क्या है ?


कंपाइलेशन:
परिभाषा :- कंपाइलेशन एक प्रोसेस है जो किसी लैंग्वेज(सोर्स भाषा) में लिखे गए प्रोग्राम को उसके equivalent दूसरे प्रोग्राम ( ऑब्जेक्ट या टारगेट लैंग्वेज) में ट्रांसलेट करता है ।

किसी भी कंपाइलर का मुख्य पार्ट एरर्स का detection और reporting होता है । इसके बारे में बाद में हम और भी चर्चा करेंगे । आमतौर पर सोर्स लैंग्वेज हाई लेवल के प्रोग्रामिंग लैंग्वेज( प्रॉब्लम- ओरिएंटेड लैंग्वेज) होते हैं और टारगेट लैंग्वेज य तो मशीन लैंग्वेज होती है या तो असेंबली लैंग्वेज ( मशीन ओरिएंटेड लैंग्वेज) होती है | इस प्रकार से किसी सॉफ्टवेयर के production में कंपाइलेशन एक फंडामेंटल concept होता है|

यह एप्लीकेशन डेवलपमेंट कि (abstract) दुनिया और मशीनों पर application execution कि निम्न स्तरीय दुनिया के बीच का लिंक होती है ।


  1. ट्रांसलेटर कितने प्रकार के होते है?


ट्रांसलेटर्स के प्रकार : क्या आप जानते हैं कि असेंबलर भी ट्रांसलेटर का एक प्रकार है ।
इंटरप्रेटर, कंपाइलर से क्लोजली रिलेटेड होता है, लेकिन दोनों सोर्स प्रोग्राम और इनपुट डाटा लेते है ।
दोनों के सोर्स प्रोग्राम के ट्रांसलेशन और execution के फ़ेजेस एक तथा समान होते है ।

हालांकि उपरोक्त प्रकार के ट्रांसलेटर सबसे प्रसिद्ध है , हमें कई अन्य प्रकार की लैंग्वेज के recognition और ट्रांसलेशन के साथ डील करने के लिए कंपाइलेशन टेक्निक का भी नालेज आवश्यक है , जो की है :-

कंपाइलेशन टेक्निक कौन कौन सी हो सकती है?

कंपाइलेशन टेक्निक:-



  1. कमांड लाइन इंटरफेस लैंग्वेज
  2. टाइप्सेटिंग या वर्ल्ड प्रोसेसिंग लैंग्वेज
  3. नेचुरल लैंग्वेज
  4. हार्डवेयर डिस्क्रिप्शन लैंग्वेज
  5. पेज डिस्क्रिप्शन लैंग्वेजस जैसे कि पोस्टस्क्रिप्ट
  6. सेट-अप या पैरामीटर फाइल


कंपाइलर्स का प्रारंभिक डेवलपमेंट कैसे हुआ ?

कंपाइलर्स का प्रारंभिक डेवलपमेंट:-
इसके लिए आपको जाना होगा 1940 के दशक मैं , प्रारंभिक stored - प्रोग्राम कंप्यूटर मशीन लैंग्वेज में प्रोग्राम किया गया था । इसके बाद असेंबली लैंग्वेज को डिवेलप किया गया था|, जहां मशीन इंस्ट्रक्शन्स तथा मेमोरी लोकेशन सिंबॉलिक फर्म्स मे दिये गये थे ।
1950's . प्रारंभिक हाई लेवल लैंग्वेज डेवलप किए गए थे। जैसे FORTRAN . हालांकि असेंबली लैंग्वेज की तुलना में ज्यादा प्रॉब्लम ओरिएंटेड ,FORTRAN का प्रथम वर्जन में अभी भी कई मशीन -निर्भर विशेषताएं थी। कंपाइलेशन मैं शामिल टेक्निक्स और प्रोसेस को इस समय अच्छी तरह से समझा नहीं गया तथा कंपाइलर राइटिंग एक बहुत बड़ा काम था ।
आपको जानकर आश्चर्य होगा कि पहले फोर्ट्रन कंपाइलर को लिखने में 18 साल तक प्रयास मे निकल गए थे ।
नेचुरल लैंग्वेजेस के स्ट्रक्चर का अध्ययन Chomsky ने अपने ग्रामर की कंपलेक्सिटी के अनुसार भाषाओं के वर्गीकरण के लिए किया।
प्रोग्रामिंग लैंग्वेजेस के syntax का वर्णन करने के लिए context-free भाषाएं उपयोगी साबित हुई|
यह दौर 1960 के बाद का था , 1960 और 70 के दौरान context-free भाषाओं के लिए पार्सिंग की समस्या के अध्ययन ने context-free भाषाओं कि recognition के लिए एफिशिएंट एल्गोरिदम का led किया |
यह एल्गोरिदम और संबंधित सॉफ्टवेयर उपकरण, आज कंपाइलर बनाने के लिए central हैं। इसी प्रकार finite state machines और regular expressions  का सिद्धांत प्रोग्रामिंग भाषाओं की lexical स्ट्रक्चर का वर्णन करने के लिए उपयोगी साबित हुआ है|

Algol 60 से उच्च स्तरीय भाषाएं अधिक प्रॉब्लम ओरिएंटेड और मशीन इंडिपेंडेंट हो गई है | जिसमें मशीन भाषाओं से बहुत अधिक फीचर्स हटा दी गई है, जिसमें वे कंपाइल्ड हैं। आज उपलब्ध सिद्धांत और टूल्स कंपाइलर कंस्ट्रक्शन को एक मैंनेजेबल टास्क बनाते हैं , यहां तक कि कांप्लेक्स लैंग्वेज इसके लिए भी।

टिप्पणी पोस्ट करें

0 टिप्पणियां