$ANTLR start synpred65_InternalXbaseWithAnnotations
160515
public final void synpred65_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:2815:2: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) )
        // InternalXbaseWithAnnotations.g:2815:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
        {
        // InternalXbaseWithAnnotations.g:2815:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
        // InternalXbaseWithAnnotations.g:2816:3: ( rule__XSwitchExpression__Group_2_0__0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); 
        }
        // InternalXbaseWithAnnotations.g:2817:3: ( rule__XSwitchExpression__Group_2_0__0 )
        // InternalXbaseWithAnnotations.g:2817:4: rule__XSwitchExpression__Group_2_0__0
        {
        pushFollow(FOLLOW_2);
        rule__XSwitchExpression__Group_2_0__0();

        state._fsp--;
        if (state.failed) return ;

        }


        }


        }
    }
1110811
public final void entryRuleXNullLiteral() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:1434:1: ( ruleXNullLiteral EOF )
            // InternalXbaseWithAnnotations.g:1435:1: ruleXNullLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXNullLiteralRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleXNullLiteral();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getXNullLiteralRule()); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
223496
public final void synpred42_InternalSARL_fragment() throws RecognitionException {   
        // InternalSARL.g:13363:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
        // InternalSARL.g:13363:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
        {
        // InternalSARL.g:13363:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
        // InternalSARL.g:13364:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
        {
        // InternalSARL.g:13364:7: ()
        // InternalSARL.g:13365:7: 
        {
        }

        // InternalSARL.g:13366:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
        int alt394=3;
        switch ( input.LA(1) ) {
        case 77:
            {
            alt394=1;
            }
            break;
        case 128:
            {
            alt394=2;
            }
            break;
        case 127:
            {
            alt394=3;
            }
            break;
        default:
            if (state.backtracking>0) {state.failed=true; return ;}
            NoViableAltException nvae =
                new NoViableAltException("", 394, 0, input);

            throw nvae;
        }

        switch (alt394) {
            case 1 :
                // InternalSARL.g:13367:8: '.'
                {
                match(input,77,FOLLOW_2); if (state.failed) return ;

                }
                break;
            case 2 :
                // InternalSARL.g:13369:8: ( ( '?.' ) )
                {
                // InternalSARL.g:13369:8: ( ( '?.' ) )
                // InternalSARL.g:13370:9: ( '?.' )
                {
                // InternalSARL.g:13370:9: ( '?.' )
                // InternalSARL.g:13371:10: '?.'
                {
                match(input,128,FOLLOW_2); if (state.failed) return ;

                }


                }


                }
                break;
            case 3 :
                // InternalSARL.g:13375:8: ( ( '::' ) )
                {
                // InternalSARL.g:13375:8: ( ( '::' ) )
                // InternalSARL.g:13376:9: ( '::' )
                {
                // InternalSARL.g:13376:9: ( '::' )
                // InternalSARL.g:13377:10: '::'
                {
                match(input,127,FOLLOW_2); if (state.failed) return ;

                }


                }


                }
                break;

        }


        }


        }
    }
