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
Context that are otherwise
fiddly to extract.
Spirit.Qi specific Phoenix placeholders
_1, _2... , _N
Nth attribute of
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 (
refers to the first).
_pass to force a parser failure.
All placeholders mentioned above are defined in the namespace
For more detailed information about semantic actions see: here.