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

This is the documentation for an old version of Boost. Click here to view this page for the latest version.


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


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


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).


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.