public final void notSet() throws RecognitionException {
        try {
            // back-end/koopa/trees/antlr/filter/generator/ANTLRv3Tree.g:163:2: ( ^( '~' notTerminal ) | ^( '~' block ) )
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==89) ) {
                int LA32_1 = input.LA(2);

                if ( (LA32_1==DOWN) ) {
                    int LA32_2 = input.LA(3);

                    if ( (LA32_2==BLOCK) ) {
                        alt32=2;
                    }
                    else if ( ((LA32_2>=TOKEN_REF && LA32_2<=CHAR_LITERAL)) ) {
                        alt32=1;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 32, 2, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 32, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 32, 0, input);

                throw nvae;
            }
            switch (alt32) {
                case 1 :
                    // back-end/koopa/trees/antlr/filter/generator/ANTLRv3Tree.g:163:4: ^( '~' notTerminal )
                    {
                    match(input,89,FOLLOW_89_in_notSet805); 

                    match(input, Token.DOWN, null); 
                    pushFollow(FOLLOW_notTerminal_in_notSet807);
                    notTerminal();

                    state._fsp--;


                    match(input, Token.UP, null); 

                    }
                    break;
                case 2 :
                    // back-end/koopa/trees/antlr/filter/generator/ANTLRv3Tree.g:164:4: ^( '~' block )
                    {
                    match(input,89,FOLLOW_89_in_notSet814); 

                    match(input, Token.DOWN, null); 
                    pushFollow(FOLLOW_block_in_notSet816);
                    block();

                    state._fsp--;


                    match(input, Token.UP, null); 

                    }
                    break;

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