Translator Program

Translator Program

যে প্রোগ্রামের সাহায্যে উৎস (Source) প্রোগ্রামকে বস্তু (Object) প্রোগ্রামে পরিণত করা হয় তাকে অনুবাদক প্রোগ্রাম বলে।

উল্লেখ্য, মেশিন ভাষায় লেখা প্রোগ্রামকে বলা হয় বস্তু প্রোগ্রাম (Object Program) এবং অন্য যেকোনো ভাষায় লেখা প্রোগ্রামকে বলা হয় উৎস প্রোগ্রাম (Source Program)।

অনুবাদক প্রোগ্রাম ৩ প্রকার। যথা-

  1. অ্যাসেম্বলার
  2. কম্পাইলার
  3. ইন্টারপ্রেটার

অ্যাসেম্বলার

অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় অনুবাদ করার জন্য অ্যাসেম্বলার ব্যবহার করা হয়। এটি অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে যান্ত্রিক ভাষায় রূপান্তর করে। অর্থাৎ নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করে। প্রোগ্রামে কোনো ভুল থাকলে Error Message দেয়।

প্রধান কাজ সমূহ:

  1. নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করা।
  2. সাংকেতিক ঠিকানাকে মেশিন ভাষায় লেখার ঠিকানায় রূপান্তর করা।
  3. প্রোগ্রামে কোনো ভুল থাকলে Error Message দেওয়া।
  4. সব নির্দেশ ও ঠিকানা প্রধান মেমোরিতে রাখা।

কম্পাইলার

কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা হাইলেভেল ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। অর্থাৎ সোর্স প্রোগ্রামকে অবজেক্ট প্রোগ্রামে রূপান্তর করে।

কম্পাইলার দুই ধাপে অনুবাদকের কাজ সম্পন্ন করে –

প্রথম ধাপে কম্পাইলার উৎস প্রোগ্রামের প্রত্যেকটি লাইন পড়ে এবং অবজেক্ট প্রোগ্রামে রূপান্তর করে। এই ধাপে, সোর্স প্রোগ্রামে যদি কোন ভুল থাকে, তবে তা সংশোধন করার জন্য কম্পাইলার ব্যবহারকারীকে Error Message দেয়। এই Error Message কে কম্পাইলড টাইম ডায়াগনোস্টিক Error Message বলে। একবার প্রোগ্রাম কম্পাইল হয়ে গেলে পরবর্তীতে আর কম্পাইল করার প্রয়োজন হয় না।

দ্বিতীয় ধাপে উপাত্ত বা ডেটার ভিত্তিতে অবজেক্ট প্রোগ্রামকে নির্বাহ করানো হয় ফলাফল প্রদর্শনের জন্য।

কম্পাইলারের কাজঃ

  1. উৎস বা সোর্স প্রোগ্রামের স্টেটমেন্ট সমূহকে মেশিন ভাষায় রূপান্তর।
  2. প্রধান মেমোরির পরিসর চিহ্নিতকরণ।
  3. প্রোগ্রাম ভুল থাকলে অনুবাদের সময় ভুলের তালিকা প্রণয়ন।

কম্পাইলারের সুবিধাঃ

  1. কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একসাথে অনুবাদ করে। ফলে প্রোগ্রাম নির্বাহ দ্রুত হয়।
  2. কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন ভাষায় রূপান্তরিত হয়।
  3. একবার প্রোগ্রাম কম্পাইল করা হলে পরবর্তিতে আর কম্পাইলের প্রয়োজন হয় না।
  4. প্রোগ্রামে কোন ভুল থাকলে তা মনিটরে একসাথে প্রদর্শন করে।

কম্পাইলারের অসুবিধাঃ

  1. কম্পাইলার প্রোগ্রামের সবগুলো ভুল একসাথে প্রদর্শন করে ফলে প্রোগ্রাম সংশোধনে বেশি সময় লাগে।
  2. কম্পাইলার বড় ধরনের প্রোগ্রাম হওয়ায় ইহা সংরক্ষণে মেমরিতে বেশি জায়গা প্রয়োজন।
  3. প্রোগ্রাম ডিবাগিং ও টেস্টিং এর কাজ ধীরগতি সম্পন্ন।

ইন্টারপ্রেটার

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

ইন্টারপ্রেটারের সুবিধাঃ

  1. এটি ব্যবহারে প্রোগ্রামের ভুল সংশোধন করা এবং পরিবর্তন করা সহজ হয়।
  2. Interpreter Program আকারে ছোট হয় এবং মেমরিতে কম জায়গা দখল করে।
  3. এটি সাধারণত ছোট কম্পিউটারে ব্যবহার করা হয়।

ইন্টারপ্রেটারের অসুবিধাঃ

  1. ইন্টারপ্রেটার যেহেতু প্রোগ্রাম লাইন-বাই-লাইন অনুবাদ করে, তাই অনুবাদ করতে কম্পাইলারের তুলনায় বেশি সময় প্রয়োজন।
  2. ইন্টারপ্রেটার এর মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণরূপে মেশিন প্রোগ্রামে রূপান্তরিত হয় না।
  3. প্রতিটি কাজের পূর্বে অনুবাদ করার প্রয়োজন হয়।

কম্পাইলার এবং ইন্টারপ্রেটারের মধ্যে পার্থক্য

কম্পাইলার ইন্টারপ্রেটার
১. কম্পাইলার হলো এক ধরনের অনুবাদক প্রোগ্রাম যা হাইলেভেল ভাষায় লিখিত একটি সম্পূর্ণ প্রোগ্রামকে মেশিন ভাষায় রূপান্তর করে। ১. ইন্টারপ্রেটারও কম্পাইলারের মতো এক ধরনের অনুবাদক প্রোগ্রাম যা উচ্চস্তরের ভাষায় লেখা প্রোগ্রামকে লাইন বা লাইন মেশিন ভাষায় রূপান্তর করে।
২. প্রোগ্রাম নির্বাহে সময় কম লাগে। ২. প্রোগ্রাম নির্বাএ সময় বেশি লাগে।
৩. কম্পাইলারের সাহায্যে প্রোগ্রাম একবার অনুবাদ করলে প্রতিবার কাজের পূর্বে আর নতুন করে অনুবাদ করতে হয় না। ৩. ইন্টারপ্রেটারের সাহায্যে প্রোগ্রাম অনুবাদ করলে প্রতিবার কাজের পূর্বে পুনরায় অনুবাদ করার প্রয়োজন হয়।
৪. কম্পাইলার দ্বারা একটি প্রোগ্রাম অনুবাদ করলে পূর্ণাঙ্গ যান্ত্রিক প্রোগ্রামে রূপান্তরিত হয়। ৪. ইন্টারপ্রেটারের দ্বারা প্রোগ্রাম অনুবাদ করলে পূর্ণাঙ্গ যান্ত্রিক প্রোগ্রামে রূপান্তরিত হয় না।
৫. টেস্টিং ও ডিবাগিং এর ক্ষেত্রে ধীর গতি সম্পন্ন। ৫. টেস্টিং ও ডিবাগিং এর ক্ষেত্রে দ্রুত গতি সম্পন্ন।

No comments:

Post a Comment