IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Générateurs de compilateur Discussion :

créer une interface IRC avec lex et yacc


Sujet :

Générateurs de compilateur

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Par défaut créer une interface IRC avec lex et yacc
    Bonjour,

    Je voudrais essayer de créer une petite interface de chat (style IRC) avec lex et yacc (en fait flex et bison puisque je suis sous window).
    Je voudrais faire une commande shout qui aurait pour syntaxe:
    et qui permettrait de récupérer le texte enrré par l'utilisateur.
    J'essaie de m'inspirer de ce tutoriel lex et yacc: http://ds9a.nl/lex-yacc/cvs/lex-yacc-howto.html (chapitre 4.1) et voici mon code.
    Lex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    %{
    #include <stdio.h>
    #include "minChat.tab.h"
    %}
    %%
    shout         {printf("shout command!\n"); 
                   return TOKSHOUT;}
    [^\n]+\n      {printf("this is a line!\n");
                   return LINE;}
    %%
    Yacc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    %{
    #include <stdio.h>
    #include <string.h>
     
    void yyerror(const char *str);
    int yywrap();
     
     
    %}
     
    %token NUMBER LINE TOKSHOUT
     
     
     
    %%
    commands: /* empty */
            | commands command
            ;
     
    command:
            shout
            ;
     
     
    shout:
            TOKSHOUT LINE
            {
    		printf("shouting %s\n",$2);
            }
            ;
     
    %%
     
    void yyerror(const char *str)
    {
            fprintf(stderr,"error: %s\n",str);
    }
     
    int yywrap()
    {
            return 1;
    } 
     
    int main(void)
    {
            return yyparse();
    }
    Le code ne produit pas de warning pour flex et bison et compile bien avec Visual C++, mais à l'execution le programma affiche toujours "this is a line!" meme quand ce que j'entre commence par shout, puis me dit "syntax error".
    Si quelqu'un a une idée de ce qui ne va pas...

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 293
    Par défaut
    bonjour,

    désolé mais je n'ai pas de réponse à ta question et je suis dans le même cas que toi
    c'est à dire que je veux m'initier à lex yacc en utilisant devc++

    je crois que dans ton exemple tu ne donnes pas le code de ton main()
    peut être est ce ça qui cloche

    je suis en train de potasser les tutoreil que je trouve sur le net
    en tout cas si tu as trouvé la méthode de compiler avec devc++, en fait comment l'integrer dans le makefile je suis trés interessé

    Merci de ta colaboration

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/06/2012, 16h13
  2. Créer une interface graphique avec Glade3 et GtkBuilder
    Par Franck.H dans le forum Contribuez
    Réponses: 5
    Dernier message: 22/02/2012, 10h49
  3. Créer une interface graphique avec éléments fixes
    Par PP(Team) dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 03/06/2008, 15h42
  4. Créer une interface graphique SWT avec Eclipse
    Par FMC dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 28/09/2007, 12h16
  5. Créer une interface graphique avec java
    Par omar344 dans le forum Interfaces Graphiques en Java
    Réponses: 26
    Dernier message: 20/06/2007, 13h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo