compiler:
যেকোন কম্পাইলর একটা পুরো প্রোগ্রামকে ইনপুট হিসেবে নেয় এবং সেটা মেশিন ল্যাংগুয়েজে রূপান্তরিত করে ।
কম্পাইলরে কোড রূপান্তরের সময় একটা এক্সিকিউটেবল কোড জেনারেট করে ।
যেকোন কন্ডিশনাল স্টেটমেন্ট দ্রুত কাজ করে । যেমন If, Else প্রভৃতি ।
কম্পাইলর সাধারণত কম্পাইল করার সময় র্যাম একটু বেশী খরচ হয় । অর্থাৎ সিস্টেমে চাপ পড়ে বেশী ।
কোন প্রোগ্রাম একবার কম্পাইল করলেই সারা জীবন রান করা যায় । বার বার কম্পাইল করানোর প্রয়োজন পড়ে না ।
উদাহরণ : Microsoft Visual Studio Express 2013, Microsoft Visual C++ 2010 Express, Turbo C etc.
Interpreter:
যেকোন ইন্টারপ্রেটর প্রোগ্রামের প্রতিটা সিঙ্গেল লাইনকে ইনপুট হিসেবে নেয় এবং এক টার পর একটা লাইন মেশিন ল্যাংগুয়েজে রূপান্তরিত করে ।
কোড রূপান্তরের সময় একটা ইন্টারমিডিয়েট কোড জেনারেট করে না ।কন্ডিশনাল স্টেটমেন্টগুলো একটা ধীরে কাজ করে ।
ইন্টারপ্রেটর এর ক্ষেত্রে সিস্টেমে চাপ পড়ে কম , অর্থাৎ র্যাম কাজে লাগে কম ।
উদাহরণ : CINT C and C++ Interpreter , Basic etc
পার্থক্যঃ কম্পাইলার ১.কম্পাইলার সম্পুর্ণ প্রোগামকে একসাথে অনুবাদ করে। ২.সবগুলো ভুল একসাথে পদর্শন করে। ৩.প্রোগ্রাম নির্বাহে কম সময় লাগে। ৪.একবার কম্পাইল করার পর আর কম্পাইল করার প্রোয়োজন পরে না। ইন্টারপ্রেটার ১.এক লাইন করে পরে এবং অনুবাদ করে। ২.এক লাইন পরে ভুল প্রদর্শন করে অনুবাদ বন্ধ করে দেয়। ৩.প্রোগ্রাম নির্বাহে বেশি সময় লাগে। ৪.প্রতিবার কাজের পূর্বে পুনঃরুপান্তরের প্রয়োজন পড়ে না।