OK, so I suppose my question is quite self-explanatory.
I'm currently building a parser in Bison, and I want to make error reporting somewhat better.
Currently, I've set %define parse.error verbose
(which actually gives messages like syntax error, unexpected ***********************, expecting ********************
.
All I want is to add some more information in the error messages, e.g. line number (in input/file/etc)
My current yyerror
(well nothing... unusual... lol) :
void yyerror(const char *str)
{
fprintf(stderr,"x1B[35mInterpreter : x1B[37m%s
",str);
}
P.S.
- I've gone through the latest Bison documentation, but I seem quite lost...
- I've also had a look into the
%locations
directive, which most likely is very close to what I need - however, I still found no complete working example and I'm not sure how this is to be used.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…