748993
public final void synpred12_InternalSARL_fragment() throws RecognitionException {   
        // InternalSARL.g:8629:6: ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )
        // InternalSARL.g:8629:7: ( ( ( ruleJvmFormalParameter ) ) '=' )
        {
        // InternalSARL.g:8629:7: ( ( ( ruleJvmFormalParameter ) ) '=' )
        // InternalSARL.g:8630:7: ( ( ruleJvmFormalParameter ) ) '='
        {
        // InternalSARL.g:8630:7: ( ( ruleJvmFormalParameter ) )
        // InternalSARL.g:8631:8: ( ruleJvmFormalParameter )
        {
        // InternalSARL.g:8631:8: ( ruleJvmFormalParameter )
        // InternalSARL.g:8632:9: ruleJvmFormalParameter
        {
        pushFollow(FOLLOW_83);
        ruleJvmFormalParameter();

        state._fsp--;
        if (state.failed) return ;

        }


        }

        match(input,47,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
31389
public final void synpred2_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:121:7: ( ( ( ( ruleValidID ) ) '=' ) )
        // InternalXbaseWithAnnotations.g:121:8: ( ( ( ruleValidID ) ) '=' )
        {
        // InternalXbaseWithAnnotations.g:121:8: ( ( ( ruleValidID ) ) '=' )
        // InternalXbaseWithAnnotations.g:122:8: ( ( ruleValidID ) ) '='
        {
        // InternalXbaseWithAnnotations.g:122:8: ( ( ruleValidID ) )
        // InternalXbaseWithAnnotations.g:123:9: ( ruleValidID )
        {
        // InternalXbaseWithAnnotations.g:123:9: ( ruleValidID )
        // InternalXbaseWithAnnotations.g:124:10: ruleValidID
        {
        pushFollow(FOLLOW_8);
        ruleValidID();

        state._fsp--;
        if (state.failed) return ;

        }


        }

        match(input,17,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
1083986
public final void synpred191_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1032:9: ( 'case' enumConstantName ':' )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1032:9: 'case' enumConstantName ':'
		{
		match(input,68,FOLLOW_68_in_synpred191_Java4464); if (state.failed) return;
		pushFollow(FOLLOW_enumConstantName_in_synpred191_Java4466);
		enumConstantName();
		state._fsp--;
		if (state.failed) return;
		match(input,51,FOLLOW_51_in_synpred191_Java4468); if (state.failed) return;
		}

	}
234171
public final void synpred72_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:2792:2: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) )
        // InternalXbase.g:2792:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
        {
        // InternalXbase.g:2792:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
        // InternalXbase.g:2793:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); 
        }
        // InternalXbase.g:2794:3: ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 )
        // InternalXbase.g:2794:4: rule__XConstructorCall__ArgumentsAssignment_4_1_0
        {
        pushFollow(FOLLOW_2);
        rule__XConstructorCall__ArgumentsAssignment_4_1_0();

        state._fsp--;
        if (state.failed) return ;

        }


        }


        }
    }
43906
public final void synpred14_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:1627:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
        // InternalXbase.g:1627:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
        {
        // InternalXbase.g:1627:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
        // InternalXbase.g:1628:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
        {
        // InternalXbase.g:1628:7: ()
        // InternalXbase.g:1629:7: 
        {
        }

        // InternalXbase.g:1630:7: ( '.' | ( ( '::' ) ) )
        int alt111=2;
        int LA111_0 = input.LA(1);

        if ( (LA111_0==45) ) {
            alt111=1;
        }
        else if ( (LA111_0==46) ) {
            alt111=2;
        }
        else {
            if (state.backtracking>0) {state.failed=true; return ;}
            NoViableAltException nvae =
                new NoViableAltException("", 111, 0, input);

            throw nvae;
        }
        switch (alt111) {
            case 1 :
                // InternalXbase.g:1631:8: '.'
                {
                match(input,45,FOLLOW_23); if (state.failed) return ;

                }
                break;
            case 2 :
                // InternalXbase.g:1633:8: ( ( '::' ) )
                {
                // InternalXbase.g:1633:8: ( ( '::' ) )
                // InternalXbase.g:1634:9: ( '::' )
                {
                // InternalXbase.g:1634:9: ( '::' )
                // InternalXbase.g:1635:10: '::'
                {
                match(input,46,FOLLOW_23); if (state.failed) return ;

                }


                }


                }
                break;

        }

        // InternalXbase.g:1639:7: ( ( ruleFeatureCallID ) )
        // InternalXbase.g:1640:8: ( ruleFeatureCallID )
        {
        // InternalXbase.g:1640:8: ( ruleFeatureCallID )
        // InternalXbase.g:1641:9: ruleFeatureCallID
        {
        pushFollow(FOLLOW_3);
        ruleFeatureCallID();

        state._fsp--;
        if (state.failed) return ;

        }


        }

        pushFollow(FOLLOW_2);
        ruleOpSingleAssign();

        state._fsp--;
        if (state.failed) return ;

        }


        }
    }
