"John Maddock"
The formal review for the Spirit Parser Framework begins today, and runs until the end of Sunday 20th October. [...]
I regret that I don't have the time or the experience to write a lengthy and in-depth review. However, I feel it is important to offer the perspective of a casual user with no particularly deep parsing experience. I vote to accept the library. This vote is based on a past evaluation of the library (around version 1.2, I believe). The main reasons for inclusion are: simplicity, ease-of-use, and documentation for small-scale projects. While I did not use the micro- parsers extensively, I did use the library in a notably simple context: to parse an XML-like language. While there is example code to more elegantly parse even full XML, it is a testament to the library that I was able to hack together an adequate parser in just a few days, from scratch. The fact that the documentation was more than adequate for this task, and that the library itself is easy enough to use for such small projects makes it immediately useful, in my opinion. The resulting source code was easy to read, understand, and maintain. Yet the library also made the parser extensible in many ways, and I found it was possible to design it incrementally, although a larger project would be well-advised to design it properly ahead of time. So, at the very least, I can testify that Spirit is more than capable of providing an elegant, easy-to-use parser for simple tasks without having to learn a complicated parser generator and perform multiple phases to build an actual parser. The fact that it can parse arbitrarily complex grammars gives it a distinct advantage over tokenizers or even regex parsers (though those also have their place). And yet, it is almost as simple to use. Dave