| Home | Libraries | People | FAQ | More

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