Flex (GNU)

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir flex.

Flex est l'implémentation GNU de l'analyseur lexical Lex. On l'associe généralement à l'analyse syntaxique Bison qui est l'implémentation GNU de Yacc.

Flex est un outil pour générer des scanners (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 du scanner à 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 linké (édition de liens) avec l'option `-lfl' (correspondant à la libraire 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. A chaque expression trouvée, il exécute le code C correspondant...

Un outil similaire fonctionnant autour du langage C++ est flex++.

[modifier] Liens externes