Jan 12

Stephan Menzel wrote today on the Boost developer mailing list (see here):

Lacking boost.log we created or own logging class which is basically an as-simple-as-possible Syslog client. (I like to process and accumulate there). It used to be boost.format to assemble the messages which proved slower than log4cxx. With Spirit 2.1 in 1.41 however we changed to use a Karma message generator for this purpose which improved speed dramatically.

Thanks Stephan! We are happy to hear that!

If you have other success stories while using Spirit, we would love to hear about your experience. Just leave a comment below, we happily will write about it.

Tagged with:
Jan 02

The year 2009 came to an end. This is reason enough to have a look at the statistics collected for our new 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 since we created this new website only in November all statistics will be based on the hits collected over the last two month only.

The most popular post was Joel’s note about his plans to Build a Compiler. This post got the most attention in terms of comments as well. Many people seem to be interested in seeing how to utilize Spirit for more complex things.

The second most popular article was The Magical Power of Attributes – Primitives, which is a first in a series of three articles highlighting Spirit’s new capabilities related to attributes. I’m planning to continue to write this style of articles in the future, so their popularity is a big encouragement for me.

The third in the row of popular articles was the list of Who is using Spirit. As it turns out, Spirit gained quite some track record in the community over the last years. We are very proud of this impressive list and would like to thank everybody for their support! And, by the way, if you want to see your project in this list, just leave a comment there, we will happily add the information.

I’m very happy to see that the articles showing how to use Spirit for specific tasks draw a lot of attention as well. The next three in the row of popular articles are: Parsing a List of Key-Value Pairs Using Spirit.Qi, Creating Your Own Parser Component for Spirit.Qi, and Generate Escaped String Output Using Spirit.Karma. It seems that’s definitely something we will have to continue in the future.

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

Happy new year to you all!

Dec 21

In the previous two installments of this article series (The Magical Power of Attributes in Spirit – Primitives and The Magical Power of Attributes in Spirit – Operators) we talked about the attribute handling in different constructs utilized to build parsers and generators with Spirit. We will continue this walkthrough while touching on the remaining parts: directives and non-terminals

See full article here.

Tagged with:
Dec 15

How about some trivia…

So you know BNF (Backus-Naur Form or originally Backus Normal Form) and EBNF (Extended Backus-Naur Form). But did you know Panini’s grammar? It defined Sanskrit using a variety of formal techniques including recursion, transformations, and metarules. That was around 500 B.C.!

See this link. And this.

Dec 14

Each operator implements its own set of attribute propagation rules. These rules define the synthesized attributes of Qi expressions and the consumed attributes of Karma expressions. As we have seen already, it is very important to understand how the synthesized and consumed attributes are formed. Parsers and generators are most elegant and efficient if they are tightly integrated with your data structures, and learning to match those to the attributes is crucial to being able to apply Spirit for your own needs.

See full article here.

Tagged with:
Dec 11

Spirit V2.1 has been released only a couple of weeks ago. The first feedback we have gotten so far was overwhelming! Many people seem to quickly understand the concepts of the new library, being able to apply its power to their needs. We try to follow people’s comments and watch for reported problems. There is one theme recurring over and over again: attributes. This new (for Spirit) concept turns out to be the most difficult idea to understand, especially for somebody starting to work with the library.

See full article here.

Tagged with:
Dec 06

We are trying to get the best possible content to you by regularly publishing articles about different aspects of the new Spirit V2.1 library (released with Boost 1.41). Now we need your feedback! Sure, you already can leave comments, but we thought it might be cool to add the possibility to rate the quality of the articles. So just click the stars at the end of a post to tell us what you think. Moreover, we added thumbs up/down rating for comments. That’s an easy way for you to agree or disagree with other user’s opinions. Use it!

And, by the way, it would be helpful if you rated the older articles as well.

Nov 26

Spirit V2.1 Compiler Compatibility

By Hartmut Kaiser General Comments Off on Spirit V2.1 Compiler Compatibility

We started to collect the information about what compilers and platforms can be used to compile applications based on Spirit V2.1. Please add any compiler and platform you have been using successfully to compile your Spirit applications.

For a list of known compilers go here.

Tagged with:
Nov 24

On this new page we collect projects and products using Boost.Spirit. This list is not exhaustive as we certainly don’t know about every use. Spirit is a Boost library making it readily available to a large number of developers. If you want your product, in house use, or open source project to be included in this list, please send a note to the Spirit Mailing List or simply add a comment below and we’ll gladly add the info.

See the full list here.

Tagged with:
preload preload preload