All Projects → boostorg → Spirit

boostorg / Spirit

Boost.org spirit module

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Spirit

ppc
A parser combinator library for PHP
Stars: ✭ 34 (-86.72%)
Mutual labels:  parser-combinators
contract
Contract programming for C++
Stars: ✭ 28 (-89.06%)
Mutual labels:  boost
chumsky
A parser library for humans with powerful error recovery.
Stars: ✭ 740 (+189.06%)
Mutual labels:  parser-combinators
PigletC
A toy C-like language compiler for PigletVM
Stars: ✭ 51 (-80.08%)
Mutual labels:  parser-combinators
parser-combinators
Lightweight package providing commonly useful parser combinators
Stars: ✭ 41 (-83.98%)
Mutual labels:  parser-combinators
bh
R package providing Boost Header files
Stars: ✭ 73 (-71.48%)
Mutual labels:  boost
CDT-plusplus
Causal Dynamical Triangulations in C++ using CGAL
Stars: ✭ 49 (-80.86%)
Mutual labels:  boost
site
boostjpサイトのMarkdownソース
Stars: ✭ 34 (-86.72%)
Mutual labels:  boost
galileo
Scala Math - Numerical (Matlab-like) and Symbolic (Mathematica-like) tool
Stars: ✭ 62 (-75.78%)
Mutual labels:  parser-combinators
microparsec
⭐ A performant Nim parsing library built for humans.
Stars: ✭ 26 (-89.84%)
Mutual labels:  parser-combinators
eraserface
dynamic polymorphism without inheritance
Stars: ✭ 31 (-87.89%)
Mutual labels:  boost
Paraphrase
Multi-core suitable Forth-like language
Stars: ✭ 27 (-89.45%)
Mutual labels:  boost
parsita
The easiest way to parse text in Python
Stars: ✭ 73 (-71.48%)
Mutual labels:  parser-combinators
asio-extensions
Additional functionality built on top of (Boost.)Asio
Stars: ✭ 16 (-93.75%)
Mutual labels:  boost
design-patterns-for-parser-combinators
A Really Cool Calculator written in Haskell... or is it?
Stars: ✭ 29 (-88.67%)
Mutual labels:  parser-combinators
static string
A fixed capacity dynamically sized string
Stars: ✭ 46 (-82.03%)
Mutual labels:  boost
RocketXPlugin
🔥🔥 android 端编译加速插件🚀 自动识别未改动 module 并在编译流程中替换为 aar ,只编译改动模块,加速 Android apk 的编译速度。
Stars: ✭ 408 (+59.38%)
Mutual labels:  boost
Vanilla Rtb
Real Time Bidding (RTB) - Demand Side Platform framework
Stars: ✭ 257 (+0.39%)
Mutual labels:  boost
eigenpy
Bindings between Numpy and Eigen using Boost.Python
Stars: ✭ 88 (-65.62%)
Mutual labels:  boost
openfluid
OpenFLUID framework and applications
Stars: ✭ 19 (-92.58%)
Mutual labels:  boost

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].