Go to file
2019-11-03 21:01:58 +03:00
classic CI: Run MSVC with /W4 2019-09-27 22:20:04 +03:00
doc added x3 example of wrapping multiple attributes using std::tuple 2019-06-18 14:54:03 +08:00
example added x3 example of wrapping multiple attributes using std::tuple 2019-06-18 14:54:03 +08:00
include/boost X3: Fix parse_rule definition check 2019-10-18 21:43:06 +03:00
meta force libraries.json change 2019-09-02 16:26:36 -07:00
repository Replace a couple of dead links. 2019-04-22 23:27:49 +02:00
test X3.Tests: rule_separate_tu: Fix static initialization order fiasco 2019-11-03 21:01:58 +03:00
workbench Use <c++-template-depth> feature 2017-12-15 01:12:06 +03:00
.appveyor.yml Fix MSVC C4127 warnings 2019-09-30 01:29:29 +03:00
.gitattributes First commit from BOOST_REVIEW branch spirit.sf.net 2003-01-31 10:44:50 +00:00
.gitignore fixing various corner case bugs. the new implementation uses integers 2014-11-07 18:23:19 +08:00
.travis.yml CI: Use TRAVIS_COMPILER env var as a toolset for a job 2019-03-13 17:31:23 +03:00
index.html spirit2 ! :) 2008-04-13 03:02:30 +00:00
README.md X3.Tests: Added variable templates requirement 2018-11-26 18:39:01 +03:00
sublibs Spirit: adding sublibs file telling regression tools that subdirs may contain library tests 2011-01-28 03:53:41 +00:00

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)

Documentation

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)

Documentation

The latest Long Term Support version of Spirit. A Swiss Army knife for data manipulation on any kind of input.

Consists of:

  • Qi: Parser framework.
  • Karma: Generator framework.
  • Lex: Lexical analyzer framework.

Runs on most C++03 compilers (GCC 4.1, Clang 3.0, VS 2005).

Spirit.Classic (1st generation)

Documentation

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