Boost logo

Boost :

Subject: Re: [boost] Library for configuration file parsing
From: Joel de Guzman (joel_at_[hidden])
Date: 2010-11-30 18:46:23


On 12/1/2010 12:54 AM, Marsh Ray wrote:
> On 11/30/2010 01:10 AM, Joel de Guzman wrote:
>> On 11/30/2010 10:09 AM, Marsh Ray wrote:
>>>
>>> All I was trying to say was that I could really use a no-fuss,
>>> bulletproof JSON facility
>>> and Spirit seemed like overkill for this simple format.
>>
>> I'd like to convince you otherwise. Spirit is meant to be for such
>> simple to moderate parsing tasks such as parsing complex numbers
>> CSV, arithmetic expressions and definitely JSON.
>
> OK, I'm up for that. I have a "hard real time deadline" today but am willing to give it
> another go afterwards.
>
> Perhaps I should email you off-list once I get the project open again in the next day or
> two? Or if others say they're interested we could take it to the -users list.

The Spirit general list is the best forum for this. There are lots of
very helpful folks there. I'm but one of 'em. There's a good chance that
some folks have had the same problems that you faced. See:

   http://boost-spirit.com/home/feedback-and-support/

>> The stigma of Spirit (and any TMP heavy libraries for that matter)
>> stems from 1) Outrageous error messages and 2) Long compile times.
>> Possibly third would be the steep learning curve, but that may very
>> well be connected to 1 -It's a pain to get past the error messages,
>> I know; one misstep and you'll get tons of undecipherable errors.
>
> I know. FWIW, I felt like I could get through the template errors reasonably well.
>
>> That, and the perception of complexity (the black art, if you will),
>> makes it hard for Spirit to be accepted into the mainstream. In
>> reality, beneath the TMP (some say gimmickry), Spirit is actually
>> quite simple.
>
> Hmmmm... I'm keeping an open mind. :-)
>
>> What I wish to do is to dispel that image of
>> complexity and make it simple (again as it was in the beginning).
>> That is our new mission.
>
> I made a generative template system for a lightweight key-record data persistence system
> here at work. The record types are usually updated by someone else...who doesn't even know
> much C++! So I know it can be done.

The thing is, with declarative systems, as soon as you get it working,
(and get past the error messages) it just works!

Regards,

-- 
Joel de Guzman
http://www.boostpro.com
http://spirit.sf.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk