অনুবাদক প্রোগ্রাম (Translator Program)
যে প্রোগ্রাম উৎস প্রোগ্রামকে যান্ত্রিক ভাষায় অনুবাদ করে বস্তু প্রোগ্রামে রূপান্তর করে সে প্রোগ্রামকে অনুবাদক প্রোগ্রাম বলে। যেমন- C ল্যাংগুয়েজে একটি প্রোগ্রাম লেখা হলেও কম্পিউটার এ প্রোগ্রামটি বুঝতে পারে না, সেক্ষেত্রে প্রোগ্রামটিকে অনুবাদ করে যন্ত্রের ভাষায় (বাইনারিতে) বুঝিয়ে দিতে হয়।
অনুবাদক প্রোগ্রাম তিন প্রকার। যথা-
১. কম্পাইলার, ২. ইন্টারপ্রেটার ও ৩. অ্যাসেম্বলার।
কম্পাইলার (Compiler)
মেশিনের ভাষা ব্যতিত অন্য যেকোনো ভাষায় রচিত প্রোগ্রামকে উৎস বা সোর্স প্রোগ্রাম বলে। আর মেশিনের ভাষায় রূপান্তরিত প্রোগ্রামকে বস্তু বা অবজেক্ট প্রোগ্রাম বলে। উচ্চস্তরের ভাষার উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অনুবাদ করাকে কম্পাইলার বলে।
কম্পাইলার এর ব্যবহার :
উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে অনুবাদ করা।
প্রোগ্রামকে লিঙ্ক করা এবং প্রোগ্রামে কোন ভুল থাকলে তা জানানো।
প্রয়োজনে বস্তু বা উৎস প্রোগ্রামকে প্রিন্ট করে বের করা।
প্রধান মেমোরিতে প্রয়োজনীয় স্মৃতি বণ্টনের ব্যবস্থা করা।
কম্পাইলার এর সুবিধা :
কম্পাইলার দ্বারা একবার প্রোগ্রাম কম্পাইলার করা হলে পরবর্তীতে আর কম্পাইলারের প্রয়োজন পড়ে না।
কম্পাইলারের মাধ্যমে রূপান্তরিত প্রোগ্রাম সম্পূর্ণভাবে মেশিন প্রোগ্রামে রূপান্তরিত হয়।
কম্পাইলার সম্পূর্ণ প্রোগ্রামটি একবারে অনুবাদ করে।
প্রোগ্রামে কোন ভুল থাকলে তা মনিটরে প্রদর্শন করে।
প্রোগ্রাম নির্বাহের গতি দ্রুত হয়।
কম্পাইলার এর অসুবিধা :
কম্পাইলার প্রোগ্রামের সবগুলো ভুল একসাথে প্রদর্শন করে, ফলে প্রোগ্রাম সংশোধনে বেশি সময় লাগে।
কম্পাইলার বড় ধরনের প্রোগ্রাম হওয়ায় মেমোরিতে বেশি জায়গা লাগে।
ইন্টারপ্রেটার (Interpreter)
প্রোগ্রাম ডিবাগিং ও টেস্টিং এর কাজ ধীরগতি সম্পন্ন।
উচ্চস্তরের ভাষায় লেখা কোনো প্রোগ্রামকে সরাসরি নির্বাহের জন্য যে অনুবাদক ব্যবহৃত হয় তাকে ইন্টারপ্রেটার বলে। ইন্টারপ্রেটার উৎস প্রোগ্রামের এক লাইন করে পড়ে এবং যান্ত্রিক ভাষায় অনুবাদ করে।
ইন্টারপ্রেটার এর ব্যবহার :
উচ্চস্তরের ভাষাকে মেশিন ভাষায় পরিণত করে।
মেশিন ভাষায় অনুবাদ করে।
ইন্টারপ্রেটার এর সুবিধা :
প্রোগ্রাম আকারে ছোট এবং মেমোরি কম প্রয়োজন হয়।
এটি সাধারণত ছোট কম্পিউটারে ব্যবহার করা হয়।
ইন্টারপ্রেটার অধিক ব্যবহার বান্ধব।
প্রোগ্রামের ভুল সংশোধন করা সহজ।
ইন্টারপ্রেটার এর অসুবিধা :
প্রোগ্রাম কার্যকরি করতে কম্পাইলারের তুলনায় বেশি সময় লাগে।
রূপান্তরিত প্রোগ্রাম সম্পূর্ণভাবে মেশিন প্রোগ্রামে রূপান্তরিত হয় না।
প্রতিটি কাজের পূর্বে অনুবাদ করার প্রয়োজন হয়।
অ্যাসেম্বলার (Assembler)
অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে যান্ত্রিক ভাষায় রূপান্তর করার জন্য যে অনুবাদক প্রোগ্রাম ব্যবহার করা হয় তাকে অ্যাসেম্বলার বলে। নেমোনিক কোডকে যান্ত্রিক ভাষায় অনুবাদ করে। অ্যাসেম্বলি অ্যাড্রেসকে যান্ত্রিক ভাষায় লেখা অ্যাড্রেসে পরিণত করে।
অ্যাসেম্বলার এর কাজ :
অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রামকে মেশিন ভাষায় বস্তু প্রোগ্রামে অনুবাদ করা।
প্রত্যেক নির্দেশ ঠিক আছে কি-না তা পরীক্ষা করা, ঠিক না থাকলে তা জানানো।
নেমোনিক কোডকে মেশিন ভাষায় অনুবাদ করা।
সব নির্দেশ ও ডেটা প্রধান মেমোরিতে রাখা।
কম্পাইলার ও ইন্টারপ্রেটার এর মধ্যে তুলনামূলক আলোচনা
১. কম্পাইলার সম্পূর্ণ প্রোগ্রামটি একসাথে অনুবাদ করে।
১. ইন্টারপ্রেটার এক লাইন পড়ে ও অনুবাদ করে।
২. এটি প্রোগ্রামের সবগুলো ভুল এক সাথে প্রদর্শন করে।
২. এটি প্রতিটি লাইনের ভুল প্রদর্শন করে অনুবাদ কাজ বন্ধ করে দেয়।
৩. এটি একবার কম্পাইল করা হলে পরবর্তিতে কম্পাইল করার প্রয়োজন পড়ে না।
৩. এটি প্রতিবার কাজের পূর্বে কম্পাইলার করার প্রয়োজন পড়ে।
৪. বড় ধরনের কম্পিউটারে একে বেশি ব্যবহার করা হয়ে থাকে।
৪. মাইক্রোকম্পিউটার ও পকেট কম্পিউটারে অধিক ব্যবহার হয়ে থাকে।
৫. এতে প্রোগ্রামটি সাধারণত বড় হয়ে থাকে।
৫. এতে প্রোগ্রামটি সাধারণত ছোট হয়ে থাকে।
৬. প্রধান মেমোরিতে বেশি জায়গার প্রয়োজন হয়।
৬. প্রধান মেমোরিতে কম জায়গার প্রয়োজন হয়।