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