I’ve been a fan of Spirit ever since it was first released. But trying to use it in any sort of nonobvious way always makes me feel not quite smart enough. The documentation is what I’d call a Good Start; maybe it’s even 70% of the way there. It is well-written; but it is written for someone as smart as its author or nearly so. I for one could use a little more exposition and a lot more examples.
But slowly, I think I am Getting It. After rereading documentation several times and searching the mailing list archives, I think I have attained my goal of making the semantic actions for my URI parser pluggable as a template parameter.
I wrote the URI parser for OpenVRML. But it is an implementation detail there, which makes it a bit difficult to test in that context. So I have broken it out into its own package to facilitate testing. That was really prompted by this claim that the URI parser leaks memory.