Welcome to 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 is part of Boost Libraries, a peer-reviewed, open collaborative development effort.

May ’15 16

C++Now 2015

C++ Now 2015. Today is the official release of Spirit X3, aka Spirit 3.0.0. X3 will be in beta, coexisting side by side with Qi, Karma, Lex and Classic.

If you are a Qi user, the best place to start are the examples, especially rexpr and x3 fun.

Remember to use a compiler with c++14 capabilities:

  • clang 3.4 or greater
  • gcc 4.9 or greater


Docs: X3 Documentation

Slides: Using X3 Slides

Spirit X3 Source

GitHub: git@github.com:boostorg/spirit.git

Use the develop branch.

Zip of develop: develop.zip

You will find boilerplate (getting started) projects in: example/x3/rexpr
There are two directories.

  • rexpr_min – contains a single file to start things off.
  • rexpr_full – contains a structure similar to the one in the presentation complete with tests.

X3 Fun

GitHub: git@github.com:cierelabs/x3_fun.git


preload preload preload