Flex bison?

sofiane -  
 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
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. snoussisouhail Messages postés 2 Statut Membre 1
     
    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
    1
  2. aa
     
    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 !!!
    0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. silset
     
    merci , j'ai eu moi l'information en 2008 :)

    de toute facon merci pour tout le monde :)
    0
  5. otakuu Messages postés 302 Date d'inscription   Statut Membre Dernière intervention   38
     
    Bonjour !!
    Moi je l'ai eu en 2009 !! :) super site thank you very much !!!
    0
  6. sprouty14
     
    tu marque sa ou ? dans le code source ?
    0