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.

Dec ’10 24

The year 2010 will soon come to an end. This is reason enough to look at the statistics collected for our website and to publish a list of the most popular posts and articles. I will use the number of hits as a metric of popularity. But first a couple of overall statistics.

  • To date, we have had 203,233 page views on this website, that’s an average of 569 a day. If you add the documentation, we saw an overall number of page views of 1,289,260, amounting to an daily average of 3,611! Simply amazing!
  • The most visitors came from the U.S.A. (53,237 visits, 313,566 page views), followed by Germany (27,391 visits, 154,759 page views), Russia (15,509 visits, 79,406 page views), France (15,436 visits, 89,528 page views), and United Kingdom (14,615 visits, 90,467 page views).
  • We deleted 15,147 spam comments, where the spam is growing at an ever increasing speed. Hah, the spam bots are getting to know Spirit‘s website! That’s actually good news.

Thanks to everybody for your support!

Overall, we published 33 new posts. Here are the most popular ones:

I’m very happy to see that the articles showing how to use Spirit for specific tasks draw a lot of attention. You might want to get back to those and re-read them (and all the others as well).

Last but not least, on behalf of Joel and myself, let me express our gratitude for all the support we received over the last year. We have a lot of ideas how to improve Spirit and we will continue to need your help in the future. Stay tuned!

Merry Christmas and a Happy New Year to you all!

Dec ’10 03

These are links to the slides and video of Michael Caisse’s BoostCon 2010 talk:

slides: <http://www.objectmodelingdesigns.com/boostcon10/>
video: <http://blip.tv/file/4143337 >

Enjoy!

Machinery, sensors, equipment, client/server communications, even file formats… Parsing and producing communication streams is everywhere you look. Often these tasks are simple or small enough to tempt ad-hoc solutions. The Spirit 2.1 library provides a model that is simple enough to tackle those “quick hacks” and easily scales for full-featured AST generation.

This session will explore real-life experiences with the parser and generator (Qi/Karma) portions of the Spirit library. As we look at various small and medium-sized parsers/generators employed in various products we will establish some “rules-of-thumb” and guidelines for tackling the parser/generator domain with Qi/Karma. The session will end with the implementation of a usable XML parser and a simplified XPath-like node extractor.

The session will include some lecture and a lot of tutorial. Attendees will walk away with the knowledge and tools to begin parsing and generating with Spirit Qi/Karma.

—Michael Caisse

Tagged with:
preload preload preload