On Thu, 17 Sep 2009, Akim Demaille wrote: > +** Use syntax_error from the scanner? > +This would provide a means to raise syntax error from function called > +from the scanner. Actually, there is no good solution to report a > +lexical error in general. Usually they are kept at the scanner level > +only, ignoring the guilty token. But that might not be the best bet, > +since we don't benefit from the syntactic error recovery. > + > +We still have the possibility to return an invalid token number, which > +does the trick. But then the error message from the parser is poor > +(something like "unexpected $undefined").
To fix that, use %token. > Since the scanner probably > +already reported the error, we should directly enter error-recovery, > +without reporting the error message (i.e., YYERROR's semantics). Maybe Bison can define a special token that the scanner can return to induce a YYERROR? That seems simpler than a function call.
