কম্পাইলার কি? কম্পাইলার ও ইন্টারপ্রেটারের পার্থক্য
উৎস প্রােগ্রাম কে বস্তু প্রােগ্রামে পরিণত করতে যে সফটওয়্যারের প্রয়ােজন তাকে অনুবাদক প্রোগ্রাম বলে। কম্পিউটার শুধু মেশিনের ভাষা বুঝতে পারে। তাই অন্য ভাষায় লেখা উৎস প্রােগ্রামকে মেশিনের ভাষায় অনুবাদ না করে নিলে কম্পিউটার তা কার্যকর করতে পারেনা। আর এই উৎস প্রােগ্রামকে মেশিন ভাষায় অনুবাদের জন্য কয়েকটি অনুবাদক প্রোগ্রামের মধ্যে কম্পাইলার অন্যতম।
কম্পাইলার কি?
কম্পাইলার হল একধরনের অনুবাদক প্রোগ্রাম, যা হাই লেভেল ভাষার উৎস প্রােগ্রামকে বস্তু প্রােগ্রামে অনুবাদ করা। কোনাে নির্দিষ্ট কম্পাইলার একটিমাত্র হাই লেভেল ভাষাকে মেশিন ভাষায় পরিণত করতে পারে। তাই ভিন্ন ভিন্ন হাই লেভেল ভাষার জন্য ভিন্ন ভিন্ন কম্পাইলার প্রয়ােজন হয়।
কম্পাইলার হল একটি বিশেষ অনুবাদক প্রোগ্রাম, যা একটি নির্দিষ্ট প্রোগ্রামিং ভাষায় লেখা বিবৃতিগুলোকে প্রক্রিয়া করে এবং সেগুলোকে মেশিন ভাষা বা ‘কোড’-এ পরিণত করে।
কম্পাইলার উচ্চ-স্তরের ভাষায় (যেমন, C++) লেখা সোর্স কোডকে মেশিন-ভাষার সেটে অনুবাদ করে, যা একটি ডিজিটাল কম্পিউটারের CPU দ্বারা বোঝা যায়। কম্পাইলার আমেরিকান কম্পিউটার বিজ্ঞানী গ্রেস হপার দ্বারা তৈরি করা হয়েছিল, যিনি ১৯৫০ এর দশকের প্রথম দিকে প্রথম কম্পাইলারগুলোর একটি ডিজাইন তৈরি করেন।
কম্পাইলারের সুবিধা:
- পুরাে প্রােগ্রামটিকে একবারেই বস্তু প্রােগ্রামে অনুবাদ করে।
- প্রােগ্রামে কোনাে ভুল থাকলে তা জানানাে।
- প্রধান মেমােরিতে প্রয়ােজনীয় স্মৃতি অবস্থানের ব্যবস্থা করা
- প্রয়ােজনে বস্তু বা উৎস প্রােগ্রামকে ছাপিয়ে বের করা।
কম্পাইলারের অসুবিধা:
কম্পাইলারের অসুবিধা হলাে কম্পাইলার যেহেতু পুরাে প্রােগ্রামটিকে একবারেই বস্তু প্রােগ্রামে অনুবাদ করে, তাই ধাপে ধাপে এর ভুল শনাক্ত করা যায় না। ফলে সাথে সাথে সংশােধনও করা যায় না।
কম্পাইলারের কার্যপ্রণালী:
কম্পাইলারের কাজ হাই লেভেল ভাষায় উৎস প্রােগ্রামকে বস্তু প্রােগ্রাম বা মেশিন ল্যাঙ্গুয়েজে অনুবাদ করা। কম্পাইলার এক প্রকার অনুবাদক প্রােগ্রাম।
ভাষার সর্বনিম্ন স্তর হলাে মেশিনভাষা যা কম্পিউটারের মৌলিক ভাষা। মেশিন ভাষায় ০ ও ১ এই দুই বাইনারি অঙ্ক অথবা হেক্সা পদ্ধতি ব্যবহার করে সব কিছু লেখা হয়। কম্পিউটার একমাত্র মেশিন ভাষাই বুঝতে পারে, অন্যভাষায় প্রােগ্রাম করলে কম্পিউটার আগে উপযুক্ত অনুবাদকের সাহায্যে তাকে মেশিনভাষায় পরিণত করে দেয়।
কম্পাইলার ও ইন্টারপ্রেটার পার্থক্য
কম্পাইলার ও ইন্টারপ্রেটারের মধ্যে পার্থক্য নিম্মে বর্ণনা করা হল-
কম্পাইলার | ইন্টারপ্রেটার | |
১ | কম্পাইলার সম্পূর্ণ প্রােগ্রামটি এক সাথে অনুবাদ। | ইন্টারপ্রেটার এক লাইন করে পড়ে এবং অনুবাদ করে। |
২ | সবগুলাে ভুল এক সাথে প্রদর্শন করে | প্রতিটি লাইনের ভুল প্রদর্শন করে অনুবাদ কার্য বন্ধ করে দেয়। |
৩ | ডিবাগিং ও টেস্টিং-এর ক্ষেত্রে ধীর গতিসম্পন্ন | ডিবাগিং ও টেস্টিং-এর ক্ষেত্রে দ্রুত গতিসম্পন্ন |
৪ | একবার কম্পাইল করা হলে পরবর্তীতে আর কম্পাইল করার প্রয়ােজন হয় না। | ইন্টারপ্রেটারের রূপান্তরিত প্রোগ্রাম পুন:রূপান্তরের প্রয়ােজন। |
৫ | কম্পাইলারের মাধ্যমে রূপান্তরিত প্রােগ্রাম পূর্ণাঙ্গ যান্ত্রিক প্রোগ্রামে রূপান্তরিত হয়। এই প্রােগ্রামকে অবজেক্ট প্রোগ্রাম বলে। | ইন্টারপ্রেটারের মাধ্যমে রূপান্তরিত প্রােগ্রাম পূর্ণাঙ্গ যান্ত্রিক প্রোগ্রামে রূপান্তরিত হয় না |
৬ | বড় ধরনের কম্পিউটারে কম্পাইলার বেশি ব্যবহার হয়। | মাইক্রো কম্পিউটারে এবং পকেট কম্পিউটারে এর অধিক ব্যবহার হয়ে থাকে। |
৭ | প্রােগ্রাম নির্বাহের জন্য কম সময় প্রয়োজন। | প্রোগ্রাম নির্বাহের জন্য বেশি সময় প্রয়ােজন। |
৮ | প্রধান মেমোরিতে বেশি জায়গার প্রয়ােজন হয় । | মেমোরিতে কম জায়গার প্রয়ােজন হয়। |