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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
فلکس
توسعه‌دهنده(ها) ورن پاکسن
انتشار پایدار ۲٫۵٫۳۷
وضعیت توسعه در جریان
سیستم‌عامل شبه یونیکس
سکو چند سکویی
گونه تولید کننده تحلیل‌گر واژگانی
پروانه پروانه بی‌اس‌دی
وب‌گاه flex.sourceforge.net


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

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

منابع[ویرایش]

صفحه خانگی