ব্যাখ্যা
সঠিক উত্তর: (গ) Compiler
**কম্পিউটার প্রোগ্রামিং ভাষা ও অনুবাদক সম্পর্কে ভূমিকা:**
কম্পিউটার প্রোগ্রামিং ভাষায় লেখা প্রোগ্রামকে কম্পিউটারের বোধগম্য মেশিন ভাষায় রূপান্তর করার জন্য বিভিন্ন অনুবাদক (Translator) ব্যবহৃত হয়। এই অনুবাদকগুলো প্রধানত দুই ধরনের: **Interpreter** এবং **Compiler**। এছাড়া **Emulator** এবং **Simulator** হলো ভিন্ন ধরনের সফটওয়্যার টুল যা অন্যান্য উদ্দেশ্যে ব্যবহৃত হয়।
**Compiler সম্পর্কে বিস্তারিত তথ্য:**
— **Compiler** হলো এমন একটি অনুবাদক প্রোগ্রাম যা একটি সম্পূর্ণ সোর্স কোডকে একবারে মেশিন ভাষায় অনুবাদ করে।
— এটি পুরো প্রোগ্রামটি স্ক্যান করে সিনট্যাক্স চেক করে এবং প্রয়োজনীয় অপটিমাইজেশন করে তারপর একটি এক্সিকিউটেবল ফাইল তৈরি করে।
— কম্পাইল করা প্রোগ্রাম দ্রুত এক্সিকিউট হয় কারণ এটি ইতিমধ্যে মেশিন ভাষায় রূপান্তরিত হয়েছে।
— উদাহরণ: C, C++, Fortran প্রভৃতি ভাষার কম্পাইলার।
— কম্পাইলারের কাজের ধাপগুলো হলো: **Lexical Analysis → Syntax Analysis → Semantic Analysis → Intermediate Code Generation → Code Optimization → Code Generation**।
**Interpreter সম্পর্কে বিস্তারিত তথ্য:**
— **Interpreter** হলো এমন একটি অনুবাদক যা প্রোগ্রামের প্রতিটি লাইনকে একবারে অনুবাদ করে এবং সাথে সাথে এক্সিকিউট করে।
— এটি সম্পূর্ণ প্রোগ্রামকে একবারে অনুবাদ করে না বরং ধাপে ধাপে কাজ করে।
— ইন্টারপ্রেটারের মাধ্যমে লেখা প্রোগ্রাম ধীর গতিতে চলে কারণ প্রতিবার এক্সিকিউশনের জন্য পুনরায় অনুবাদ করতে হয়।
— উদাহরণ: Python, JavaScript প্রভৃতি ভাষার ইন্টারপ্রেটার।
**Emulator সম্পর্কে বিস্তারিত তথ্য:**
— **Emulator** হলো এমন একটি সফটওয়্যার যা একটি কম্পিউটার সিস্টেমকে অন্য একটি সিস্টেমের মতো অনুকরণ করে।
— এটি মূলত হার্ডওয়্যার বা সফটওয়্যারকে অন্য প্ল্যাটফর্মে চালানোর জন্য ব্যবহৃত হয়।
— উদাহরণ: Android এমুলেটর যা উইন্ডোজে চালানো যায়।
**Simulator সম্পর্কে বিস্তারিত তথ্য:**
— **Simulator** হলো এমন একটি সফটওয়্যার যা একটি সিস্টেমের আচরণ অনুকরণ করে কিন্তু তা সম্পূর্ণরূপে অনুবাদ করে না।
— এটি সাধারণত প্রশিক্ষণ বা পরীক্ষার উদ্দেশ্যে ব্যবহৃত হয়।
— উদাহরণ: ফ্লাইট সিমুলেটর, গাড়ি চালনা সিমুলেটর।
---
**বিভ্রান্তিকর বিকল্প বিশ্লেষণ:**
✗ **ক) Interpreter**: এটি প্রোগ্রামকে একবারে অনুবাদ করে না, বরং ধাপে ধাপে অনুবাদ ও এক্সিকিউট করে।
✗ **খ) Emulator**: এটি হার্ডওয়্যার বা সিস্টেমকে অনুকরণ করে, প্রোগ্রামকে অনুবাদ করে না।
✗ **ঘ) Simulator**: এটি সিস্টেমের আচরণ অনুকরণ করে, প্রোগ্রামকে অনুবাদ করে না।
---
**উৎস:**
1. *Computer Science: A Structured Programming Approach Using C* – Behrouz A. Forouzan, Richard F. Gilberg
2. *Compilers: Principles, Techniques, and Tools* – Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
3. BCS Preliminary Examination Previous Year Question Bank (2010-2023)