Présentation de Flex/Bison

gridaine

Je vous propose un tuto d'initiation à Flex/Bison en C++ pour gcc et applicable à Visual C++.

N'hésitez pas à commenter cet article ! Commentez

- Titre : Présentation de Flex/Bison

- Auteur : gridaine

- Parution : 5 mars 2013

- Licence : Copyright ® 2012 gridaine. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Présentation de Flex/Bison

- II. Afficher bonjour en C

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");