কম্পাইলার(Compiler), ইন্টারপ্রিটার (Interpreter) এবং প্রোগ্রাম রচনার বিভিন্ন ধাপ

0 151

আপনারা হয়তো আমার গত পোষ্টটি যারা যারা পড়েছেন তারা এতক্ষণে হয়তে বুঝে গেছেন প্রোগ্রামিং কি এবং অনেকে হয়তো প্রোগ্রামিং শিক্ষা গ্রহণ করা শুরু করে দিয়েছেন ।

আপনাদেরকে আজ প্রোগ্রামিং এর অনুবাদক প্রোগ্রাম বিষয়ে বিস্তারিত, এগুলোর প্রকারভেদ এবং এদের পার্থক্য দিয়ে বুঝিয়ে বলবো ।

অনুবাদক প্রোগ্রাম :
উচ্চ স্তরের ভাষাকে যান্ত্রিক ভাষায় রূপান্তরিত করার জন্য যে প্রোগ্রাম ব্যবহার করা হয় সে প্রোগ্রামকে বলা হয় ভাষা প্রক্রিয়াকারী প্রোগ্রাম (Language Processor Programe) । ভাষা প্রক্রিয়াকারী প্রোগ্রাম উচ্চ স্তরের ভাষায় লেখা প্রোগ্রামের নির্দেশ (Statement) বিন্যাস প্রক্রিয়া (Grammar) এবং চিন্হ (Syntax) ইত্যাদি পরীক্ষা করার পর কোন প্রকার ভুল না গেলে উচ্চ স্তরের প্রোগ্রামের ভাষাকে যান্ত্রিক ভাষায় রূপান্তরিত করে । উচ্চ স্তরের ভাষাকে যান্ত্রিক ভাষায় রূপান্তরিত করার কাজকে অনুবাদ করার কাজ হিসেবে উল্লেখ করা যায় এবং ভাষা প্রক্রিয়াকারী প্রোগ্রামকে অনুবাদক(Translator) বলা হয় ।

অনুবাদক প্রোগ্রাম দুই ধরনের :

১) কম্পাইলার (Compiler)
২) ইন্টারপ্রিটার (Interpreter)

কম্পাইলার (Compiler) :
কম্পাইলার প্রথমে উচ্চ স্তরের ভাষায় লেখা প্রোগ্রামকে শুরু থেকে শেষ পর্যন্ত পরীক্ষা করে দেখে । কোন প্রকার ভুল পাওয়া না গেলে কম্পাইলার সম্পূর্ণ প্রোগ্রামটিকে একবারে যান্ত্রিক ভাষায় রূপান্তরিত করে । এ ক্ষেত্রে উচ্চ স্তরের ভাষায় লেখা প্রোগ্রামকে উৎস কোড (Source Code) এবং যান্ত্রিক ভাষায় রূপান্তরিত প্রোগ্রামকে অবজেক্ট কোড (Object Code) বলে । উচ্চ স্তরের ভাষায় লেখা প্রোগ্রাম যান্ত্রিক প্রোগ্রামে রূপান্তরিত হওয়ার পর কম্পিউটারের মেমোরিতে সঞ্চিত হয় এবং অবজেক্ট কোড হিসাবে প্রোগ্রামের কাজ সম্পন্ন হয় । কম্পাইলারের সাহায্যে রূপান্তরিত প্রোগ্রাম যতবার প্রয়োজন ততবারই চালনা করা যায় বা কার্যকর করা যায় । প্রতিটি প্রোগ্রামিং ভাষার জন্য ভিন্ন ভিন্ন কম্পাইলার থাকে । এক ভাষার কম্পাইলার দিয়ে অন্য ভাষার অনুবাদের কাজ করা যায় না ।

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

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

কম্পাইলার ও ইন্টারপ্রিটারের তুলনামূলক সম্পর্ক বা পাথর্ক্য:

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

২. কম্পাইলারের সাহায্যে একটি প্রোগ্রামকে যান্ত্রিক ভাষায় রূপান্তরিত করার প্রয়োজন হয় না । যতবার প্রয়োজন ততবারই ব্যবহার করা যায় । কিন্তু ইন্টারপ্রিটারের সাহায্যে যান্ত্রিক ভাষায় রূপান্তরিত প্রোগ্রাম নিয়ে যখনই কাজ করতে হয় তখনই আবার নতুন করে প্রোগ্রামটিকে যান্ত্রিক ভাষায় রূপান্তরিত করে নিতে হয় । কারণ কম্পাইলারের সাহায্যে রূপান্তরিত প্রোগ্রাম তেমনভাবে পূর্ণাঙ্গ যান্ত্রিক প্রোগ্রামে রূপান্তরিত হয় না । ইন্টারপ্রিটারের সাহায্যে রূপান্তরিত প্রোগ্রাম ভিন্ন লাইন হিসেবে অবস্থান করে ।

প্রোগ্রাম রচনার বিভিন্ন ধাপ

প্রোগ্রাম রচনার সময় বা ব্যবহার করার সময় প্রোগ্রাম রচনাকারী (প্রোগ্রামার) বা ব্যবহারকারীকে শুদ্ধভাবে প্রোগ্রাম রচনা করা বা ব্যবহার করার ব্যাপারে সর্তক থাকতে হয় । নির্ভূলভাবে প্রোগ্রাম রচনার জন্য একটি পূর্ণাঙ্গ প্রোগ্রামকে প্রধানত ৪ টি ধাপে বিভক্ত করা হয় এবং শুরু থেকে পর্যায়ক্রমে ধাপগুলো সম্পন্ন করে প্রোগ্রাম রচনার কাজ সম্পন্ন করতে হয় ।

১. প্রয়োজন বা সমস্যা সনাক্ত বা নির্ধারণ করা এবং বিশ্লেষণ করা ।
২. প্রবাহচিত্র (Flowchart) তৈরি করা ।
৩. কোড লেখা (প্রোগ্রাম রচনা করা) ।
৪. ত্রুটি দূর করা (Debugging) ।

আপনারা যারা আমার এই লিখা মনোযোগ সহকারে পড়বেন তারা অব্যশই নতুন প্রোগ্রামিং জীবনে প্রোগ্রমিংকে সহজভাবে নিতে পারবেন ।

উত্তর দিন