"interpreteur"?

cs_Blackhorn Messages postés 23 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 25 mai 2006 - 27 avril 2005 à 17:15
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 - 28 avril 2005 à 13:47
Bonjour, je voudrais en faite sortir des informations d"un fichier, et
les "interprété" mais je me demande comment on peut mettre dans
une variable (nommé dans le fichier) la valeur qui lui
correspond.exemple dans mon fichier j'ai : int nombre =1; .Je
voudrais qua la fin de la fonction "interpretation" je puisse recupé la
valeur de la variable en ulisant sont nom..commen faire? merci

8 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
27 avril 2005 à 18:13
Impossible, enfin à ma connaissance tu peux pas créer une variable don
le nom serait donné en paramètre. Le mieux que tu puisses faire c'est
créer des listes de string associé à des listes de valeurs. La liste de
string comportant le nom de la variable et la liste de valeur sa valeur.
0
cs_Blackhorn Messages postés 23 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 25 mai 2006
27 avril 2005 à 19:13
arf... c'est donc impossible. alors est t'il possible de recuperé
l'adresse d'une variable dont on a son nom en string? ou alors comment
puige avoir un tableau de pointeur ou l'index peut etre un string? merci
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
27 avril 2005 à 20:00
La première question n'a pas de réponse puisque c'est encore impossible. Par contre la deuxième, c'est possible.

Par exemple quand dans ton fichier tu vas détecter un type, int en
l'occurence. Tu vas ensuite lire le nom de la variable et la récupérer
sous forme d'un string. En meme temps, tu détectes une valeur ( 1 ici
). Donc admettons que tu possèdes une liste de doublet ( string, valeur
), tu vas ajouter à cette liste, un élément ("nombre", l'entier 1 ). En
fait l'entier 1 sera plutot un pointeur sur un entier dont la valeur
vaut 1, que tu aurais créé par :

int * pointeur_sur_entier = new int( 1 );



puis string name("nombre");



puis Ajouter à la liste le couple (name,pointeur_sur_entier);



Par la suite, si tu as besoin de la valeur de nombre, tu balaies la
suite et la recherche du nom correspondant et tu prend la valeur.

Voila ce que je te propose, en tout cas, comment je vois les choses.



Pour les couples, soit tu créer deux listes ( <list> en C++ )
avec une, des string et l'autre les valeurs. Mais c'est plus délicat
puisque tu as deux listes. Ou alors tu te renseigne sur les types
utilitaires

#include

et notamment le type pair;
Un exemple que j'ai trouvé:

#include
#include
using namespace std;

int main(void)
{
pair<string, int*> doublet("nombre", new int(1) );
cout << "doublet = (" << doublet.first << ", "
<< *doublet.second << ")" << endl;
return 0;
}

Tu vois le genre de chose.
0
cs_Blackhorn Messages postés 23 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 25 mai 2006
27 avril 2005 à 20:10
sa sera possible de metre enfaite comme second eleement un pointeur?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
27 avril 2005 à 22:01
Bas c'est ce que j'ai mis un pointeur:


puis Ajouter à la liste le couple (name,pointeur_sur_entier);



et la aussi:


pair<string, int*> doublet("nombre", new int(1) );
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
28 avril 2005 à 00:48
suis d'accord ac Luthor, ta premiere question c'est impossible,
l'assembleur donne des noms bidon et de toute facon on peut pas y
accéder dans un language de haut niveau comme le C

pour ta 2eme question, demande a Kirua, c'est le spécialiste de la
question, et va faire un tour sur glinfrench.com, rubrique divers,
article interpréteur

++

ad

_______________________


Omnia vincit labor improbus
0
cs_Blackhorn Messages postés 23 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 25 mai 2006
28 avril 2005 à 03:06
Merci de vos aide. Par contre pour le lien je touve pas ton article t sur que c le bon site?
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
28 avril 2005 à 13:47
http://glinfrench.apinc.org/IMG/zip/lang.zip

_______________________


Omnia vincit labor improbus
0
Rejoignez-nous