
Hartmut Kaiser wrote:
So, please let me use this thread for a selfless plug :-P. Boost already has a versatile and powerful output formatting library: Spirit V2!
You might think, well Spirit used to be a parser library, not something usable for output formatting. But with the event of Spirit V2 this has changed. Spirit V2 now is not only a parser generator library anymore (Spirit Classic, aka V1.x, now called Spirit.Qi), but got extended to cover the domain of (output) generators as well (Spirit.Karma). Admittedly, the docs are not complete yet, but if you know how to build a parser using Spirit.Qi you shouldn't have problems using Spirit.Karma either.
This sounded so cool that I took a look at it...
Everything is in the SVN (and in Boost V1.37, BTW) and the examples should provide a fairly good starting point.
I first tried reading the docs, but karma is not yet covered. So I went to "boost_trunk\libs\spirit\example\karma" and typed "bjam --toolset=msvc", in order to play with the examples. bjam complained about line 11 of Jamfile ("exe actions : actions.cpp ;", "actions" seems to collide with a bjam keyword), so I removed this line and tried again. It took a surprising long time, and two files failed to compile (quick_start1.cpp and basic_facilities.cpp). I guess I should have used V1.37 instead of trunk, but I'm too lazy to check this. Instead I attached the error-output (errors.txt), because I guess it is something trivial, for somebody with enough experience :-) Regards Thomas