|
Boost : |
Subject: Re: [boost] [metaparse] review
From: Abel Sinkovics (abel_at_[hidden])
Date: 2015-06-03 15:44:48
Hi Andrzej,
Thank you for the review.
On 2015-06-03 17:07, Andrzej Krzemienski wrote:
> I see use cases for each of these components separately. Parsing templates
> with characters, is painstaking but fairly easy, so I may want to do it
> myself, provided I have a way to convert a string literal to a template. I
> was trying to hack it for a long while, without success. There is quite a
> bit of trickery put into it. It is really ingenious.
To parse very simple languages, it usually does not worth the effort to
use a parser generator library. But as the language gets more
complicated, tools like a parser generator library seem to offer more
and more.
Also note that a lot of effort is gone into producing useful error
messages for invalid inputs (when your parser finds errors in the parsed
text) in Metaparse. (See section "11. Dealing with invalid input" in the
tutorial). There are cases (like missing closing parens) where the
library can provide good error messages (eg. where the unclosed opening
paren is) without the parser author having to put extra effort into it.
> On the other hand, when processing my raw user-defined literals, I may need
> your parsers, but I care not about BOOST_MS_STRING() (or how you want to
> call it).
The library works with any character container that supports mpl::front
and mpl::pop_front. So you can either instantiate the string<> template
with your characters or can use your own container.
>> - What is your evaluation of the documentation?
> Well, after having read it, I understood what to expect of it, so in that
> sense, it is adequate. But there is something about it that makes it
> "heavy". Maybe it is just the problem domain, I do not know.
What do you mean by "heavy"?
Regards,
Ábel
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk