অনুবাদক প্রোগ্রাম কি? প্রকার ও কাজ

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

এই আর্টিকেলে, আমরা অনুবাদক প্রোগ্রাম কি? এর প্রকার, কাজ ও সুবিধা-অসুবিধা নিয়ে আলোচনা করব।

অনুবাদক প্রোগ্রাম কি?

অনুবাদক (Translator) হল একটি প্রোগ্রামিং ভাষা প্রসেসর যা একটি কম্পিউটার প্রোগ্রামকে এক ভাষা থেকে অন্য ভাষায় রূপান্তর করে। এটি সোর্স কোডে লেখা একটি প্রোগ্রামকে মেশিন কোডে রূপান্তর করে। এটি অনুবাদের সময় ত্রুটি খুঁজে এবং সনাক্ত করে।
অনুবাদক একটি উচ্চ-স্তরের ভাষা প্রোগ্রামকে একটি মেশিন ভাষা প্রোগ্রামে অনুবাদ করে যা কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিট (CPU) বুঝতে পারে।
সাধারণত উচ্চস্তরের ভাষায় লিখিত প্রোগ্রামকে নিম্নস্তরের ভাষায় রূপান্তরের জন্য অনুবাদক প্রোগ্রাম ব্যবহৃত হয়।

অনুবাদক প্রোগ্রাম কত প্রকার?

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