J'ai un problème intéressant. Disons que j'ai fichier avec des lignes remplies comme ceci:en utilisant boost :: iostreams pour lire des données spécialement conçues, puis en fonction de cet objet de création et l'ajouter à la liste
name1[xp,y,z321](a,b,c){text};//comment
#comment
name2(aaaa);
aussi je (simplifié) Classe:
class something {
public:
something(const std::string& name);
addOptionalParam(const std::string& value);
addMandatoryParam(const std::string& value);
setData((const std::string& value);
};
nom
correspond au nom d'un param constructeur de la classe. Les choses listées entre [] entre parenthèses sont optionnelles, in() obligatoires et tout ce qui se trouve entre {} doit être passé en chaîne.
Pour la première ligne, il faut appeler constructeur avec "nom1" comme nom; 3 fois appelez addOptionalParam, une fois pour chaque élément séparé par deux points; aussi 3 fois addMandatoryParam et setData avec "text".
Je peux travailler comment faire les commentaires, mais tout le reste est mutilée pour moi ...
Maintenant, je besoin de bons conseils comment (ou si) cela est possible, si je peux wor comment fais cela pour des objets simples, je peux travailler sur la façon de gérer tous les détails extra sanglants comme la correction sémantique et tout ça.
+1 Pour considérer une grammaire et l'analyser. –