অ্যাসেমমালার এবং কম্পাইলারের মধ্যে পার্থক্য

Anonim

অ্যাসেমম্লার বনাম কম্পাইলার

সাধারণভাবে, কম্পাইলার একটি কম্পিউটার প্রোগ্রাম যা একটি ভাষাতে লেখা একটি প্রোগ্রাম পড়ে, যা উৎস ভাষা বলা হয় এবং এটি অন্য ভাষায় অনুবাদ করে, যা লক্ষ্যবস্তু ভাষা বলে। ঐতিহ্যগতভাবে, সোর্স ভাষার একটি উচ্চ স্তরের ভাষা যেমন C ++ এবং লক্ষ্য ভাষা ছিল নিম্ন স্তরের ভাষা, যেমন বিধানসভা ভাষা। যাইহোক, কম্পাইলার রয়েছে যেগুলি সোর্স প্রোগ্রামটিকে কনভার্টার ভাষাতে লেখা এবং এটি মেশিন কোড বা অবজেক্ট কোড রূপান্তর করতে পারে। অ্যাসেম্লারস এমন টুলস। সুতরাং, উভয় সংযোজক এবং কম্পাইলার শেষ পর্যন্ত একটি মেশিনে সরাসরি সঞ্চালিত করা যেতে পারে যে কোড উত্পাদন।

একটি কম্পাইলার কি?

কম্পাইলার একটি কম্পিউটার প্রোগ্রাম যা একটি ভাষাতে লিখিত প্রোগ্রামটি পড়ায়, যা উৎস ভাষা বলা হয় এবং এটি অন্য ভাষায় অনুবাদ করে, যা লক্ষ্য ভাষা বলে। প্রায়শই, উৎস ভাষা একটি উচ্চ স্তরের ভাষা এবং লক্ষ্য ভাষা একটি নিম্ন স্তরের ভাষা। সুতরাং, সাধারণ কম্পাইলারগুলিতে অনুবাদকদের হিসাবে দেখা যায় যা একটি ভাষা থেকে অন্য ভাষায় অনুবাদ করে। উপরন্তু, কম্পাইলার কোড কিছু অপ্টিমাইজেশান সঞ্চালন। একটি আদর্শ কম্পাইলার বেশ কিছু প্রধান উপাদান গঠিত হয়। প্রথম উপাদান স্ক্যানার (লেক্সীয় বিশ্লেষক হিসাবেও পরিচিত)। স্ক্যানার প্রোগ্রামটি পড়ে এবং এটি টোকেনের একটি স্ট্রিংকে রূপান্তরিত করে। দ্বিতীয় উপাদান হল পার্সার। এটি টোকেনগুলির স্ট্রিংকে একটি পসার গাছ (বা একটি বিট সিন্টেক্স গাছ) এর মধ্যে রূপান্তরিত করে, যা প্রোগ্রামের সিনট্যাক্টিক কাঠামো ধারণ করে। পরবর্তী উপাদানটি সিনট্যাক্টিক রুটিন যা সিনট্যাক্টিক কাঠামোর সেমিক্টস ব্যাখ্যা করে। কোড অপ্টিমাইজেশন এবং চূড়ান্ত কোড প্রজন্মের এই অনুসরণ করুন।

অ্যাসেম্বলার কী?

অ্যাসেমমলার একটি সফটওয়্যার বা একটি টুল যা অ্যাসেম্বলি ভাষাটি মেশিন কোডে অনুবাদ করে। সুতরাং, একটি সংযোজক একটি কম্পাইলার একটি ধরনের এবং সোর্স কোড বিধানসভা ভাষা লিখিত হয়। বিধানসভা একটি মানব পাঠযোগ্য ভাষা কিন্তু সংশ্লিষ্ট মেশিন কোডের সাথে সাধারণত একটি এক সম্পর্ক থাকে। অতএব একটি সংযোজককে অ্যামোমোফিক (এক এক ম্যাপিং) অনুবাদ করতে বলা হয়। উন্নত সংযোজক অতিরিক্ত বৈশিষ্ট্যগুলি সরবরাহ করে যা প্রোগ্রাম ডেভেলপমেন্ট এবং ডিবাগিং প্রসেসগুলির সমর্থন করে। উদাহরণস্বরূপ, ম্যাক্রো সংযোজকগুলির নামকরণকারী এককগুলি ম্যাক্রো সুবিধা প্রদান করে।

অ্যাসেম্বলার এবং কম্পাইলারের মধ্যে পার্থক্য কি?

কম্পাইলার একটি কম্পিউটার প্রোগ্রাম যা একটি ভাষায় লেখা একটি প্রোগ্রাম পড়ে এবং এটি অন্য ভাষায় অনুবাদ করে, যখন একটি এসম্বুলার একটি বিশেষ ধরনের কম্পাইলার হিসাবে বিবেচিত হতে পারে যা শুধুমাত্র কোড দ্বারা মেশিন কোডে অনুবাদ করে। কম্পাইলাররা সাধারণত একটি উচ্চ স্তরের ভাষা থেকে মেশিন এক্সিকিউটেবল কোডটি তৈরি করে, কিন্তু এসেম্বলর একটি বস্তু কোড উত্পাদন করে যা একটি মেশিনে চালানোর জন্য লিঙ্কার প্রোগ্রামগুলির মাধ্যমে লিঙ্কযুক্ত হতে পারে।যেহেতু বিধানসভা ভাষার একটি মেশিন কোডের সাথে এক ম্যাপিং আছে, একটি এসম্বুলারটি এমন কোড তৈরি করার জন্য ব্যবহার করা যেতে পারে যা এমন অনুষ্ঠানগুলির জন্য অত্যন্ত দক্ষতার সাথে চালিত হয় যার মধ্যে পারফরম্যান্সটি খুবই গুরুত্বপূর্ণ (যেমন গ্রাফিক্স ইঞ্জিন, ব্যক্তিগত কম্পিউটারের তুলনায় সীমিত হার্ডওয়্যারের সংস্থানযুক্ত এম্বেডেড সিস্টেমগুলি মাইক্রোওয়েভ, ওয়াশিং মেশিন ইত্যাদি)।