কম্পাইলার

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

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

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

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

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

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

x