असेंबलर आणि कंपाइलर दरम्यान फरक

Anonim

असेंबलर वि कंपाइलर

सामान्यतः कंपाइलर एक संगणक प्रोग्राम आहे जो एका भाषेत लिहीलेला प्रोग्राम वाचतो, जे स्त्रोत भाषा म्हणतात, आणि ती दुसर्या भाषेत भाषांतरित करते, ज्यास लक्ष्य भाषा म्हटले जाते परंपरेने, स्त्रोत भाषा ही उच्च पातळीची भाषा होती जसे की C ++ आणि लक्ष्य भाषा ही लेव्हल लँग्वेज होती जसे की विधानसभा भाषा तथापि, असे कंपाइलर्स आहेत जे विधानसभा भाषेमध्ये लिहीलेले स्रोत प्रोग्राम रूपांतरित करते आणि त्यास मशीन कोड किंवा ऑब्जेक्ट कोडमध्ये रुपांतरीत करतात. असेंबलर्स अशा साधने आहेत त्यामुळे दोन्ही assemblers आणि compilers अंततः मशीन उत्पादन थेट चालविल्या जाऊ शकते कोड प्रदान.

कंपाइलर म्हणजे काय?

कंपाइलर एक संगणक प्रोग्राम आहे जो एका भाषेत लिहीलेला प्रोग्राम वाचतो, ज्यास स्त्रोत भाषा असे म्हणतात, आणि ती दुसर्या भाषेत भाषांतरित करते, जी लक्ष्य भाषा म्हटली जाते. बर्याचदा, स्त्रोत भाषा ही एक उच्च स्तरीय भाषा आहे आणि लक्ष्य भाषा ही निम्न पातळीची भाषा आहे म्हणून, सर्वसाधारण संकलकांमध्ये भाषांतरकार म्हणून पाहिले जाऊ शकते जे एका भाषेतून दुसर्या भाषेत अनुवादित करतात. याव्यतिरिक्त, कम्पाइलर कोडमध्ये काही ऑप्टिमायझेशन करतात. एक नमुनेदार कंपाइलर अनेक मुख्य घटकांपासून बनलेला आहे. पहिला घटक स्कॅनर आहे (लेक्सिकल अॅनालिस्ट म्हणूनही ओळखला जातो) स्कॅनर प्रोग्राम वाचतो आणि टोकन्सच्या स्ट्रिंगमध्ये रुपांतरीत करतो. दुसरा घटक विश्लेषक आहे. हे टोकनच्या अक्षरांना पर्स ट्री (किंवा एक अॅबर्ट सिंटॅक्स ट्री) मध्ये रुपांतरीत करते, जे कार्यक्रमाचे वाक्यरचना संरचित करते. पुढील घटक शब्दार्थासंबंधीचे नियतकालिके आहेत जे वाक्यरचना संरचनाचे अर्थशास्त्र समजावते. कोड ऑप्टिमायझेशन आणि अंतिम कोड तयार करणे हे अनुसरण करतात.

असेंबलर म्हणजे काय?

असेंबलर एक सॉफ्टवेअर किंवा साधन आहे जे विधानसभा भाषा मशीन कोडमध्ये अनुवादित करते. म्हणून, एक संपालक एक कंपाइलर प्रकार आहे आणि स्रोत कोड विधानसभा भाषा मध्ये लिहिले आहे. विधानसभा मानवी वाचनीय भाषा आहे परंतु सामान्यतः संबंधित मशीन कोडशी एक संबंध असणे आवश्यक आहे. म्हणून एक जमाव समस्थानिक (एक ते मॅपिंग) अनुवाद करण्यासाठी म्हटले जाते. प्रगत एसमलर्स प्रोग्रॅम डेव्हलपमेंट आणि डीबगिंग प्रोसेसला आधार देणारी अतिरिक्त वैशिष्ट्ये प्रदान करतात. उदाहरणार्थ, मॅक्रो एसमलर्सर्स नावाचे समेक्शनल प्रकार एक मॅक्रो सुविधा देतात.

असेंबलर आणि कंपाइलर यांच्यात काय फरक आहे?

कंपायलर एक संगणक प्रोग्राम आहे जो एका भाषेत लिहीलेला प्रोग्राम वाचतो आणि दुसर्या भाषेत त्याचे भाषांतर करतो, तर एक एन्डरलर एक विशेष प्रकारचा कंपाइलर मानला जाऊ शकतो जो फक्त विधानसभा भाषाच मशीन कोडमध्ये अनुवादित करतो. कंपाइलर्स सामान्यतः उच्च पातळीवरील भाषा पासून मशीन एक्झिक्युटेबल कोड तयार करतात, परंतु एसमलर्स एक ऑब्जेक्ट कोड तयार करतात जे मशीनवर चालविण्यासाठी लिंकर प्रोग्राम्सचा वापर करून जोडणे आवश्यक आहे.कारण विधानसभा भाषेमध्ये मशीन कोडसह एक मॅपिंग असणे आवश्यक आहे, एक कोडर तयार करणारा कोड वापरला जाऊ शकतो जो प्रसंगी अतिशय कार्यक्षमतेने कार्य करतो ज्यात कार्यप्रदर्शन खूप महत्वाचे आहे (उदा. ग्राफिक्स इंजिन, वैयक्तिक संगणकाच्या तुलनेत मर्यादित हार्डवेअर संसाधनांसह एम्बेडेड सिस्टम्स मायक्रोवेव्हसारखे, वाशिंग मशीन इ.)