প্রোগ্রামিং ল্যাঙ্গুয়েজ সি/সি++ টিউটোরিয়াল [পর্ব ২] কম্পাইলার/ইন্টারপ্রেটার

0
685
প্রোগ্রামিং ল্যাঙ্গুয়েজ সি/সি++ টিউটোরিয়াল [পর্ব ২] কম্পাইলার/ইন্টারপ্রেটার

আহমেদ ওয়াহিদ

কম্পিউটার, প্রযুক্তি এবং প্রোগ্রামিং ভালোবাসি অনেক। ধন্যবাদ।
প্রোগ্রামিং ল্যাঙ্গুয়েজ সি/সি++ টিউটোরিয়াল [পর্ব ২] কম্পাইলার/ইন্টারপ্রেটার

আমরা জানি কমপিউটার বাইনারি সংখ্যায় কাজ করে। তাই ইউজার যখন কোনো কোড লেখে তখন তা কমপিউটার সরাসরি বুঝতে পারে না। সে জন্য সোর্স কোডকে প্রথমে মেশিন কোডে রূপান্তর করা হয়। তারপর কমপিউটার বুঝতে পারে। আর এই রূপান্তরের কাজটি সম্পাদন করে কম্পাইলার। বিভিন্ন IDE-তে কম্পাইলার দিয়ে দেয়া হয়। কম্পাইলার এবং ইন্টারপ্রেটারের মূল কাজ একই, তবে এদের মধ্যে মূল পার্থক্য হলো কম্পাইলার সম্পূর্ণ কোডকে মেশিন কোডে রূপান্তর করে প্রয়োজনীয় সাহায্যকারী ফাইল সংযুক্ত করে একটি .exe ফাইল তৈরি করে। তাই পরে সরাসরি অপারেটিং সিস্টেম থেকে .exe ফাইল চালিয়ে প্রোগ্রামটি চালানো যায়। কিন্তু ইন্টারপ্রেটার এরকম কোনো .exe ফাইল তৈরি করে না এবং প্রতিবার প্রোগ্রাম চালানোর সময় সোর্স কোডের একেকটি লাইন পড়ে এবং এক্সিকিউট করে। যেটা অনেক ঝামেলার এবং সময়সাপেক্ষ প্রক্রিয়া।

এবার একটি ছোট প্রোগ্রামের কোডিং দেখা যাক। নতুন ইউজারদের উচিত টার্বো সি ব্যবহার করা। তবে এটি অনেক পুরনো এবং DOS মোডে চলে বলে অন্য কোনো সহজ কম্পাইলার যেমন-Dev C++ ব্যবহার করা যেতে পারে। Dev C++ এ কোড লিখে F9 চাপলে কমপাইল এবং রান একই সাথে হবে।

Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

#include
#include
int main()//main function
{//code block starts here
printf(‘‘Hello’’);
getch();
return 0;
}//code block ends here

এখানে ‘#’ চিহ্ন দেয়ার পর যে স্টেটমেন্টগুলো লেখা হয়েছে সেগুলোর মাধ্যমে কিছু হেডার ফাইল যুক্ত করা হয়েছে। হেডার ফাইল হলো সাহায্যকারী ফাইল। main() হলো প্রোগ্রামের প্রধান ফাংশন। এখান থেকেই সব প্রোগ্রাম শুরু হয়। আর কোনো ফাংশন চেনার সহজ উপায় হলো কোনো নামের শেষে () বন্ধনী থাকবে। যেমন- printf() একটি ফাংশন এবং এর কাজ হলো বন্ধনীর ভেতর ডাবল কোটেশনের ভেতরে যা আছে তা প্রিন্ট করা অর্থাৎ মনিটরে দেখান। getch() হলো একটি ইনপুট ফাংশন। এর কাজ হলো ইউজার যতক্ষণ না পর্যন্ত কিবোর্ড থেকে কোনো বাটন প্রেস করবে ততক্ষণ প্রোগ্রাম থেমে থাকবে। ইউজার যখনই কোনো বাটন প্রেস করবে, তখন তা গ্রহণ করবে এবং পরবর্তী কাজ সম্পাদন করবে।

