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

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

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

منابع 

صفحه خانگی

ابزارهای مرتبط با کامپایل کردن
کامپایلرها و مفسرهای آزاد
ماشین متناهی
نرم‌افزارهای آزاد نوشته‌شده با سی
نرم‌افزارهایی که از پروانه بی‌اس‌دی استفاده می‌کنند