Je vous fournis mon Code ;c’est une génération d’un analyseur utilisable avec le C.
le code est généré avec l'outil FLEX
j’espère que vous m’aidez au niveau de trois point :

* la lecture des données d’un fichier(un fichier source en langage C),ainsi de corrigé quelque faute

** prière de me donner une idée concernant les option (%option :où on déplace cette instruction)

*** une idée concernant yyrestart(si je peut l’utiliser pour intégrer mon fichier de test)
voici le code proposé
%{

Int noligne=0 ;

%}

Chaine \ "[^\n]\ "
Espace [^\t\040]
Alpha [a-zA-Z]
Chiffre [0-9]
Mot clé [FOR ,IF ,ELSE,WHILE,BREAK,SWITCH,CASE,DO]
Id [int,float,double,bool,char,string,CONST]
nom ({alpha}|{chiffre}|\$)({alpha}|{chiffre}|[_.\-/$])*
num1 [-+]?{chiffre}+\.?([eE][-+]?{chiffre}+)?
num2 [-+]?{chiffre}*\.{chiffre}+([eE][-+]?{chiffre}+)?
nombre {chiffre}+

%%

{espace} /* ne rien faire avec les espaces*/

//recherche des commentaires

"/*" {

int c;

while((c = yyinput()) != 0)
{
if(c == '\n')
++mon_no_ligne;
else if(c == '*')
{

if((c = yyinput()) == '/')

break;

else
unput(c);

}

}

Printf(le contenu du commentaire est "%c ",yytext) ;

}

//recherche des nombres

{nombre} printf("nombre %c",yytext) ;

//calcule du nombre de lignes

\n noligne++;

{nom} printf("nom est %c ",yytext) ;

{chaine} printf("les chaine introduite %c ",yytext) ;

%%

//la fonction main

main()
{
yylex() ;

yyin=fopen(" test.txt", ‘r’) ;

/* test.txt est un fichier texte qui contient un code en langage C dont il est la source pour analyser */

}
merci d'avance