Flex bison?
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 -
aucune réponse?
-
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 -
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 !!! -
merci , j'ai eu moi l'information en 2008 :)
de toute facon merci pour tout le monde :) -
Bonjour !!
Moi je l'ai eu en 2009 !! :) super site thank you very much !!! -
tu marque sa ou ? dans le code source ?
-
...encore du tigrou?