return 0-তে আসলে প্রোগ্রাম বন্ধ হয়ে যাবে। এই স্টেটমেন্টের মানে হলো ফাংশনকে যেখানে কল করা হয়েছে সেখানে প্রদত্ত মানসহ রিটার্ন করা। এখানে রিটার্ন ভ্যালু 0। আর এই রিটার্ন স্টেটমেন্টটি মেইন ফাংশনের অধীনে কাজ করছে। সুতরাং কম্পাইলার যখন এই রিটার্ন স্টেটমেন্টে আসবে তখন সে 0 ভ্যালু নিয়ে মেইন ফাংশনকে যেখানে কল করা হয়েছে সেখানে ফিরে যাবে। অর্থাৎ প্রোগ্রাম বন্ধ হয়ে যাবে।

‘//’ চিহ্নের পর যা-ই লেখা হোক না কেন, তা তখন কমেন্ট স্টেটমেন্ট হয়ে যাবে। একটি প্রোগ্রামে কমেন্ট স্টেটমেন্টে কোনো সক্রিয় ভূমিকা নেই। এটি প্রোগ্রামের কোডিংয়ের কোনো অংশ নয়। ইউজারদের বোঝার সুবিধার্থে এটি ব্যবহার করা হয়। ‘//’ চিহ্ন দিলে শুধু ওই লাইনটি কমেন্ট হয়ে যায়। কিন্তু একাধিক লাইনকে কমেন্ট করতে হলে প্রতিটি লাইনের শুরুতে ‘//’ ব্যবহার করা যেত পারে অথবা একদম শুরুতে ‘/*’ এবং একদম শেষে ‘*/’ ব্যবহার করা যায়।

কয়েকটি লক্ষণীয় বিষয়, সি-তে কোনো স্টেটমেন্টের শেষ বোঝাতে সেমিকোলন (;) ব্যবহার করা হয়। কিছু ব্যতিক্রম আছে যেমন-হেডার ফাইল সংযোজনে, মেইন ফাংশনের শেষে কখনো সেমিকোলন (;) ব্যবহার করা যাবে না। আর অনেক স্টেটমেন্টকে একটি কোড ব্লকে রূপান্তর করতে দ্বিতীয় বন্ধনী {} ব্যবহার করা হয়। ওপরের প্রোগ্রামটিতে দ্বিতীয় বন্ধনীর মাধ্যমে তিনটি স্টেটমেন্টকে একটি কোড ব্লকে রূপান্তর করা হয়েছে। যার মানে হলো ওই সম্পূর্ণ কোড ব্লকটি মেইন ফাংশনের অধীনে কাজ করবে। এখানে একটি কথা বলে রাখা ভালো- printf(), getch() এই ফাংশনগুলো দেখতে যত সহজ মনে হচ্ছে আসলে তত সহজ নয়। যেমন- printf() ফাংশন দিয়ে আমরা কোনো কিছু মনিটরে প্রিন্ট করি। কিন্তু এই প্রিন্ট করার জন্য অনেক কোড লেখার প্রয়োজন। যদিও এখানে শুধু printf() লিখলেই কাজ হয়ে যাচ্ছে। এর কারণ হলো printf() ফাংশনের কোডগুলো stdio.h নামের হেডার ফাইলে বর্ণিত আছে। এ কারণে প্রোগ্রামের শুরুতে হেডার ফাইলগুলো সংযোজন করা হয় যাতে ইউজার বিল্টইন ফাংশন ব্যবহার করে অনেক কাজ সম্পাদন করতে পারেন।

টিউনারপেজের নতুন টিউন আপনাকে ইমেইল করব?
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

একটি উত্তর ত্যাগ

Please enter your comment!
Please enter your name here

3 × four =