
Hartmut Kaiser wrote:
See here (not complete but a starting point): http://tinyurl.com/lk8r43. And, FWIW, any further questions will be happily answered on the Spirit list.
I did some reading and have one observation that I'd like to share without subscribing to the Spirit list (I have limited time to read this list already). So sorry if I'm being off-topic. The docs say that the grammar should pass a reference to the starting rule to the base class constructor (qi::grammar specialization). But at this point the rule's constructor has not yet been called. What's more, the base class calls a method on the passed reference. So, at least, the docs are not correct when it suggest implementing the grammar that way. The best way around this is using the base-from-member idiom, which, IMO, complicates the code quite a bit and is not mentioned in the docs, as far as I've seen. However, I would suggest to solve this by providing a way to post-initialize the base class, for example by calling some init method, like STL streams do.