Boost::Spirit : Comment fonctionne assign_a ?
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.
Code:
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)];
}
};
}; |
avec load::id qui ne fait que afficher s.
Quelqu'un pourrait m'éclairer sur la marche à suivre pour récupérer la valeur du string en question ?
Merci d'avance.