I. Présentation de Flex/Bison▲
Flex et Bison sont des utilitaires unix robuste et éprouvé dans le temps qui permettent d'écrire des parseurs pour plusieurs types de format.
Flex joue le rôle d'analyseur. Bison joue le rôle du parseur.
Flex et Bison sont plus récent et performant que Lex et Yacc qui sont les versions originales. Ils restent compatible avec ceux-ci.
Flex et Bison c'est : - La génération d'un parseur très rapide. - Un code très lisible, plus facile à maintenir et à faire évoluer qu'un code maison. - Une gestion des erreurs prise en charge. - Un code avec moins de bogues dû à ses nombreuses années d'expériences.
Références Man Flex(fr) : http://www.delafond.org/traducmanfr/...ex.1.html#lbAF Aquamentus (en): http://aquamentus.com/flex_bison.html
Installation Sous Unix et Linux les utilisateurs sont déjà présent. Sinon apt-get, urpmi, yum… et autres gestionnaire de packages sont vos amis.
Sous Windows télécharger les binaires pour Windows et les ajouter à votre variable d'environnement PATH. http://gnuwin32.sourceforge.net/packages/flex.htm http://gnuwin32.sourceforge.net/packages/bison.htm Pour Windows appeler les exécutables en ligne de commande et utiliser votre compilateur préféré. Ces outils fonctionne avec Visual Studio.
II. Afficher bonjour en C▲
L'exemple suivant permet de comprendre le fonctionnement de Flex.
Objectif Lorsque que l'analyseur détecte "coucou" il affiche "Bonjour".
Réalisation Saisir au clavier "coucou", l'analyseur reconnaît le motif et exécute le code associé "printf("Bonjour\r\n");" pour afficher "Bonjour". Sinon l'analyseur recopie la saisie.
Fichier Ecrire le fichier "bonjour.l" : %% coucou printf("Bonjour\r\n");