असेंबलर और कंपाइलर के बीच अंतर

असेंबलर और कंपाइलर के बीच अंतर
असेंबलर और कंपाइलर के बीच अंतर

वीडियो: असेंबलर और कंपाइलर के बीच अंतर

वीडियो: असेंबलर और कंपाइलर के बीच अंतर
वीडियो: a e i o u के उच्चारण नियम ||सहीं अंग्रेजी पढ़ना कैसे सीखे?english padhna kaise sikhe?learn english? 2024, जुलाई
Anonim

असेंबलर बनाम कंपाइलर

सामान्य तौर पर, कंपाइलर एक कंप्यूटर प्रोग्राम है जो एक भाषा में लिखे गए प्रोग्राम को पढ़ता है, जिसे स्रोत भाषा कहा जाता है, और इसे दूसरी भाषा में अनुवाद करता है, जिसे लक्ष्य भाषा कहा जाता है। परंपरागत रूप से, स्रोत भाषा सी ++ जैसी उच्च स्तरीय भाषा थी और लक्ष्य भाषा निम्न स्तर की भाषा थी जैसे असेंबली भाषा। हालांकि, ऐसे कंपाइलर हैं जो असेंबली भाषा में लिखे गए सोर्स प्रोग्राम को बदल सकते हैं और इसे मशीन कोड या ऑब्जेक्ट कोड में बदल सकते हैं। असेंबलर ऐसे उपकरण हैं। इसलिए, असेंबलर और कंपाइलर दोनों अंततः कोड उत्पन्न करते हैं जिसे सीधे मशीन पर निष्पादित किया जा सकता है।

कंपाइलर क्या है?

कंपाइलर एक कंप्यूटर प्रोग्राम है जो एक भाषा में लिखे गए प्रोग्राम को पढ़ता है, जिसे स्रोत भाषा कहा जाता है, और इसे दूसरी भाषा में अनुवाद करता है, जिसे लक्ष्य भाषा कहा जाता है। अक्सर, स्रोत भाषा एक उच्च स्तरीय भाषा होती है और लक्ष्य भाषा निम्न स्तर की भाषा होती है। तो, सामान्य तौर पर कंपाइलर्स को अनुवादक के रूप में देखा जा सकता है जो एक भाषा से दूसरी भाषा में अनुवाद करते हैं। इसके अलावा, कंपाइलर कोड के लिए कुछ अनुकूलन करते हैं। एक विशिष्ट कंपाइलर कई मुख्य घटकों से बना होता है। पहला घटक स्कैनर है (जिसे लेक्सिकल एनालाइज़र भी कहा जाता है)। स्कैनर प्रोग्राम को पढ़ता है और इसे टोकन की एक स्ट्रिंग में परिवर्तित करता है। दूसरा घटक पार्सर है। यह टोकन की स्ट्रिंग को एक पार्स ट्री (या एक सार सिंटैक्स ट्री) में परिवर्तित करता है, जो प्रोग्राम की वाक्यात्मक संरचना को कैप्चर करता है। अगला घटक सिमेंटिक रूटीन है जो वाक्यात्मक संरचना के शब्दार्थ की व्याख्या करता है। कोड अनुकूलन और अंतिम कोड पीढ़ी इसका अनुसरण करती है।

असेंबलर क्या है?

असेंबलर एक सॉफ्टवेयर या एक उपकरण है जो असेंबली भाषा को मशीन कोड में अनुवाद करता है। तो, एक असेंबलर एक प्रकार का कंपाइलर होता है और सोर्स कोड असेंबली भाषा में लिखा जाता है। असेंबली एक मानव पठनीय भाषा है, लेकिन इसका आमतौर पर संबंधित मशीन कोड के साथ एक से एक संबंध होता है। इसलिए एक असेंबलर को आइसोमॉर्फिक (एक से एक मैपिंग) अनुवाद करने के लिए कहा जाता है। उन्नत असेंबलर अतिरिक्त सुविधाएँ प्रदान करते हैं जो प्रोग्राम विकास और डिबगिंग प्रक्रियाओं का समर्थन करते हैं। उदाहरण के लिए, मैक्रो असेंबलर कहे जाने वाले असेंबलरों के प्रकार एक मैक्रो सुविधा प्रदान करते हैं।

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

कंपाइलर एक कंप्यूटर प्रोग्राम है जो एक भाषा में लिखे गए प्रोग्राम को पढ़ता है और दूसरी भाषा में अनुवाद करता है, जबकि एक असेंबलर को एक विशेष प्रकार का कंपाइलर माना जा सकता है जो केवल असेंबली भाषा का मशीन कोड में अनुवाद करता है। कंपाइलर आमतौर पर मशीन के निष्पादन योग्य कोड को सीधे उच्च स्तरीय भाषा से उत्पन्न करते हैं, लेकिन असेंबलर एक ऑब्जेक्ट कोड उत्पन्न करते हैं जिसे मशीन पर चलाने के लिए लिंकर प्रोग्राम का उपयोग करके लिंक करना पड़ सकता है।चूंकि असेंबली भाषा में मशीन कोड के साथ एक से एक मैपिंग होती है, इसलिए कोड बनाने के लिए एक असेंबलर का उपयोग किया जा सकता है जो उन अवसरों के लिए बहुत कुशलता से चलता है जिनमें प्रदर्शन बहुत महत्वपूर्ण होता है (उदाहरण के लिए ग्राफिक्स इंजन, व्यक्तिगत कंप्यूटर की तुलना में सीमित हार्डवेयर संसाधनों के साथ एम्बेडेड सिस्टम) जैसे माइक्रोवेव, वाशिंग मशीन आदि)।

सिफारिश की: