|  | Home | Libraries | People | FAQ | More | 
        Parsers in Spirit are fully
        attributed. Spirit.X3 parsers always expose
        an attribute specific to their type. This is called synthesized
        attribute as it is returned from a successful match representing
        the matched input sequence. For instance, numeric parsers, such as int_ or double_,
        return the int or double value converted from the matched input
        sequence. Other primitive parser components have other intuitive attribute
        types, such as for instance int_
        which has int, or ascii::char_ which has char.
        Primitive parsers apply the normal C++ convertibility rules: you can use
        any C++ type to receive the parsed value as long as the attribute type of
        the parser is convertible to the type provided. The following example shows
        how a synthesized parser attribute (the int
        value) is extracted by calling the API function x3::parse:
      
int value = 0; std::string str("123"); std::string::iterator strbegin = str.begin(); x3::parse(strbegin, str.end(), int_, value); // value == 123
For a full list of available parser primitives and their attribute types please see the sections X3 Parsers.