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.

Mar ’14 01

Cool, so it seems Spirit is also useful for blind musicians.

BMC — Braille Music Compiler

BMC translates between braille music code and visual music notation. It uses Boost.Spirit to parse braille music code into an AST which is later enhanced with various algorithms to resolve ambiguities inherent to braille music code. It can currently convert to LilyPond source format, which can later be translated to a PDF and MIDI representation by LilyPond. BMC aims to become an universal translator between tactile and visual music notation, eventually covering both directions. We are looking for developers with a background in music notation who might be interested to contribute to this unique free software project which aims to bridge the gap between blind and sighted musicians.

Sep ’13 30

Here’s something cool: SpiritKaleidoscope is a rewrite of the LLVM-Kaleidoscope tutorial using boost::spirit parser. The author is targeting on making it a complete step-by-step tutorial … still work in progress, though. Check it out: SpiritKaleidoscope

Jul ’10 23

Thomas Heller has just completed the Phoenix Proto port. Another successful GSOC project!

I’ve been mentoring for GSOC for a couple of years now. This one is the best (the Fusion 0x project of last year’s GSOC was also highly successful, but it was Hartmut Kaiser who mentored that). Thomas is an amazing student! A++, if there’s such a thing.

Continue reading »

Jun ’10 23

We have a new page enumerating the best practices for using Spirit. Right now, there’s only one entry (update: there may be more by the time you read this), but as time goes by, we will be filling this page with more. If you have a short Spirit tip to share, this is the page. Add a comment and we’ll incorporate them.

See the “Best Practices” page here.

Jun ’10 18

Spirit-shirt frontAwesomeness…

Michael Caisse of Object Modeling Designs designed this cool Spirit inspired T-shirt. I love it so much. If you like Spirit as much as we do, you can get one from Michael here: http://objectmodelingdesigns.com/swag.html

Nov ’09 20

A PDF build of the documentation for Boost-1.41 (from John Maddock) is now available here:

Thank you, John!

I extracted and uploaded the Spirit 2.1 documentation here: http://boost-spirit.com/dl_docs/spirit2_1.pdf

Have fun!

P.S. Don’t forget to visit this site every once in a while. We are posting tips, tutorials and addendum. Check out the Articles section.

Tagged with:
Nov ’09 01

Boost 1.41 release is coming vey soon, along with it, the much awaited Spirit version 2.1. It’s about time we have a major website makeover. Check out the new site for Spirit 2.1 (in beta).

  • Finally settled on WordPress. It does the job wonderfully, with minimum fuss, and it has great support.
  • The new docs are uploaded. The search box should be available once Google starts to index the new site (I already submitted a sitemap) for the Google Custom Search.
preload preload preload