پرش به محتوا

تحلیل‌گر واژگانی فلکس

از ویکی‌پدیا، دانشنامهٔ آزاد
فلکس
توسعه‌دهنده(ها)ورن پاکسن
مخزن
سیستم‌عاملشبه یونیکس
پلت‌فرمچند سکویی
مجوزپروانه بی‌اس‌دی

فلکس (به انگلیسی: flex) (مخفف عبارت fast lexical analyzer generator) یک نرم‌افزار آزاد و جایگزینی برای لکس است. فلکس بیشتر به همراه گنو بایسون استفاده می‌شود. اما بر خلاف بایسون جزئی از پروژه گنو به حساب نمی‌آید. فلکس در سال ۱۹۸۷ توسط ورن پاکسون و به زبان سی نوشته شده‌است. فلکس برنامه‌ای برای ساختن یک تحلیل‌گر واژگانی است. یک تحلیل‌گر واژگانی برنامه‌ایست که الگوهای واژگانی را از یک متن تشخیص می‌دهد. برنامه فلکس یک فایل از ورودی می‌گیرید که الگوهای مورد نظر کاربر به همراه تعدادی کد سی برای هر الگو در آن تعریف شده‌است. فلکس این فایل را پردازش کرده و سپس فایلی به نام lex.yy.c تولید می‌کند که در این فایل تابعی به نام yylex()‎ تعریف شده‌است. این فایل می‌تواند توسط کاربر کامپایل شود تا یک فایل اجرایی به وجود آید که همان برنامه تحلیل‌گر واژگانی است. وقتی این برنامه اجرا شد، متنی را از ورودی می‌گیرد و سعی می‌کند که الگوهای مورد نظر کاربر را در این متن تشخیص دهد. وقتی که یکی از این الگوها پیدا شد، یک کد به زبان سی (که از قبل تعریف شده) اجرا می‌شود.

فلکس به همراه بایسون به صورت گسترده برای طراحی کامپایلرها استفاده می‌شوند.

منابع

[ویرایش]

صفحه خانگی