If You're Using Version 0.7 or Earlier
Upgrade!
Or, in order for my assertions to work, you need to add this
code to each of your grammars. In your lexer, change
@members
to @lexer::members
. If your
lexer and parser are in the same file, have both a
@members
and @lexer::members
section.
@members { protected void mismatch(IntStream input, int ttype, BitSet follow) throws RecognitionException { throw new MismatchedTokenException(ttype, input); } public void recoverFromMismatchedSet( IntStream input, RecognitionException e, BitSet follow) throws RecognitionException { throw e; } } @rulecatch { catch (RecognitionException e) { throw e; } }
It's ugly and dumb code. Depending on what version of ANTLR itself you're using, you may have to tweak some of the return types.