...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Operators are used as a means for object composition and embedding. Simple parsers may be composed to form composites through operator overloading, crafted to approximate the syntax of Parsing Expression Grammar (PEG). An expression such as:
a | b
yields a new parser type which is a composite of its operands, a
and b
.
This module includes different parsers which get instantiated if one of
the overloaded operators is used with more primitive parser constructs.
It includes Alternative (|
),
And-predicate (unary &
),
Difference (-
), Expect (>
), Kleene star (unary *
), Lists (%
),
Not-predicate (!
), Optional
(unary -
), Permutation (^
), Plus (unary +
),
Sequence (>>
), and Sequential-Or
(||
).
// forwards to <boost/spirit/home/qi/operator.hpp> #include <boost/spirit/include/qi_operator.hpp>
Also, see Include Structure.