> Le 23 juin 2020 à 11:12, Hans Åberg <[email protected]> a écrit :
>
>
>> On 23 Jun 2020, at 07:47, Akim Demaille <[email protected]> wrote:
>>
>>> The question is if that helps, as it is the yytname_ that is translated
>>> according to the LC_CTYPE environment variable.
>>>
>>> This also introduces a locale dependency in the Bison compilation, so that
>>> the generated parser no longer is platform independent.
>>
>> Yes, that is indeed exactly what I meant: verbose is bad, and always was.
>> Use "detailed" instead.
>
> From what I can see by comparing the outputs, UTF-8 is still converted,
> though the writeout might be correct. With "verbose", I get in yytname_ an
> entry
> "\"\\342\\210\\216\""
> whereas with "detailed" in yy_sname
> "\342\210\216"
>
> An improvement if you are not supposed to read the parser source code.
>
> The other errors occurred because I report errors in the grammar actions as:
> throw syntax_error(@x, "Name " + $x.text + " already defined in this
> scope as "
> + yytnamerr_(yytname_[x0->first - 255]) + ".");
>
> So perhaps you made some API for that?
yysymbol_name(x0->first). If you need something else, you'll have to
read the doc about parse.error=custom.