আপনারা হয়ত জেনে থাকবেন যে মেশিন বা কম্পিউটার সবসময় মেশিন ল্যাঙ্গুয়েজ এ কাজ করে, অর্থাৎ আমরা যে ভাষাতেই লিখি না কেন সেটা কম্পিউটারের বোধগম্য ভাষাতে নিয়ে যাওয়া বাধ্যতামূলক; আর এই কাজটা ইন্টারপ্রেটার (Interpreter) বা কম্পাইলার (Compiler) করে থাকে।

একটি ইন্টারপ্রেটার কোন প্রোগ্রামকে লাইন বাই লাইন মেশিন রিডেবল কোডে রুপান্তরিত করে। যখন কোন প্রোগ্রাম এক্সিকিউট (execute) করা হয় তখন সেটা ইন্টারপ্রেটরের মধ্যে দিয়ে অপারেটিং সিস্টেমের সাথে যোগাযোগ করে এবং ফলাফল (Output) প্রদর্শন করে।

পাইথন ইন্টারপ্রেটার কিভাবে কাজ করে?

নিম্ন লিখিত আলোচনা থেকে বুঝতে পারবেন কিভাবে পাইথন ইন্টারপ্রেটার কাজ করে ।

সোর্স কোড বিশ্লেষণ

প্রকৃতপক্ষে, যেকোনো ট্রান্সলেটর সোর্স কোড বিশ্লেষণ দিয়ে শুরু করে। এখানেও পাইথন ইন্টারপ্রেটার সোর্স কোড গ্রহণ করে এবং নিম্নলিখিত জিনিসগুলো করার জন্য কিছু নির্দেশ দেয়া শুরু করে:

ইন্টারপ্রেটার মূলত ইন্ডেন্টেশন নিয়ম অনুসরণ করে এবং পাইথন সিনট্যাক্স পরীক্ষা করে। 

যদি কোনো ভুল ধরে তখন প্রোগ্রামটি বন্ধ হয়ে যায় এবং ভুল এর মেসেজটি দেখাতে শুরু করে । এই পর্যায়টিকে (LEXICAL) বিশ্লেষণ বলা হয়, এর অর্থ হচ্ছে সোর্স কোড ফাইলগুলোকে টোকেনের মতো ভাগ করে ফেলে ।

বাইট কোড জেনারেশন

Python ইন্টারপ্রেটারের পার্সার (Parser) একবার টোকেনগুলি গ্রহণ শুরু করে দিলে, LEXICAL টোকেনগুলোকে ম্যানিপুলেট করতে শুরু করে। এটি অ্যাবস্ট্রাক্ট সিনট্যাক্স ট্রি (AST) নামে একটি স্ট্রাকচার তৈরি করে । 

ইন্টারপ্রেটার এই (AST) কে বাইট কোডে রূপান্তর করে  । পাইথনে, বাইট কোডটি “.pyc” এক্সটেনশনের সাথে ফাইলটি সেভ করে থাকে ।

পাইথন ভার্চুয়াল মেশিন (PVM)

এরপর পাইথন ইন্টারপ্রেটার (PVM) বা পাইথন ভার্চুয়াল মেশিন এর মাধ্যমে কোডগুলো রান করা শুরু করে ।  ইন্টারপ্রেটার লাইব্রেরি মডিউলগুলোর মাধ্যমে কোডগুলো লোড করে এবং তা PVM-এ ইনপুট করে। এটি বাইট কোডকে এক্সিকিউটেবল কোডে রূপান্তর করে এবং তারপর কোডটি প্রিন্ট হতে থাকে ।

কম্পাইলার এবং ইন্টারপ্রেটার এর পার্থক্য 

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

কম্পাইলার

  • এটি একবারের মাধ্যমে পুরো সোর্স কোডকে ট্রান্সলেট করে দেয় । 
  • কম্পাইলার এর মাধ্যমে দ্রুত রান করা যায় । 
  • আউটপুটটি .(exe) আকারে তৈরি করে । 
  • এটি সিপিইউ বেশি ব্যবহার করে।  
  • কম্পাইলার (Production Environment) ব্যবহার করে । 
  • C, C++, C# হল মূলত কম্পাইলড ল্যাংগুয়েজ । 
  • কোড স্ট্রাকচার বিশ্লেষণ করতে অনেক সময় নিয়ে থাকে ।

ইন্টারপ্রেটার

  • এটি লাইন বাই লাইন দ্বারা প্রোগ্রামটি কার্যকর করে থাকে ।
  • ইন্টারপ্রেটার এর মাধ্যমে ধীর প্রক্রিয়ার মাধ্যমে রান করা হয় ।
  • ইন্টারপ্রেটার কোনো ধরনের আকারে আউটপুট তৈরি করে না।
  • এটি CPU এর কম ব্যবহার করে থাকে । 
  • এটি (Programming and development environment) ব্যবহার করে ।
  • পাইথন, রুবি, পিএইচপি হল মূলত ইন্টারপ্রেটার ল্যাংগুয়েজ । 
  • কোড স্ট্রাকচার বিশ্লেষণ করতে এটি কম সময় নেয়।

আশা করি কম্পাইলার এবং ইন্টারপ্রেটার এর পার্থক্য সহ পাইথন ইন্টারপ্রেটার এর সকল তথ্য গুলো জানতে পেরেছেন এবং বুঝতে পেরেছেন ।

0 0 votes
Article Rating
0
Would love your thoughts, please comment.x
()
x