From: Maxim Yegorushkin on
On 13/11/09 20:42, SeanW wrote:
> On Nov 10, 4:26 pm, Richard Smith<rich...(a)> 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


[ See for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: shoosh on
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 for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]