448266
public final void synpred35_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:4532:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbase.g:4532:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbase.g:4532:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbase.g:4533:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbase.g:4533:7: ()
        // InternalXbase.g:4534:7: 
        {
        }

        // InternalXbase.g:4535:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt122=2;
        int LA122_0 = input.LA(1);

        if ( (LA122_0==RULE_ID||LA122_0==32||LA122_0==49) ) {
            alt122=1;
        }
        switch (alt122) {
            case 1 :
                // InternalXbase.g:4536:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbase.g:4536:8: ( ( ruleJvmFormalParameter ) )
                // InternalXbase.g:4537:9: ( ruleJvmFormalParameter )
                {
                // InternalXbase.g:4537:9: ( ruleJvmFormalParameter )
                // InternalXbase.g:4538:10: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_39);
                ruleJvmFormalParameter();

                state._fsp--;
                if (state.failed) return ;

                }


                }

                // InternalXbase.g:4541:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop121:
                do {
                    int alt121=2;
                    int LA121_0 = input.LA(1);

                    if ( (LA121_0==48) ) {
                        alt121=1;
                    }


                    switch (alt121) {
                	case 1 :
                	    // InternalXbase.g:4542:9: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,48,FOLLOW_13); if (state.failed) return ;
                	    // InternalXbase.g:4543:9: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbase.g:4544:10: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbase.g:4544:10: ( ruleJvmFormalParameter )
                	    // InternalXbase.g:4545:11: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_39);
                	    ruleJvmFormalParameter();

                	    state._fsp--;
                	    if (state.failed) return ;

                	    }


                	    }


                	    }
                	    break;

                	default :
                	    break loop121;
                    }
                } while (true);


                }
                break;

        }

        // InternalXbase.g:4550:7: ( ( '|' ) )
        // InternalXbase.g:4551:8: ( '|' )
        {
        // InternalXbase.g:4551:8: ( '|' )
        // InternalXbase.g:4552:9: '|'
        {
        match(input,56,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
593823
public final void synpred8_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:1005:6: ( ( '>' '>' ) )
        // InternalXbase.g:1005:7: ( '>' '>' )
        {
        // InternalXbase.g:1005:7: ( '>' '>' )
        // InternalXbase.g:1006:7: '>' '>'
        {
        match(input,20,FOLLOW_16); if (state.failed) return ;
        match(input,20,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
279074
public final void entryRuleJvmTypeReference() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:1717:1: ( ruleJvmTypeReference EOF )
            // InternalXbaseWithAnnotations.g:1718:1: ruleJvmTypeReference EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getJvmTypeReferenceRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleJvmTypeReference();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getJvmTypeReferenceRule()); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
681918
public void mTokens() throws RecognitionException {
        // /home/victor/srec/core/src/main/antlr/srec.g:1:8: ( T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | BOOLEAN | NULL | ID | NUMBER | STRING | WS | NEWLINE | COMMENT )
        int alt12=15;
        alt12 = dfa12.predict(input);
        switch (alt12) {
            case 1 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:10: T__28
                {
                mT__28(); 

                }
                break;
            case 2 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:16: T__29
                {
                mT__29(); 

                }
                break;
            case 3 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:22: T__30
                {
                mT__30(); 

                }
                break;
            case 4 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:28: T__31
                {
                mT__31(); 

                }
                break;
            case 5 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:34: T__32
                {
                mT__32(); 

                }
                break;
            case 6 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:40: T__33
                {
                mT__33(); 

                }
                break;
            case 7 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:46: T__34
                {
                mT__34(); 

                }
                break;
            case 8 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:52: BOOLEAN
                {
                mBOOLEAN(); 

                }
                break;
            case 9 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:60: NULL
                {
                mNULL(); 

                }
                break;
            case 10 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:65: ID
                {
                mID(); 

                }
                break;
            case 11 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:68: NUMBER
                {
                mNUMBER(); 

                }
                break;
            case 12 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:75: STRING
                {
                mSTRING(); 

                }
                break;
            case 13 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:82: WS
                {
                mWS(); 

                }
                break;
            case 14 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:85: NEWLINE
                {
                mNEWLINE(); 

                }
                break;
            case 15 :
                // /home/victor/srec/core/src/main/antlr/srec.g:1:93: COMMENT
                {
                mCOMMENT(); 

                }
                break;

        }

    }
589150
public final void synpred23_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:2515:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbase.g:2515:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbase.g:2515:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbase.g:2516:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbase.g:2516:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt116=2;
        int LA116_0 = input.LA(1);

        if ( (LA116_0==RULE_ID||LA116_0==32||LA116_0==49) ) {
            alt116=1;
        }
        switch (alt116) {
            case 1 :
                // InternalXbase.g:2517:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbase.g:2517:6: ( ( ruleJvmFormalParameter ) )
                // InternalXbase.g:2518:7: ( ruleJvmFormalParameter )
                {
                // InternalXbase.g:2518:7: ( ruleJvmFormalParameter )
                // InternalXbase.g:2519:8: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_39);
                ruleJvmFormalParameter();

                state._fsp--;
                if (state.failed) return ;

                }


                }

                // InternalXbase.g:2522:6: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop115:
                do {
                    int alt115=2;
                    int LA115_0 = input.LA(1);

                    if ( (LA115_0==48) ) {
                        alt115=1;
                    }


                    switch (alt115) {
                	case 1 :
                	    // InternalXbase.g:2523:7: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,48,FOLLOW_13); if (state.failed) return ;
                	    // InternalXbase.g:2524:7: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbase.g:2525:8: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbase.g:2525:8: ( ruleJvmFormalParameter )
                	    // InternalXbase.g:2526:9: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_39);
                	    ruleJvmFormalParameter();

                	    state._fsp--;
                	    if (state.failed) return ;

                	    }


                	    }


                	    }
                	    break;

                	default :
                	    break loop115;
                    }
                } while (true);


                }
                break;

        }

        // InternalXbase.g:2531:5: ( ( '|' ) )
        // InternalXbase.g:2532:6: ( '|' )
        {
        // InternalXbase.g:2532:6: ( '|' )
        // InternalXbase.g:2533:7: '|'
        {
        match(input,56,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
87100
public final void synpred16_DRL5Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:517:10: ( INCR | DECR )
		// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:
		{
		if ( input.LA(1)==DECR||input.LA(1)==INCR ) {
			input.consume();
			state.errorRecovery=false;
			state.failed=false;
		}
		else {
			if (state.backtracking>0) {state.failed=true; return;}
			MismatchedSetException mse = new MismatchedSetException(null,input);
			throw mse;
		}
		}

	}
194283
public final void synpred14_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:1505:6: ( ( '>' '>' ) )
        // InternalXbaseWithAnnotations.g:1505:7: ( '>' '>' )
        {
        // InternalXbaseWithAnnotations.g:1505:7: ( '>' '>' )
        // InternalXbaseWithAnnotations.g:1506:7: '>' '>'
        {
        match(input,27,FOLLOW_25); if (state.failed) return ;
        match(input,27,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
273311
public final void synpred9_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:1040:6: ( ( '<' '<' ) )
        // InternalXbase.g:1040:7: ( '<' '<' )
        {
        // InternalXbase.g:1040:7: ( '<' '<' )
        // InternalXbase.g:1041:7: '<' '<'
        {
        match(input,19,FOLLOW_6); if (state.failed) return ;
        match(input,19,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
146889
public final void synpred5_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:301:5: ( ( () '#' '[' ) )
        // InternalXbaseWithAnnotations.g:301:6: ( () '#' '[' )
        {
        // InternalXbaseWithAnnotations.g:301:6: ( () '#' '[' )
        // InternalXbaseWithAnnotations.g:302:6: () '#' '['
        {
        // InternalXbaseWithAnnotations.g:302:6: ()
        // InternalXbaseWithAnnotations.g:303:6: 
        {
        }

        match(input,18,FOLLOW_10); if (state.failed) return ;
        match(input,19,FOLLOW_2); if (state.failed) return ;

        }


        }
    }