কম্পাইলার:
কম্পাইলার এমন এক ধরনের কম্পিউটার প্রোগ্রাম বা প্রোগ্রাম-সমষ্টি যা কোন কম্পিউটার বিধিভাষা (উৎস ভাষা) থেকে অপর একটি কম্পিউটার বিধিভাষায় (লক্ষ্য ভাষা) টেক্সট অনুবাদ করে। সাধারণত কোন প্রোগ্রামের সোর্সকোড থেকে মেশিনকোডে রূপান্তরের কাজটি কম্পাইলার দিয়ে করা হয়ে থাকে। কোনো নির্দিষ্ট কম্পাইলার একটি মাত্র হাই লেভেল ভাষাকে মেশিন ভাষায় পরিণত করতে পারে।
যেমন- যে কম্পাইলার বেসিককে মেশিন ভাষায় অনুবাদ করতে পারে তা কিন্তু কোবলকে মেশিন ভাষায় অনুবাদ করতে পারে না।
ইন্টারপ্রেটার:
ইন্টারপ্রেটার একটি প্রোগ্রাম যা প্রোগ্রামিং ভাষায় লেখা নির্দেশাবলী একজিকিউট করে। যা সোর্স কোড সরাসরি একজিকিউট করে। সোর্স কোডকে কার্যকরী অন্তর্বর্তী প্রতিনিধিত্বকারী কোন কোডে রূপান্তরিত করে এবং অবিলম্বে তা একজিকিউট করে।কম্পাইলার দিয়ে পূর্বের কম্পাইলকৃত কোড স্পষ্ট ভাবে একজিকিউট করে।
কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য:
কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে অনেক ক্ষেত্রে মিল থাকলেও বেশির ভাগ ক্ষেত্রে তাদের মধ্যে অমিল রয়েছে। কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য নিম্নরূপ-
১। কম্পাইলার হলো দ্রুতগতি সম্পন্ন। অন্যদিকে ইন্টারপ্রেটার হলো ধীর গতি সম্পন্ন।
২। কম্পাইলার এক সাথে সকল নির্দেশকে যন্ত্র ভাষায় রূপান্তর করে থাকে। অন্যদিকে ইন্টারপ্রেটার এক একটি নির্দেশকে যন্ত্র ভাষায় অনুবাদ করে থাকে।
৩। কম্পাইলার সম্মিলিত/সমবায় অনুবাদক প্রোগ্রাম। অন্যদিকে ইন্টারপ্রেটার পর্যায়ক্রমিক অনুবাদক প্রোগ্রাম।
৪। কম্পাইলার করা কোন প্রোগ্রামের পরিবর্তন করতে হলে সম্পূর্ণ পদ্ধতিটির পুনরাবৃত্তি করতে হয়। অন্যদিকে ইন্টারপ্রেটার করা কোন নির্দেশের পরিবর্তন করতে হয় না।
৫। কম্পাইলারের ক্ষেত্রে প্রোগ্রাম কার্যকরী করার সময়ের মধ্যে অনুবাদের সময় ধরা হয় না। অন্যদিকে ইন্টারপ্রেটারের ক্ষেত্রে প্রোগ্রাম কার্যকারী করার সময়ের মধ্যে অনুবাদের সময় ধরা হয়।
৬। কম্পাইলারের ক্ষেত্রে সমস্ত প্রোগ্রামকে স্থায়ীভাবে যন্ত্র ভাষায় রূপান্তর করে রাখা যায়। অন্যদিকে ইন্টারপ্রেটারের ক্ষেত্রে সমস্ত প্রোগ্রামকে স্থায়ীভাবে যন্ত্র ভাষায় রূপান্তর করে রাখা যায় না।
৭। কম্পাইলরে কোন একটি বেসিক প্রোগ্রামের কয়েকটি নির্দেশ যদি বার বার করার প্রয়োজন হয়, তাহলে কম্পাইলার দিয়ে নির্দেশগুলো একবার অনুবাদ করে কাজ শেষ হয়ে যায়। অন্যদিকে ইন্টারপ্রেটারে কোন একটি বেসিক প্রোগ্রামের কয়েকটি নির্দেশ যদি বার বার করার প্রয়োজন হয়, তাহলে ইন্টারপ্রিটার দিয়ে নির্দেশগুলো একবার অনুবাদ করলে শেষ হয়ে যায় না, যে কয়বার করার কথা, সে কয়বারই ঐ প্রতিটি নির্দেশ অনুবাদ করতে হয়।
৮। একটি কম্পাইলার কেবলমাত্র একটি ভাষাকে অনুবাদ করতে পারে। অন্যদিকে একটি ইন্টারপ্রিটার একাধিক ভাষাকে অনুবাদ করতে পারে।
৯। কম্পাইলার সম্পূর্ণ প্রোগ্রামকে একবারে কম্পাইল করে। অন্যদিকে ইন্টারপ্রেটার প্রতিটি স্ট্যাটমেন্ট কে আলাদা আলাদাভাবে কম্পাইল করে।