Removes flat sequence parser through optional to fix: * Non-flat `tuple<..., optional<tuple<...>>, ...>` parsing. * Optional container parsing when it is a part of the sequence and the optional parser subject is a sequence too. The removed test cases are invalid (see #664) variants of flat through optional. There are a valid ones (like `int_ >> -(int_ >> int_)` into `tuple<int, optional<int>, optional<int>>`) that would be broken after the change, but at the moment I do not have a popper way to make it work.
Spirit
Spirit is a set of C++ libraries for parsing and output generation implemented as Domain Specific Embedded Languages (DSEL) using Expression templates and Template Meta-Programming. The Spirit libraries enable a target grammar to be written exclusively in C++. Inline grammar specifications can mix freely with other C++ code and, thanks to the generative power of C++ templates, are immediately executable.
Spirit.X3 (3rd generation)
The newest Spirit shines faster compile times. Currently only a parser framework.
Requires C++14 compiler (GCC 5, Clang 3.6, VS 2015 Update 3).
Spirit V2 (2nd generation)
The latest Long Term Support version of Spirit. A Swiss Army knife for data manipulation on any kind of input.
Consists of:
Runs on most C++03 compilers (GCC 4.1, Clang 3.0, VS 2005).
Spirit.Classic (1st generation)
An elderling member of Spirit. It receives only limited maintanance, but it is still used even inside Boost by Boost.Serialization and Boost.Wave libraries. It also contains Phoenix V1.
Spririt.Classic should support even ancient compilers.
Brief History
| Date | Boost | Commit | Event |
|---|---|---|---|
| 2014-03-18 | 1.56 | 8a353328 |
Spirit.X3 is added |
| 2013-12-14 | 1.56 | c0537c82 |
Phoenix V2 is retired |
| 2011-03-28 | 1.47 | 400a764d |
Phoenix V3 support added to Spirit V2 |
| 2009-04-30 | 1.41 | 5963a395 |
Spirit.Repository is appeared |
| 2008-04-13 | 1.36 | ffd0cc10 |
Spirit V2 (Qi, Karma, Lex, Phoenix V2) is added |
| 2006-08-23 | 1.35 | 2dc892b4 |
Fusion V1 is retired |
| 2003-01-31 | 1.30 | 81907916 |
Spirit is the part of the Boost |