ইন্টারপ্রেটারের মধ্যে চলা প্রোগ্রামে যদি কোনো ত্রুটি ঘটে, তখন ফলাফল কী হবে?
A
ত্রুটি লাইনে এক্সিকিউশন বন্ধ হবে
B
প্রোগ্রাম ঠিকভাবে চলবে
C
ইন্টারপ্রেটার ত্রুটি উপেক্ষা করবে
D
কোড স্বয়ংক্রিয়ভাবে মেশিন কোডে কম্পাইল হবে
উত্তরের বিবরণ
যখন কোনো প্রোগ্রাম ইন্টারপ্রেটারের মাধ্যমে চালানো হয়, তখন এটি কোডটি লাইন বাই লাইন পড়ে এবং সঙ্গে সঙ্গে এক্সিকিউট করে। প্রোগ্রামের মধ্যে কোনো ত্রুটি (Error) থাকলে, ইন্টারপ্রেটার সেই ত্রুটিটি সনাক্ত করে এবং সাধারণত ত্রুটিযুক্ত লাইনে এক্সিকিউশন বন্ধ করে দেয়। অর্থাৎ, ভুল লাইনের পরের কোডগুলো আর সম্পাদিত হয় না। ইন্টারপ্রেটার কম্পাইলারের মতো সম্পূর্ণ প্রোগ্রাম একবারে বিশ্লেষণ করে না, বরং তাৎক্ষণিকভাবে লাইন পড়ে অনুবাদ ও কার্যকর করে। তাই সঠিক উত্তর: ক) ত্রুটি লাইনে এক্সিকিউশন বন্ধ হবে।
• অনুবাদক প্রোগ্রাম (Translator Program): সোর্স প্রোগ্রামকে (উৎস প্রোগ্রাম) মেশিন ভাষায় রূপান্তর করার জন্য যে সফটওয়্যার ব্যবহৃত হয়, তাকে অনুবাদক প্রোগ্রাম বলা হয়। এর মাধ্যমে উচ্চতর প্রোগ্রামিং ভাষার নির্দেশাবলী কম্পিউটারের বোধগম্য বাইনারি কোডে রূপান্তরিত হয়।
• অনুবাদক প্রোগ্রামের তিনটি প্রধান ধরন হলো—
১. কম্পাইলার (Compiler):
-
এটি সম্পূর্ণ সোর্স কোড একবারে অনুবাদ করে মেশিন ভাষায় রূপান্তরিত করে।
-
প্রোগ্রাম একবার কম্পাইল হলে একটি এক্সিকিউটেবল ফাইল (.exe) তৈরি হয়।
-
ত্রুটি প্রোগ্রাম শেষে প্রদর্শন করে।
-
উদাহরণ: C, C++, Java (কম্পাইলার-ভিত্তিক ভাষা)।
২. ইন্টারপ্রেটার (Interpreter):
-
এটি প্রোগ্রামকে এক লাইন করে অনুবাদ ও এক্সিকিউট করে।
-
কোনো লাইনে ত্রুটি ঘটলে সাথে সাথে এক্সিকিউশন বন্ধ হয়।
-
এটি অবজেক্ট কোড তৈরি করে না; বরং সোর্স কোড থেকেই ফলাফল প্রদান করে।
-
উদাহরণ: Python, JavaScript, Ruby, PHP।
-
ত্রুটি নির্ণয়ে সহজ, তবে প্রোগ্রাম রান টাইম তুলনামূলকভাবে ধীর।
৩. অ্যাসেম্বলার (Assembler):
-
এটি অ্যাসেম্বলি ভাষায় লেখা কোডকে মেশিন ভাষায় রূপান্তর করে।
-
অ্যাসেম্বলি ভাষার নেমোনিক কোড (Mnemonic Codes) কে বাইনারি নির্দেশে রূপান্তরিত করে।
-
এটি হার্ডওয়্যার লেভেলের প্রোগ্রামিংয়ের জন্য ব্যবহৃত হয়।
• মূল পার্থক্য:
-
কম্পাইলার প্রোগ্রাম সম্পূর্ণ বিশ্লেষণ করে শেষে ত্রুটি জানায়, আর ইন্টারপ্রেটার ত্রুটি পেলে সঙ্গে সঙ্গে থেমে যায়।
-
ইন্টারপ্রেটার শেখার উপযোগী, কারণ এটি ত্রুটি শনাক্ত করে তাৎক্ষণিক প্রতিক্রিয়া দেয়।
-
ইন্টারপ্রেটেড ভাষা সাধারণত ইন্টারেক্টিভ প্রোগ্রামিং ও স্ক্রিপ্টিং-এ বেশি ব্যবহৃত হয়।

0
Updated: 1 day ago
প্রোগ্রামের প্রতিটি স্টেটমেন্ট একে একে মেশিন কোডে রূপান্তর করে কোন অনুবাদক প্রোগ্রাম?
Created: 3 weeks ago
A
কম্পাইলার
B
ইন্টারপ্রেটার
C
অ্যাসেম্বলার
D
ডিবাগিং
ইন্টারপ্রেটার (Interpreter) হলো একটি প্রোগ্রাম যা প্রোগ্রামের প্রতিটি স্টেটমেন্ট একে একে মেশিন কোডে রূপান্তর করে এবং এক্সিকিউট করে।
ইন্টারপ্রেটারের বৈশিষ্ট্য:
-
পুরো প্রোগ্রাম একবারে পরীক্ষা না করে প্রতিটি স্টেটমেন্ট আলাদাভাবে মেশিন কোডে রূপান্তর ও কার্যকর করে।
-
প্রতিটি স্টেটমেন্ট সম্পন্ন হলে পরবর্তী স্টেটমেন্ট কার্যকর হয়।
-
ডিবাগিং সহজ: কারণ কোনো স্টেটমেন্টে সমস্যা হলে তা তৎক্ষণাৎ দেখা যায়।
-
গতিসীমা: প্রতিটি স্টেটমেন্ট আলাদাভাবে রূপান্তরিত হওয়ায় সময় তুলনামূলকভাবে বেশি লাগে।
অন্যান্য অনুবাদক প্রোগ্রাম:
-
কম্পাইলার (Compiler): পুরো প্রোগ্রাম পরীক্ষা করে Syntax ঠিক থাকলে একবারে মেশিন কোডে রূপান্তর করে। প্রোগ্রাম দ্রুত চলে, কিন্তু ভুলগুলো একসাথে দেখানো হয়।
-
অ্যাসেম্বলার (Assembler): অ্যাসেম্বলি ভাষায় লেখা প্রোগ্রামকে মেশিন কোডে অনুবাদ করে।
প্রোগ্রাম ডিবাগিং:
-
প্রোগ্রামে থাকা ভুলকে বাগ (Bug) বলা হয়।
-
ভুল খুঁজে বের করা ও সংশোধন করাকে ডিবাগিং (Debugging) বলা হয়।
-
সাধারণত তিন ধরনের ভুল হতে পারে: ডেটা ভুল, যুক্তিগত ভুল, এবং সিনট্যাক্স ভুল।

0
Updated: 3 weeks ago