Flex (logiciel)
# Flex (logiciel)

Flex est une version libre de l'analyseur lexical Lex. Il est généralement associé à l'analyseur syntaxique GNU Bison, la version GNU de Yacc.

Flex est un outil pour générer des analyseurs, programmes qui reconnaissent des motifs lexicaux dans du texte. Il lit les fichiers d'entrée donnés, ou bien son entrée standard si aucun fichier n'est donné, pour obtenir la description de l'analyseur à générer. La description est une liste de paires d'expressions rationnelles et de code C, appelées règles. En sortie, flex génère un fichier source en langage C, appelé `lex.yy.c', qui définit une routine `yylex'. Ce fichier est compilé et lié avec l'option `-lfl' (correspondant à la bibliothèque flex) afin de produire un programme exécutable. Quand l'exécutable est lancé, il analyse son entrée afin d'y trouver des occurrences correspondant aux précédentes expressions régulières. À chaque expression trouvée, il exécute le code C correspondant.

Un outil similaire fonctionnant avec le langage C++ est flex++.

