Definition de fonction pendant l'execution

Signaler
Messages postés
7
Date d'inscription
dimanche 2 mars 2003
Statut
Membre
Dernière intervention
18 avril 2003
-
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
-
Bonsoir,

Je suis en train de faire un programme de calcul sur des fonctions mathematiques.

Et j'aimerais que l'utilisateur puisse entrer sa fonction de type quelconque (pas forcement un polynome) au moment de l'execution.

On ne peut donc pas definir la fonction comme
double f (double x) {...} dans le source.

J'attends vos suggestions.

Merci d'avance.

2 réponses

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
salut,
s'il s'agit simplement de permettre des types de variables différents pour une même fonction (un même algorithme) essaie les fonctions templates
s'il s'agit de donne la possibilité à l'utilisateur d'entrer quelque chose comme f(x)=sin(x)+ln(1/x5)...
alors c'est un gros travail de parsing, validation... et je te consielle de lui donner le choix entre plusieurs fonctions que tu as prédéfinies
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Ce qui est sur c'est que la fonction de peut apparaitre dans le programme puiqu'il est compilé et par définition ce n'est pas à la compilation de produire de résultat sauf en utilisant des langages comme lisp ou fortran qui sont interprétés. Il te faut donc un analyseur syntaxique pour que l'utilisateur puisse entrer la fonction à calculer. Je te conseille d'utiliser LEX et YACC pour te faciliter la tâche.

Core Breaker :)