تحلیل گر واژگانی برنامه ایست که الگوهای واژگانی را از یک متن تشخیص میدهد.
فلکس ( fast lexical analyzer generator) یک نرمافزار آزاد و جایگزینی برای لکس است و بیشتر به همراه گنو بایسون استفاده میشود. فلکس در سال ۱۹۸۷ توسط “ورن پاکسون ” به زبان Cنوشته شده است.
فلکس برنامه ای برای ساختن یک تحلیل گر واژگانی است. یک برنامه فلکس یک فایل از ورودی میگیرید که الگوهای مورد نظر کاربر به همراه تعدادی کد سی برای هر الگو در آن تعریف شده است، این فایل را پردازش کرده و سپس فایلی به نام lex.yy.c تولید میکند که در این فایل تابعی به نام yylex() تعریف شده است. این فایل میتواند توسط کاربر کامپایل شود تا یک فایل اجرایی به وجود آید که همان برنامه تحلیلگر واژگانی است. وقتی این برنامه اجرا شد، متنی را از ورودی میگیرد و سعی میکند که الگوهای مورد نظر کاربر را در این متن تشخیص دهد. وقتی که یکی از این الگوها پیدا شد، یک کد به زبان سی اجرا میشود.
فلکس به همراه بایسون به صورت گسترده برای طراحی کامپایلرها استفاده میشوند.
لینک زیر میتواند اطلاعات بیشتری را در اختیارتان قرار دهد:
http://en.wikipedia.org/wiki/Flex_lexical_analyser
نرم افزار flex برای ایجاد تحلیلگر از فایل نوشته شده به زبان flex استفاده می شود. در این فرایند، شما ابتدا فایل نوشته شده با زبان flex را به این نرم افزار می دهید و در خروجی یک فایل به زبان c ) c.*) تولید می کند که با کامپایل آن، scanner شما آماده استفاده خواهد بود.
جهت کسب اطلاعات بیشتر با فلکس به سایت زیر مراجعه کنید:
http://majidr.blog.ir/1392/12/25/فایل-اموزشی-flex
http://majidr.blog.ir/1392/12/25/فایل-اموزشی-flex