public final ANTLRv3TreeFilter.notTerminal_return notTerminal() throws RecognitionException {
        ANTLRv3TreeFilter.notTerminal_return retval = new ANTLRv3TreeFilter.notTerminal_return();
        retval.start = input.LT(1);

        try {
            // back-end/koopa/trees/antlr/filter/generator/ANTLRv3TreeFilter.g:396:2: ( CHAR_LITERAL | TOKEN_REF | STRING_LITERAL )
            // back-end/koopa/trees/antlr/filter/generator/ANTLRv3TreeFilter.g:
            {
            if ( (input.LA(1)>=TOKEN_REF && input.LA(1)<=CHAR_LITERAL) ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return retval;
    }