কম্পিউটার কোডিং ভাষাকে মেশিন ভাষায় রূপান্তর করার জন্য মূলত দুইটি পদ্ধতি ব্যবহার করে:
১. কম্পাইলার (Compiler):
* কম্পাইলার পুরো কোডটিকে একসাথে পড়ে এবং বিশ্লেষণ করে।
* তারপর এটিকে মেশিন কোডে অনুবাদ করে। এই মেশিন কোড একটি নতুন ফাইল হিসাবে তৈরি হয়, যা সরাসরি কম্পিউটারের প্রসেসর দ্বারা চালানো যায়।
* কম্পাইলেশন একবার হয়ে গেলে, প্রোগ্রামটি চালানোর জন্য কম্পাইলারের আর প্রয়োজন হয় না।
* C, C++, Java (কিছু ক্ষেত্রে) ইত্যাদি ভাষা কম্পাইল করার জন্য কম্পাইলার ব্যবহার করা হয়।
২. ইন্টারপ্রেটার (Interpreter):
* ইন্টারপ্রেটার কোডকে লাইন বাই লাইন পড়ে এবং একই সাথে সেগুলোকে মেশিন কোডে অনুবাদ করে ও চালায়।
* এখানে কোনো আলাদা ফাইল তৈরি হয় না।
* ইন্টারপ্রেটার প্রোগ্রাম চালানোর সময় সবসময় প্রয়োজন হয়।
* Python, JavaScript, Ruby ইত্যাদি ভাষা ইন্টারপ্রেটারের মাধ্যমে চালানো হয়।
রূপান্তরের প্রক্রিয়া:
-
লেক্সিক্যাল বিশ্লেষণ (Lexical Analysis): কোডকে ছোট ছোট অংশে (টোকেন) ভাগ করা হয়।
-
সিনট্যাক্স বিশ্লেষণ (Syntax Analysis): টোকেনগুলো একটি নির্দিষ্ট ব্যাকরণ অনুযায়ী সাজানো আছে কিনা, তা পরীক্ষা করা হয়।
-
সিমান্টিক বিশ্লেষণ (Semantic Analysis): কোডের অর্থ বোঝা এবং ডেটা টাইপ ইত্যাদি পরীক্ষা করা হয়।
-
কোড অপটিমাইজেশন (Code Optimization): কোডের কর্মক্ষমতা বাড়ানোর জন্য কিছু পরিবর্তন করা হয়। (এটা সবক্ষেত্রে করা হয় না)
-
কোড জেনারেশন (Code Generation): সবশেষে, কোডটিকে মেশিন কোডে অনুবাদ করা হয়।
এইভাবে, কম্পাইলার বা ইন্টারপ্রেটার কোডিং ভাষাকে মেশিন ভাষায় রূপান্তরিত করে, যা কম্পিউটার বুঝতে পারে এবং কাজ করতে পারে।