Boost logo

Boost :

Subject: Re: [boost] [metaparse] Review period starts May 25th and ends June 7th - ongoing
From: Abel Sinkovics (abel_at_[hidden])
Date: 2015-06-09 02:22:41


Hi Roland,

On 2015-06-09 07:03, Roland Bock wrote:
>> What might be done based on your portable static assertion approach
>> is adding a static method to these error classes representing the
>> compilation errors to "static assert themselves" with better error
>> messages. My concern about this is loosing the details of the error
>> (position in the parsed text, the range boundaries and the index in
>> case of an out of range error, etc). I'll check if "static assert
>> yourself" can be done without loosing that information.
> I had similar concerns at the beginning. It turned out (at least in my
> case) that the "lost information"
>
> * might be relevant for the developer of the library
> * was just hiding the relevant things from the user
>
> Whether the same is true for Metaparse, I don't know.
In case of Metaparse the information lost there is important for the
users of the parsers. It has the answers to questions like:
- where (in the DSL script) is the error coming from? (column, maybe
line number)
- information that is a template argument of a parser combinator. For
example: when the parser finds a different character than what was
expected in the DSL script, what was the expected character? eg. when
the parser is parsing "()" or "[]" pairs and is waiting for the closing
element, etc. In those cases the expected characters are template
arguments, not hard-coded values of the parsers (and parser combinators)
the library offers. And they should be part of the error report.

Regards,
   Ábel


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