Bonjour à tous,
J'essaie actuellement de créer un parseur en utilisant Boost::Spirit, mais je rencontre des problèmes pour récupérer la valeur d'un token matché. J'ai tenté d'utiliser la fonction assign_a pour affecter la valeur à un string pour l'utiliser ensuite, mais ça ne semble pas marcher.
avec load::id qui ne fait que afficher s.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 struct Grammar : public boost::spirit::grammar<Grammar> { template <typename ScannerT> struct definition { std::string s; definition (Grammar const&) { string = ('"' >> *(boost::spirit::anychar_p - '"') >> '"'); tag_value = string [boost::spirit::assign_a (s)] [boost::bind (&load::id, s)]; } }; };
Quelqu'un pourrait m'éclairer sur la marche à suivre pour récupérer la valeur du string en question ?
Merci d'avance.
Partager