Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.
PrevUpHomeNext

Phoenix

Boost.Phoenix makes it easier to attach semantic actions. You just inline your lambda expressions:

p[phoenix-lambda-expression]

Spirit.Qi provides some Boost.Phoenix placeholders to important information from the Attrib and Context that are otherwise fiddly to extract.

Spirit.Qi specific Phoenix placeholders

_1, _2... , _N

Nth attribute of p

_val

The enclosing rule's synthesized attribute.

_r1, _r2... , _rN

The enclosing rule's Nth inherited attribute.

_a, _b... , _j

The enclosing rule's local variables (_a refers to the first).

_pass

Assign false to _pass to force a parser failure.

[Important] Important

All placeholders mentioned above are defined in the namespace boost::spirit and, for your convenience, are available in the namespace boost::spirit::qi as well.

For more detailed information about semantic actions see: here.


PrevUpHomeNext