MCPcopy Create free account
hub / github.com/boostorg/spirit

github.com/boostorg/spirit @boost-1.91.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release boost-1.91.0 ↗ · + Follow
12,189 symbols 20,280 edges 1,850 files 952 documented · 8% updated 2mo ago★ 43244 open issues

Browse by type

Functions 6,232 Types & classes 5,957
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

This repository is no longer actively maintained. Spirit.X4 is the successor and is currently under development.

All components predating X4 currently lack an active maintainer. They are feature-frozen and will accept security patches only.

If you wish to maintain a legacy version, please contact the Boost developers' mailing list.

For background information, see:

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

Core symbols most depended-on inside this repo

Shape

Class 5,896
Method 4,532
Function 1,700
Enum 61

Languages

C++100%

Modules by API surface

include/boost/spirit/home/classic/phoenix/operators.hpp269 symbols
include/boost/spirit/home/x3/char/unicode.hpp225 symbols
include/boost/spirit/home/support/utree/utree_traits.hpp176 symbols
include/boost/spirit/home/support/attributes.hpp142 symbols
include/boost/spirit/home/classic/phoenix/binders.hpp122 symbols
include/boost/spirit/home/classic/tree/common.hpp107 symbols
include/boost/spirit/repository/home/qi/directive/kwd.hpp100 symbols
include/boost/spirit/home/classic/iterator/multi_pass.hpp99 symbols
include/boost/spirit/home/classic/phoenix/tuple_helpers.hpp88 symbols
include/boost/spirit/home/classic/phoenix/casts.hpp87 symbols
include/boost/spirit/home/support/iterators/detail/combine_policies.hpp80 symbols
include/boost/spirit/home/karma/detail/output_iterator.hpp79 symbols

For agents

$ claude mcp add spirit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page