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
Nth attribute of
The enclosing rule's synthesized attribute.
The enclosing rule's Nth inherited attribute.
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.