]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/README.md
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / spirit / README.md
1 Spirit
2 ======
3
4 Spirit is a set of C++ libraries for parsing and output generation implemented as
5 Domain Specific Embedded Languages (DSEL) using Expression templates and Template
6 Meta-Programming. The Spirit libraries enable a target grammar to be written
7 exclusively in C++. Inline grammar specifications can mix freely with other
8 C++ code and, thanks to the generative power of C++ templates, are immediately
9 executable.
10
11 ### Spirit.X3 (3rd generation)
12
13 [Documentation](http://www.boost.org/doc/libs/develop/libs/spirit/doc/x3/html/index.html)
14
15 The newest Spirit shines faster compile times. Currently only a parser framework.
16
17 *WARNING*: C++14 compilers support will be dropped soon.
18
19 Spirit X3 in Boost 1.81 (scheduled to November 2022) will use C++17 features.
20
21 Supported compilers will be:
22 * Clang 4 (currently 3.6)
23 * GCC 7 (currently 5)
24 * VS 2017 v15.8 (currently 2015 U3)
25
26 ### Spirit V2 (2nd generation)
27
28 [Documentation](http://www.boost.org/doc/libs/develop/libs/spirit/doc/html/index.html)
29
30 The latest Long Term Support version of Spirit. A Swiss Army knife for data
31 manipulation on any kind of input.
32
33 Consists of:
34 - [Qi]: Parser framework.
35 - [Karma]: Generator framework.
36 - [Lex]: Lexical analyzer framework.
37
38 Runs on most C++03 compilers (GCC 4.1, Clang 3.0, VS 2005).
39
40 [Spirit V2]: http://www.boost.org/doc/libs/develop/libs/spirit/doc/html/index.html
41 [Qi]: http://www.boost.org/doc/libs/develop/libs/spirit/doc/html/spirit/qi.html
42 [Karma]: http://www.boost.org/doc/libs/develop/libs/spirit/doc/html/spirit/karma.html
43 [Lex]: http://www.boost.org/doc/libs/develop/libs/spirit/doc/html/spirit/lex.html
44
45 ### Spirit.Classic (1st generation)
46
47 [Documentation](http://www.boost.org/doc/libs/develop/libs/spirit/classic/index.html)
48
49 An elderling member of Spirit. It receives only limited maintanance, but
50 it is still used even inside Boost by [Boost.Serialization] and [Boost.Wave]
51 libraries. It also contains Phoenix V1.
52
53 Spririt.Classic should support even ancient compilers.
54
55 [Boost.Serialization]: http://boost.org/libs/serialization
56 [Boost.Wave]: http://boost.org/libs/wave
57
58 ## Brief History
59
60 Date | Boost | Commit | Event
61 ---------- | ----- | -------- | -----------------------------------------------
62 2014-03-18 | 1.56 | 8a353328 | Spirit.X3 is added
63 2013-12-14 | 1.56 | c0537c82 | Phoenix V2 is retired
64 2011-03-28 | 1.47 | 400a764d | [Phoenix V3] support added to Spirit V2
65 2009-04-30 | 1.41 | 5963a395 | [Spirit.Repository] is appeared
66 2008-04-13 | 1.36 | ffd0cc10 | Spirit V2 (Qi, Karma, Lex, Phoenix V2) is added
67 2006-08-23 | 1.35 | 2dc892b4 | Fusion V1 is retired
68 2003-01-31 | 1.30 | 81907916 | Spirit is the part of the Boost
69
70 [Phoenix V3]: http://boost.org/libs/phoenix
71 [Spirit.Repository]: http://www.boost.org/doc/libs/develop/libs/spirit/doc/html/spirit/repository.html