Flex bison?
sofiane
-
alex -
alex -
flex bison?
SVP j'ai un tp en compilation de construire des analyseurs avec flex et bison mon probléme je ne sais pas comment traduit les régles de la grammaire :
E>E+T|T
T>T*F|F
F>(E)|degit
SVP ME DONNEZ les commandes en flex necessaires merci
SVP j'ai un tp en compilation de construire des analyseurs avec flex et bison mon probléme je ne sais pas comment traduit les régles de la grammaire :
E>E+T|T
T>T*F|F
F>(E)|degit
SVP ME DONNEZ les commandes en flex necessaires merci
Configuration: Windows XP Internet Explorer 6.0
8 réponses
Fais un fichier fichier.y et tapes ce qui suit:
%{
#include <stdio.h>
%}
%token degit
%%
E : E + T
|T
;
T : T * F
|F
;
F : (E)
|DEGIT
;
%%
#include "lex.yy.c"
Et puis un deuxième fichier fichier2.l
%{
#include<stdio.h>
int cpt=1;
%}
%%
"digit," return(DEGIT);
[0-9]+ {yylval=atoi(yytext);
return(NB);
}
[()$+*/-] return(yytext[0]);
[ \t] ;
\n cpt++;
. printf("Erreur Lexical à la ligne %d \n",cpt);
%%
Pour compiler il faut taper les commandes suivantes:
#bison fichier.y --> b.tab.c
#flex fichier.l --> lex.yy.c
#gcc fichier.tab.c -o exe -ly -lfl
%{
#include <stdio.h>
%}
%token degit
%%
E : E + T
|T
;
T : T * F
|F
;
F : (E)
|DEGIT
;
%%
#include "lex.yy.c"
Et puis un deuxième fichier fichier2.l
%{
#include<stdio.h>
int cpt=1;
%}
%%
"digit," return(DEGIT);
[0-9]+ {yylval=atoi(yytext);
return(NB);
}
[()$+*/-] return(yytext[0]);
[ \t] ;
\n cpt++;
. printf("Erreur Lexical à la ligne %d \n",cpt);
%%
Pour compiler il faut taper les commandes suivantes:
#bison fichier.y --> b.tab.c
#flex fichier.l --> lex.yy.c
#gcc fichier.tab.c -o exe -ly -lfl
bjr,
voici un lien qui vous sera utile :
http://langevin.univ-tln.fr/CDE/LEXYACC/Lex-Yacc.html (ce lien mene aussi vers les manuels flex et bison)
sinon je vous conseille d'aller voir coté construction des compilateurs vous trouverez votre bonheur dans les tutoriaux
Bon courage
voici un lien qui vous sera utile :
http://langevin.univ-tln.fr/CDE/LEXYACC/Lex-Yacc.html (ce lien mene aussi vers les manuels flex et bison)
sinon je vous conseille d'aller voir coté construction des compilateurs vous trouverez votre bonheur dans les tutoriaux
Bon courage
Ohhh desolé mdrrrrrrrr j'ai pas vu l'année 2007 !!!
jspr que depuis vous ete devenu un expert !
mdrr desole j'ai pas vu mdrrr je suis tomber dessus par hasard !!!
jspr que depuis vous ete devenu un expert !
mdrr desole j'ai pas vu mdrrr je suis tomber dessus par hasard !!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question