آخرین بروزرسانی 9 روز قبل

لکسم (Lexeme) چیست؟

لکزم: آجرهای سازنده زبان برنامه نویسی

سلام دوستان! توی این مقاله، می‌خوایم در مورد یه مفهوم مهم توی علوم کامپیوتر و زبان‌های برنامه نویسی صحبت کنیم: لکزم (Lexeme). شاید اسمش یکم پیچیده به نظر برسه، ولی نگران نباشید، سعی می‌کنم خیلی ساده و با مثال‌های ملموس توضیح بدم.

لکزم دقیقا چیه؟

تصور کنید دارید یه جمله رو تجزیه و تحلیل می‌کنید. اولین کاری که می‌کنید، اینه که جمله رو به کلمات جدا جدا تقسیم می‌کنید. لکزم هم تقریبا همینه! توی زبان‌های برنامه نویسی، لکزم یه رشته از کاراکترهاست که با هم یه معنی خاصی میدن. به عبارت دیگه، لکزم یه واحد سازنده اساسی توی یه زبان برنامه نویسی هست.

بیاید با یه مثال ساده‌تر شروع کنیم. فرض کنید این کد رو داریم:

int x = 10;

توی این خط کد، لکزم‌ها اینا هستن:

  • int (نوع داده)
  • x (اسم متغیر)
  • = (عملگر انتساب)
  • 10 (مقدار عددی)
  • ; (نقطه ویرگول - نشانه پایان دستور)

هر کدوم از اینها یه لکزم هستن. کامپایلر (یا مفسر) برنامه نویسی از این لکزم‌ها استفاده می‌کنه تا بفهمه شما دقیقا چی می‌خواید به کامپیوتر بگید.

چرا لکزم‌ها مهم هستن؟

لکزم‌ها خیلی مهم هستن، چون اولین مرحله توی فهمیدن کد توسط کامپایلر یا مفسر هستن. قبل از اینکه کامپیوتر بتونه کد شما رو اجرا کنه، باید اول اون رو به لکزم‌ها تجزیه کنه. این فرایند رو بهش میگن "تحلیل لغوی" (Lexical Analysis) یا "اسکن کردن" (Scanning).

بعد از اینکه لکزم‌ها شناسایی شدن، کامپایلر از اونها برای ساختن یه ساختار درختی به اسم "درخت نحو" (Syntax Tree) استفاده می‌کنه. این درخت به کامپایلر کمک می‌کنه تا رابطه بین قسمت‌های مختلف کد رو بفهمه و اون رو به زبانی که کامپیوتر متوجه میشه (مثل کد ماشین) تبدیل کنه.

انواع لکزم‌ها

لکزم‌ها انواع مختلفی دارن. بعضی از انواع رایج عبارتند از:

  • کلیدواژه‌ها (Keywords): کلمات رزرو شده‌ای مثل int، if، else، while و غیره.
  • شناسه‌ها (Identifiers): اسم‌هایی که شما برای متغیرها، توابع، کلاس‌ها و غیره انتخاب می‌کنید (مثل x توی مثال بالا).
  • عملگرها (Operators): نمادهایی مثل +، -، *، /، = و غیره.
  • لیترال‌ها (Literals): مقادیر ثابتی مثل اعداد (10، 3.14)، رشته‌ها ("Hello World") و کاراکترها ('A').
  • نشانه‌ها (Punctuators): نمادهایی مثل ;، ,، (، )، {، } و غیره.

مثال‌های بیشتر

برای اینکه بهتر متوجه بشید، بیاید چند مثال دیگه رو بررسی کنیم:

کد لکزم‌ها
if (x > 5) { ... } if، (، x، >، 5، )، {، ...، }
String name = "Ali"; String، name، =، "Ali"، ;
int sum = a + b; int، sum، =، a، +، b، ;

خلاصه‌ مطلب

لکزم‌ها آجرهای سازنده زبان‌های برنامه نویسی هستن. آنها اولین مرحله توی فهمیدن کد توسط کامپایلر یا مفسر هستن و نقش خیلی مهمی توی تبدیل کد شما به چیزی که کامپیوتر می‌تونه اجرا کنه دارن. شناخت لکزم‌ها به شما کمک می‌کنه تا درک بهتری از نحوه کار زبان‌های برنامه نویسی داشته باشید و کد بهتری بنویسید. اگه دقت کنین، به درستی نوشتن لکزم ها خیلی تاثیر میزاره روی فهمیدنی کد، مثلا بجای اینکه بنویسی Int x = 10; باید حتما int x = 10; رو رعایت کنی.

امیدوارم این مقاله بهتون کمک کرده باشه تا مفهوم لکزم رو بهتر درک کنید! اگر سوالی دارید، حتما بپرسید.

کلمات کلیدی: لکزم، Lexeme، تحلیل لغوی، Lexical Analysis، کامپایلر، زبان برنامه نویسی، شناسه‌ها، کلیدواژه‌ها، توکن

سوال: لکزم با توکن چه فرقی داره؟
جواب: لکزم یه رشته از کاراکترهاست، در حالی که توکن یه ساختار داده‌ای هست که شامل لکزم و اطلاعات اضافی مثل نوع اون لکزم (مثلا کلیدواژه یا شناسه) میشه. به عبارت دیگه، توکن یه لکزم هست که تزیین شده!
سوال: چرا باید لکزم‌ها رو بشناسیم؟
جواب: شناخت لکزم‌ها به شما کمک می‌کنه تا درک بهتری از نحوه کار زبان‌های برنامه نویسی داشته باشید، خطاهای کدتون رو راحت‌تر پیدا کنید و کد تمیزتر و قابل فهم‌تری بنویسید.
سوال: تحلیل لغوی (Lexical Analysis) چیه؟
جواب: تحلیل لغوی فرایندی هست که طی اون، کد منبع (source code) به یه سری لکزم تبدیل میشه. این اولین مرحله توی فرایند کامپایل کردن یا تفسیر کردن یه برنامه هست.

به اشتراک گذاشتن این مطلب در شبکه های اجتماعی

امتیاز شما به این مطلب

امتیاز: 5 از 5 (مجموع 1 رای)

اولین نفری باشید که در مورد این مقاله نظر می دهید!

6066- V4
Terms & Conditions | Privacy Policy

techfeed.ir© 2024 All rights reserved