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

Boost C++ Discussion :

Comment utiliser Boost::spirit ?


Sujet :

Boost C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Comment utiliser Boost::spirit ?
    Bonjour,

    J'ai un peu de mal à utiliser la biblio boost::spirit. Mon objectif est le suivant je dispose d'un fichier texte comprenant des directives qui me sont propres.

    Exemple :
    //commentaires
    Attenuation=12
    Repeat 200
    {
    analyse(A,12)

    }

    Donc mon programme c++ doit etre capable d'analyser le fichier texte et appeler les fonctions de mes classes appropriés tel MyObject->function_Attenaution(12) ...

    Savez -vous comment faire ?

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Points : 410
    Points
    410
    Par défaut
    oui.

    la méthode que tu utilises est correcte, tu as juste oublié une virgule à la ligne 42 de ton fichier parser.cpp

    courage

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Points : 410
    Points
    410
    Par défaut
    plus sérieusement : qu'as-tu fait ? tu en es où ? as-tu réussi à compiler et lancer le programme quick_start de la doc ?

    Qu'est-ce qui ne fonctionne pas ?

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Changement de méthode
    Ben disons,

    que je vais changer de méthode. Je vais surement m'orienter vers du XML car avec les fichiers XSD, on peut les utiliser comme analyseurs grammaticaux.

    Mais bon, je t'avoue que je tatône encore un peu. Car l'objectif de tout ça est de permettre à un utilisateur lambda de créer un script avec une grammaire simple. Et moi, je dois décoder ce script et faire appel à mes méthodes des différentes classes en C++.

    Donc si quelqu'un a une idée, je suis preneur.

    Merci

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Fichier XML et fichier à écrire par un utilisateur lambda sont pour moi deux termes antinomiques...

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut antinomiques
    Il est vrai que mon explication est plus que contradictoire. Ce que je voulais dire, c'est un utilisateur aura un ensemble de balises XMl predefini pour construire un script .

    Penses-tu que je fais fausse route?

  7. #7
    Membre régulier

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2005
    Messages : 32
    Points : 117
    Points
    117
    Par défaut
    Je me permet d'importuner de ma présence car j'ai un problème proche:

    En gros, je dois écrire une fonction qui prend comme argument une chaîne de caractère qui est une expression mathématique, genre "3 + 5 * y" et qui me rend un arbre binaire des plus simple (issu d'une classe nœud basique, contenant branche_de_gauche et branche_de_droite qui sont aussi des nœuds, et récursivement).

    On m'a donc dit d'utiliser spirit comme parser, mais après m'être plongé quelque temps dans la documentation plutot longue et entièrement anglophone à laquelle je n'ai pas compris grand chose, et après avoir découvert à mon grand détriment que d'autres gens avaient avant moi cherché partout des tutos en français sans en trouver, je solicite donc une aide bienveillante qui m'explique quelque peu comment marche cette bibliothèque

  8. #8
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Je crois que tu devrais regarder du côté de boost.proto.

  9. #9
    Membre régulier

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2005
    Messages : 32
    Points : 117
    Points
    117
    Par défaut
    Après avoir constaté avec désesperance qu'il y avait encore moins de doc sur proto que sur boost à travers le net, je reviens.

    D'après ce que j'ai pu voir, proto va me servir pour calculer, mais moi je dois construire des arbres bianires avec mes expressions, de ce genre:

    "3+x * 4" donnera:

    +
    /\
    * 3
    /\
    x 4

Discussions similaires

  1. Comment utiliser Boost sur visual studio
    Par bobo023 dans le forum Boost
    Réponses: 1
    Dernier message: 14/08/2011, 17h24
  2. Comment utiliser boost.unit_test_framework
    Par cdm1024 dans le forum Boost
    Réponses: 6
    Dernier message: 04/03/2011, 11h08
  3. Comment utiliser Boost avec Qt
    Par lisco dans le forum Qt
    Réponses: 3
    Dernier message: 12/05/2009, 22h05
  4. Boost::Spirit : Comment fonctionne assign_a ?
    Par Shenga dans le forum Boost
    Réponses: 3
    Dernier message: 13/03/2009, 21h05
  5. [BOOST]Comment utiliser la lib boost.python
    Par Invité dans le forum Bibliothèques
    Réponses: 6
    Dernier message: 30/01/2006, 11h35

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