Boost
Libraries
arrow_drop_down
Boost.Spirit

This Release

Joel de Guzman
Author
Hartmut Kaiser
Hartmut Kaiser
Author
Dan Nuffer
Author

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.

WARNING: C++14 compilers support will be dropped soon.

Spirit X3 in Boost 1.81 (scheduled to November 2022) will use C++17 features.

Supported compilers will be:

  • Clang 4 (currently 3.6)
  • GCC 7 (currently 5)
  • VS 2017 v15.8 (currently 2015 U3)

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

All Time

Joel de Guzman
Joel de Guzman
Contributor
Nikita Kniazev
Nikita Kniazev
Contributor
Ben Hanson
Contributor
Agustin Berge
Agustin Berge
Contributor
Mario Lang
Mario Lang
Contributor
Bryce Adelstein-Lelbach
Bryce Adelstein-Lelbach
Contributor
Tobias Schwinger
Tobias Schwinger
Contributor
João Abecasis
João Abecasis
Contributor
François Barel
François Barel
Contributor
octopus-prime
octopus-prime
Contributor
Martin Wille
Contributor
Thomas Bernard
Thomas Bernard
Contributor
Daniel James
Daniel James
Contributor
Beman Dawes
Beman Dawes
Contributor
Maxim Ivanov
Maxim Ivanov
Contributor
mxc-commons
mxc-commons
Contributor
Lee Clagett
Lee Clagett
Contributor
Andrey Semashev
Andrey Semashev
Contributor
Benjamin Roland Buch
Benjamin Roland Buch
Contributor
akumta
akumta
Contributor
nobody
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
Eric Niebler
Eric Niebler
Contributor
Stefan Slapeta
Contributor
John Maddock
John Maddock
Contributor
Romain Geissler
Romain Geissler
Contributor
Douglas Gregor
Douglas Gregor
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Ahmed Charles
Ahmed Charles
Contributor
Dan Marsden
Dan Marsden
Contributor
sehe
sehe
Contributor
Han Wang
Han Wang
Contributor
Michael Caisse
Michael Caisse
Contributor
Sohail Somani
Contributor
Marshall Clow
Marshall Clow
Contributor
Steven Watanabe
Steven Watanabe
Contributor
Stephen Kelly
Stephen Kelly
Contributor
Rene Rivera
Rene Rivera
Contributor
Marcel Raad
Marcel Raad
Contributor
Dave Abrahams
Dave Abrahams
Contributor
Christian Mazakas
Christian Mazakas
Contributor
Jeremiah Willcock
Jeremiah Willcock
Contributor
Jürgen Hunold
Jürgen Hunold
Contributor
Jamboree
Jamboree
Contributor
Christopher Schmidt
Contributor
Takeshi Abe
Takeshi Abe
Contributor
Markus Schöpflin
Contributor
Giovanni Bajo
Giovanni Bajo
Contributor
Thomas Heller
Thomas Heller
Contributor
Jeff Trull
Jeff Trull
Contributor
Michael A. Jackson
Michael A. Jackson
Contributor
Kohei Takahashi
Kohei Takahashi
Contributor
Théo DELRIEU
Théo DELRIEU
Contributor
Baptiste Wicht
Baptiste Wicht
Contributor
Adrian Vogelsgesang
Adrian Vogelsgesang
Contributor
Jan Kundrát
Jan Kundrát
Contributor
Agustín K-ballo Bergé
Agustín K-ballo Bergé
Contributor
Mikhail Strelnikov
Mikhail Strelnikov
Contributor
Alexander Grund
Alexander Grund
Contributor
Ed Catmur
Ed Catmur
Contributor
Sergiu Dotenco
Sergiu Dotenco
Contributor
Larry Joe Evans
Contributor
Tomoki Imai
Tomoki Imai
Contributor
Mikalai Ananenka
Mikalai Ananenka
Contributor
Aleksey Gurtovoy
Contributor
Kirit Sælensminde
Kirit Sælensminde
Contributor
MaksimMyasnikov
MaksimMyasnikov
Contributor
Boris Gubenko
Contributor
sdarwin
sdarwin
Contributor
Edward Diener
Edward Diener
Contributor
tobias-loew
tobias-loew
Contributor
drivehappy
drivehappy
Contributor
Denis Trüby
Denis Trüby
Contributor
Brian Wignall
Brian Wignall
Contributor
Andrzej Krzemieński
Andrzej Krzemieński
Contributor
Artem Tokmakov
Artem Tokmakov
Contributor
Yuri Khan
Contributor
Xeverous
Xeverous
Contributor
glacierx
glacierx
Contributor
Jerry Dy
Contributor
Tim Angus
Tim Angus
Contributor
Felipe Magno de Almeida
Felipe Magno de Almeida
Contributor
Dmitry Marakasov
Dmitry Marakasov
Contributor
Benjamin Buch
Benjamin Buch
Contributor
mike96
mike96
Contributor
Deokhwan Kim
Deokhwan Kim
Contributor
Marc Gallagher
Marc Gallagher
Contributor
Peter Dimov
Peter Dimov
Contributor
mdhooge
mdhooge
Contributor
David Tardon
David Tardon
Contributor
Andre Schroeder
Andre Schroeder
Contributor
Christian Andersen
Contributor
Henri Menke
Henri Menke
Contributor
Godmar Back
Godmar Back
Contributor
Patrick Welche
Patrick Welche
Contributor
ttan
ttan
Contributor
stefan301
stefan301
Contributor
Duzy Chan
Contributor
Kevin Puetz
Kevin Puetz
Contributor
Julianus Pfeuffer
Julianus Pfeuffer
Contributor
Ruben Van Boxem
Ruben Van Boxem
Contributor
Malcolm Parsons
Malcolm Parsons
Contributor
Calvin Cramer
Contributor
Rudolf Lovrenčić
Rudolf Lovrenčić
Contributor
UMU
UMU
Contributor
Roel Standaert
Roel Standaert
Contributor
Katsunori Wakita
Katsunori Wakita
Contributor
Yang Lin
Yang Lin
Contributor
Mateusz Łoskot
Mateusz Łoskot
Contributor
Laurent Stacul
Laurent Stacul
Contributor
Daniel Wallin
Contributor
David Olsen
David Olsen
Contributor
Lauri Nurmi
Lauri Nurmi
Contributor
Brian Kuhl
Brian Kuhl
Contributor
Anthony Williams
Contributor
Richard Thomson
Richard Thomson
Contributor
Giovanni Mascellani
Giovanni Mascellani
Contributor
Peder Holt
Peder Holt
Contributor
dodheim
dodheim
Contributor
Maks Naumov
Maks Naumov
Contributor
Yuriy Chernyshov
Yuriy Chernyshov
Contributor
Tinko Bartels
Tinko Bartels
Contributor
Ivan A. Melnikov
Ivan A. Melnikov
Contributor
Ruslan Baratov
Ruslan Baratov
Contributor
Nicolas Cornu
Contributor
EugeneZelenko
EugeneZelenko
Contributor
Jan-Grimo Sobez
Jan-Grimo Sobez
Contributor
Akira Takahashi
Akira Takahashi
Contributor
Andy Elvey
Contributor
Thomas Witt
Thomas Witt
Contributor
Victor A. Wagner Jr.
Contributor
theidexisted
theidexisted
Contributor
Lucas Camolezi
Contributor
Stephan Aiche
Stephan Aiche
Contributor
James E. King III
James E. King III
Contributor
James Widman
James Widman
Contributor
David Abdurachmanov
David Abdurachmanov
Contributor
Daniela Engert
Daniela Engert
Contributor
mgresens
Contributor
Jonathan Turkanis
Jonathan Turkanis
Contributor