টোকেন, প্যাটার্ন এবং লেক্সিমের ধারণা

লেক্সিকাল অ্যানালাইসিস - কম্পাইলার ডিজাইন (Compiler Design) - Computer Science

266

লেক্সিক্যাল অ্যানালিসিসে টোকেন, প্যাটার্ন, এবং লেক্সিম (Lexeme) হল মৌলিক ধারণা। এই তিনটি উপাদান একত্রে সোর্স কোডের বিভিন্ন উপাদান শনাক্ত করতে সাহায্য করে। নিচে এই ধারণাগুলি বিস্তারিতভাবে আলোচনা করা হলো:

১. টোকেন (Token)

টোকেন হল সোর্স কোডের একটি মৌলিক একক, যা একটি প্রোগ্রামিং ভাষার গঠনগত অংশকে প্রতিনিধিত্ব করে। টোকেন সাধারণত শব্দ বা চিন্হের সমন্বয়ে গঠিত হয় এবং এটি একটি নির্দিষ্ট অর্থ বা ভূমিকা পালন করে।

উদাহরণ:

  • কীওয়ার্ড: যেমন if, else, while
  • পরিচয়: যেমন ভেরিয়েবল নাম x, total
  • অপারেটর: যেমন +, -, *, /
  • সংখ্যা: যেমন 10, 3.14
  • স্ট্রিং: যেমন "Hello, World!"
  • পৃথককারী: যেমন ;, {, }

২. প্যাটার্ন (Pattern)

প্যাটার্ন হল টোকেনের একটি নিয়ম বা গঠন, যা একটি নির্দিষ্ট ধরনের টোকেনকে শনাক্ত করতে ব্যবহৃত হয়। এটি সাধারণত একটি নিয়মিত এক্সপ্রেশন (Regular Expression) দ্বারা সংজ্ঞায়িত হয়। প্যাটার্নগুলি টোকেনগুলির শর্তাবলী নির্ধারণ করে এবং লেক্সিক্যাল অ্যানালাইজার টোকেন সনাক্ত করতে প্যাটার্নগুলি ব্যবহার করে।

উদাহরণ:

  • একটি সংখ্যা প্যাটার্ন: [0-9]+ (যা একটি বা ততোধিক ডিজিটকে নির্দেশ করে)
  • একটি পরিচয় প্যাটার্ন: [a-zA-Z_][a-zA-Z0-9_]* (যা একটি বৈধ ভেরিয়েবল নাম নির্দেশ করে)
  • একটি স্ট্রিং প্যাটার্ন: \".*?\" (যা উদ্ধৃতির মধ্যে থাকা কিছু প্রতীক নির্দেশ করে)

৩. লেক্সিম (Lexeme)

লেক্সিম হল সোর্স কোডের একটি নির্দিষ্ট শব্দ বা চিন্হ, যা একটি টোকেনের একটি নির্দিষ্ট উদাহরণ। এটি একটি ইনপুট স্ট্রিংয়ের মধ্যে প্যাটার্ন দ্বারা শনাক্ত করা হয় এবং এটি একটি টোকেনের বাস্তব অর্থ দেয়।

উদাহরণ:

  • সোর্স কোড int x = 5 + 10; এর জন্য:
    • টোকেন: int
      • লেক্সিম: int
    • টোকেন: x
      • লেক্সিম: x
    • টোকেন: =
      • লেক্সিম: =
    • টোকেন: 5
      • লেক্সিম: 5
    • টোকেন: +
      • লেক্সিম: +
    • টোকেন: 10
      • লেক্সিম: 10
    • টোকেন: ;
      • লেক্সিম: ;

উপসংহার

টোকেন, প্যাটার্ন, এবং লেক্সিম হল লেক্সিক্যাল অ্যানালিসিসের মৌলিক উপাদান। টোকেন হল সোর্স কোডের মৌলিক একক, প্যাটার্ন হল টোকেন শনাক্ত করার নিয়ম এবং লেক্সিম হল টোকেনের বাস্তব উদাহরণ। এই ধারণাগুলি কম্পাইলারের কার্যকারিতা এবং কোড বিশ্লেষণের জন্য অপরিহার্য।

Content added By
Promotion

Are you sure to start over?

Loading...