From: Maxim Yegorushkin on 15 Nov 2009 04:37 On 13/11/09 20:42, SeanW wrote: > On Nov 10, 4:26 pm, Richard Smith<rich...(a)ex-parrot.com> wrote: >> So, what is the opinion here? Is it worth pursuing Boost.Spirit? > > I think Spirit is very slick, but decided against > using it when I considered what would happen if > I got into trouble. It's one thing to see a 100KB > error message and try to sort it into one of a few > categories as Jeff Flinn says above, but what if > you've got to actually stick your hand in that toilet > with a debugger when you have some problem in the > field? I couldn't bear the thought, so went with > one of the old-school parser generators. Been there. Debugging Spirit parsing is fairly trivial: define BOOST_SPIRIT_DEBUG macro. http://www.boost.org/doc/libs/1_40_0/libs/spirit/classic/doc/debugging.html -- Max [ See http://www.gotw.ca/resources/clcm.htm for info about ] [ comp.lang.c++.moderated. First time posters: Do this! ]
From: shoosh on 22 Nov 2009 18:29 I have had some experience using Spirit for production code. Looking back, I might have made a different decision mainly due to two very painful points: - Compile times are a real issue. It got to the point where I changed the structure of my code specifically for the purpose of isolating the dependencies of the cpp which contain the spirit code in order to avoid changes which force a recompile. The worst I've seen in my code is a 10 minute compile for a single file and this is really unbearable when you're debugging. - Impossible to decipher compile errors - When you're making a mistake somewhere it can often be impossible to find the exact place where you made the mistake since the error massage points to some template instantiation deep inside the Spirit code. The chain of "as referenced from" of templates can span 20 hops until you reach your own code. If you want any fighting change to figure out what's going on getting inside Spirit code is inevitable and is often not pretty. -- [ See http://www.gotw.ca/resources/clcm.htm for info about ] [ comp.lang.c++.moderated. First time posters: Do this! ]
First
|
Prev
|
Pages: 1 2 Prev: Function template specialization Next: Seeking recommendation on free or cheap C++ compiler |