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