Bonjour,
j'ai un exposé sur le compilateur lexical Flex pour le Lundi 10/12/2007 et je cherche un exemple qui se compile avec flex.
J'en ai un, mais il y a une faute que je ne parvient pas à la déterminer.
Je vous passe l'exemple
L'analyseur lexical de l'exemple ci-dessous recherche le mot le plus long tout en calculant la somme des entiers rencontrés dans le fichier. Il utilise deux variables prédéfinies :yytextet yyleng.
%{
#include <stdio.h>
int total = 0;
int score = 0;
%}
LETTRE [a-zA-Z]
CHIFFRE [0-9]
MOT {LETTRE}+
NOMBRE {CHIFFRE}+
%%
{NOMBRE} total+= atoi( yytext );
{MOT} if (yyleng > score){
score = yyleng;
printf("\n%s", yytext );
}
. printf("\nNi mot, ni nombre :%s", yytext);
%%
int main( void ) {
yylex() ;
printf("\nSomme des nombres %d\nbye...\n", total);
}
L'erreur s'est produite dans un autre exemple.
S'il vous plait aider moi.
