Flex е широко известен като бърз лексикален анализатор и е отворен код, напълно безплатна и многоплатформена командваща линия, внедрена в C / C ++ и проектирана от офсетовия, който ще се използва за генериране на скенери.
Скенерите, генерирани от инструмента "Flex", които не бива да се бъркат със свободното прилагане на Lex, които не са свързани с GNU, всъщност са програми, които разпознават лексикалните модели в текста, известни също като приложения, които извършват съвпадение на шаблони върху текста.
Flex е проектиран по такъв начин, че да генерира C източник на файла, наречен "lex.yy.c", който може да дефинира функцията yylex (). Софтуерът е инструмент на командния ред, така че можете да го използвате чрез всеки емулатор на терминала.
Опции на командния ред
Опциите за командния ред на програмата са организирани в категории като компресиране на таблици, отстраняване на грешки, файлове, скенер, генериран код и други. За да ги видите с един поглед, стартирайте "flex -help & rsquo; След като инсталирате софтуера на вашата система.
Сред опциите на командния ред за компресиране на таблици можем да споменем възможността да конструираме класове на еквивалентност и / или метаефективност, да използваме алтернативно таблично представяне, да използваме компресия по подразбиране, да генерираме голям и бърз скенер За да не компресирате таблици.
Опциите за команден ред за отстраняване на грешки включват поддръжка за активиране на режима за отстраняване на грешки в скенера, поддръжка за записване на резюме на статистическите данни на скенера за stdout, поддръжка за стартиране на Flex в режим на следене, както и поддръжка за записване на резервна информация за конкретен файл и Отчет за изпълнението на stderr.
Поведението на скенера може да се персонализира чрез опции на командния ред, които включват поддръжка за генериране на 7-битови или 8-битови скенери, поддръжка за генериране на партиден скенер, поддръжка за генериране на интерактивен скенер, както и поддръжка за проследяване Линията в yylineno.
Поддържа 32-битови / 64-битови платформи Linux и BSD
Софтуерът е написан изцяло на програмния език C и C ++ и е известно, че работи добре както на операционните системи Linux, така и на FreeBSD. Понастоящем той може да се инсталира на компютри, поддържащи архитектури от 64-битови или 32-битови комплекти инструкции.
Какво е новото р>
- строеж:
- Целта на тирето вече знае за новото оформление на Flex (от 2.6.0). Правилата, които ще се прилагат, не са правилни и не трябва да бъдат фиксирани.
- Файловете, включени в гъвкавата дистрибуция, сега са изградени от версията на flex, която е включена в разпространението.
- Конфигурационният скрипт има по-добра представа кои заглавки се изискват за изграждане на гъвкавост. Той също така ще греши, когато бъдат открити липсващи функции.
- Намалихме версиите на automake и gettext, които конфигурират. В autogen.sh сега проверяваме как да наричаме libtoolize и да използваме това, което намираме в останалата част от скрипта.
- Тъй като файловете в lib / са вдигнати според нуждите на src /, вече не генерираме Makefile за тази директория.
- Flex може да се компресира кръстосано.
- документация:
- Някои от тях са премахнати от ръководството.
- скенер:
- Някои незначителни подобрения на ефективността.
- Потвърждаваме отново потребителските макроси yy_ *. Също така сме по-внимателни да не изнасяме макро-дефиниции в заглавните файлове.
- Бяха въведени редица поправки за преносимост, така че изграждането на гъвкавостта е по-надеждна на повече платформи. Освен това бяха премахнати остарели функционални повиквания.
- Когато изграждате самия изпълним файл на flex,% # коментарите от flex.skl се премахват при генерирането на C масива на изходния код. Това намалява размера на огъването.
- тестов пакет:
- Всички скриптове в тестовия пакет сега се изпълняват от $ (SHELL) и са включени необходимите корекции за преносимост.
- Тестовите зависимости на тестовете се обработват много по-добре. Това е от значение само ако активно развивате гъвкавост или тестов пакет.
- Тестовете, които зависят от функциите, които зависят от платформата, сега се пропускат, когато тези платформи не са налице.
- При стартиране на & quot; направи проверка & quot ;, вече можете да направите V = 0, за да заглушите повече от построяването. Това е полезно, когато сте по-малко заинтересовани от
Коментари не е намерена