Флекс — разлика између измена

Садржај обрисан Садржај додат
мНема описа измене
Нема описа измене
Ред 1:
{{Infobox_Software |
име = flex |
програмер = -{[[Vern Paxson]]}- |
жанр = Генератор [[лексички анализатор|лексичког анализатора]] |
лиценца = -{[[BSD license]]}- |
вебсајт = -{[http://flex.sourceforge.net/ flex.sf.net]}- |
}}
'''-{Flex}-''' (брзи генератор [[лексички анализатор|лексичког анализатора]]) је слободна верзија -{[[Lex |Lex-а]]}-. Обично се користи са слободним [[-{GNU bison}-|-{Bison}-]] генератором. -{Flex}- настао око 1987. године и првобитно је написан у -{[[C]]}--у, а његов аутор је -{[[Vern Paxson]]}-.
 
Опис -{flex}--а дат је у упуству за његово коришћење:
:"-{Flex}- је програмска алатка за генерисање скенера (читача): програма који препознају лексичке шаблоне у тексту. -{Flex}- чита дату улазну датотеку или стандардни улаз, уколико име улазне датотеке није задато, ради описа читача који ће да генерише. Описи су у облику регуларних израза и -{C}- кода, и зову се правила. -{Flex}- генерише као излаз -{С}- датотеку, -{'<code>lex.yy.c</code>'}-, која позива функцију -{'<code>yylex()</code>'}-. Ова -{С}- датотека је компајлирана и повезана (линкована) са -{'<code>-lfl</code>'}- датотеком да би било могуће извршавање програма. Када се покрене програм, он анализира дати улаз тражећи онај део улаза који одговара датом регуларном изразу. Када нађе тај део улаза, онда се извршава одговарајући део -{C}- кода..."
 
Лексички читач који одговара -{[[C++]]}- је -{flex}-++, и он је део -{flex}- пакета. -{Flex}-++ је доступан на -{[[UNIX]]}- системима базирани на бесплатној -{[[GNU]]}- лиценци. Он је такође достипан и за не--{UNIX}- системе.
 
-{Flex}- заправо служи за читање карактера и прављење одговарајућих токена користећи [[детерминистички коначни аутомат]] (ДКА). ДКА је теоретска машина која прихвата [[регуларни изрази|регуларне изразе]].
 
== Пример лексичког анализатора ==
Ово је пример читача (написаног у -{C}--у) за програмски језик -{[[PL/0]]}-.
 
Симболи који се препознају су: <code>'+', '-', '*', '/', '=', '(', ')', ',', ';', '.', ':=', '<', '<=', '<>', '>', '>='</code>;
Преузето из „https://sr.wikipedia.org/wiki/Флекс