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

Bibliothèques C++ Discussion :

Faire d'une expression arithmétique une fonction


Sujet :

Bibliothèques C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Faire d'une expression arithmétique une fonction
    Bonjour,

    pour un projet sur lequel je bosse, il faudra que je lise dans un fichier ascii des noms de variables. Le contenu de ces variables (des valeurs flottantes) sera ensuite lu dans un autre fichier au format binaire.

    Cependant parfois plutôt que d'avoir un nom de variable, j'aurai une expression arithmétique utilisant une variable. Et donc ce qui m'intéressera cette fois ne sera plus les valeurs de la variable, mais bien le résultat de l'expression arithmétique sur ses valeurs.

    Alors du coup ce qui m'intéresserait serait de trouver une techno qui me transforme une expression arithmétique du type "a*3+1" en pointeur de fonction prenant un argument et me renvoyant le résultat de l'expression. Ainsi il suffira que je lise les valeurs dans le fichier binaire et que j'appelle la fonction sur chacune des valeurs lues.

    Est-ce que vous avez des idées ?
    Merci d'avance,

    Jean-Charles

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    C'est un problème classique de compilation, donc : lexer + parseur (écrit avec boost.spirit, ou toute autre technologie qui permet d'écrire un lexer/parseur en C++ ; perso, j'aime bien Coco/R) + table des symboles + fonction d'évaluation.

    Il existe énormément de code sur le sujet (ex "simple": http://www.codeproject.com/KB/stl/in...on_spirit.aspx)
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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