Boost
boost
arrow_drop_down
Join
Boost.Spirit

Maintainers & Contributors

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

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