নিচের কোন বিবৃতিটি কম্পাইলার সম্পর্কিত সঠিক?
সঠিক উত্তর
গএটি একবারে পুরো প্রোগ্রাম অনুবাদ করে
ব্যাখ্যা
কম্পাইলার আর ইন্টারপ্রেটার দুটোই অনুবাদক প্রোগ্রাম: এরা মানুষের লেখা উচ্চস্তরের ভাষার সোর্স প্রোগ্রামকে কম্পিউটারের বোঝার মতো মেশিন কোডে রূপান্তর করে। পার্থক্য হলো অনুবাদের ধরনে।
কম্পাইলার পুরো প্রোগ্রাম একবারে পড়ে অনুবাদ করে একটি আলাদা মেশিন কোড ফাইল তৈরি করে। এরপর প্রোগ্রাম চালাতে আর অনুবাদ লাগে না, তাই কম্পাইল করা প্রোগ্রাম দ্রুত চলে। সব ভুল একসঙ্গে, অনুবাদ শেষে দেখায়।
ইন্টারপ্রেটার এক লাইন করে পড়ে, অনুবাদ করে, সঙ্গে সঙ্গে চালায়। প্রথম ভুল পেলেই থেমে যায়, আর প্রতিবার চালানোর সময় নতুন করে অনুবাদ করতে হয় বলে ধীর।
ফাঁদ হলো দ্বিতীয় অপশন, লাইন ধরে অনুবাদ; এটা ইন্টারপ্রেটারের বৈশিষ্ট্য। আর শেষ অপশনটি দিক উল্টে দিয়েছে; মেশিন কোড থেকে সোর্স কোড বানানোকে বলে ডিকম্পাইল করা।
এই প্রশ্নের উত্তর নিয়ে প্রকাশিত গাইডগুলোতে দ্বিমত আছে; এখানে সবচেয়ে প্রচলিত উত্তরটি দেওয়া হলো।
স্টেপ বাই স্টেপ শিখুন
৪/৪| বিষয় | কম্পাইলার | ইন্টারপ্রেটার |
|---|---|---|
| কাজ | সোর্স কোড → মেশিন কোড | সোর্স কোড → মেশিন কোড |
| অনুবাদের ধরন | একবারে পুরো প্রোগ্রাম | এক লাইন করে |
| গতি | দ্রুত | ধীর |
| ভুল দেখানো | সব একসঙ্গে, শেষে | প্রথম ভুলেই থামে |
- কম্পাইলার ও ইন্টারপ্রেটার দুটোই সোর্স কোডকে মেশিন কোডে রূপান্তর করে।
- কম্পাইলার পুরো প্রোগ্রাম একবারে অনুবাদ করে; ইন্টারপ্রেটার এক লাইন করে।
- তাই কম্পাইল করা প্রোগ্রাম দ্রুত চলে; ইন্টারপ্রেটার ধীর।
- কম্পাইলার সব ভুল শেষে একসঙ্গে দেখায়; ইন্টারপ্রেটার প্রথম ভুলেই থামে।
ক. এটি Interpreter-এর চেয়ে অনুবাদ করতে বেশি সময় লাগে: পাঠ্যবইয়ের নিয়মে কম্পাইলার একবার অনুবাদ করে, তাই মোট সময় কম; প্রতিবার চালানোর সময় নতুন করে অনুবাদ করায় ইন্টারপ্রেটারই ধীর।
খ. এটি প্রতি লাইন প্রোগ্রাম পড়ে এবং অনুবাদ করে: লাইন ধরে পড়া ও অনুবাদ ইন্টারপ্রেটারের বৈশিষ্ট্য; দুটো গুলিয়ে ফেলার ফাঁদ।
ঘ. এটি মেশিন প্রোগ্রামকে সোর্স প্রোগ্রামে রূপান্তর করে: দিক উল্টো: কম্পাইলার সোর্স থেকে মেশিন কোড বানায়; উল্টো কাজকে বলে ডিকম্পাইল।
‘পুরো একবারে’ = কম্পাইলার, ‘লাইন বাই লাইন’ = ইন্টারপ্রেটার।
কম্পাইলার পুরো বইয়ের অনুবাদক, ইন্টারপ্রেটার লাইনে লাইনে দোভাষী।