> On 2 Jul 2019, at 07:08, Akim Demaille <[email protected]> wrote:
> 
> Hi Hans,

Hello,

>> Le 18 juin 2019 à 18:09, Hans Åberg <[email protected]> a écrit :
>> 
>> As 8-bit character tokens are not useful with UTF-8, I have replaced it with:
>> %token token_error "token error"
>> 
>> . { return my_parser::token::token_error; }
>> 
>> Please let me know if there is a better way to generate a parser error.
> 
> I personally prefer to throw an exception.
> 
>  .   throw parser::syntax_error(loc, "invalid character: "s + yytext);

I changed to that too, writing to make it look as though thrown by the parser:
. { throw my_parser::syntax_error(yylloc, "syntax error, unexpected my_parser 
token error.");

When the match is a part of an UTF-8 byte, it is not useful to report what it 
is.

The token-error token may still be needed, though, as I store token values on 
the symbol table.



Reply via email to