$ANTLR start synpred38_DRL6Expressions
779200
public final void synpred38_DRL6Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:634:7: ( LEFT_SQUARE RIGHT_SQUARE )
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:634:8: LEFT_SQUARE RIGHT_SQUARE
		{
		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred38_DRL6Expressions3665); if (state.failed) return;
		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred38_DRL6Expressions3667); if (state.failed) return;
		}

	}
1204593
public final void synpred33_DRL5Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:589:7: ( LEFT_SQUARE RIGHT_SQUARE )
		// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:589:8: LEFT_SQUARE RIGHT_SQUARE
		{
		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred33_DRL5Expressions3234); if (state.failed) return;
		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred33_DRL5Expressions3236); if (state.failed) return;
		}

	}
865610
public final void synpred11_InternalSARL_fragment() throws RecognitionException {   
        // InternalSARL.g:8562:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )
        // InternalSARL.g:8562:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' )
        {
        // InternalSARL.g:8562:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' )
        // InternalSARL.g:8563:7: '(' ( ( ruleJvmFormalParameter ) ) '='
        {
        match(input,49,FOLLOW_75); if (state.failed) return ;
        // InternalSARL.g:8564:7: ( ( ruleJvmFormalParameter ) )
        // InternalSARL.g:8565:8: ( ruleJvmFormalParameter )
        {
        // InternalSARL.g:8565:8: ( ruleJvmFormalParameter )
        // InternalSARL.g:8566:9: ruleJvmFormalParameter
        {
        pushFollow(FOLLOW_83);
        ruleJvmFormalParameter();

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

        }


        }

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

        }


        }
    }
1217347
public final void synpred28_InternalSARL_fragment() throws RecognitionException {   
        // InternalSARL.g:11744:5: ( ( () '#' '[' ) )
        // InternalSARL.g:11744:6: ( () '#' '[' )
        {
        // InternalSARL.g:11744:6: ( () '#' '[' )
        // InternalSARL.g:11745:6: () '#' '['
        {
        // InternalSARL.g:11745:6: ()
        // InternalSARL.g:11746:6: 
        {
        }

        match(input,106,FOLLOW_90); if (state.failed) return ;
        match(input,55,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
1032264
public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token kw=null;


        	enterRule();

        try {
            // InternalSARL.g:13223:2: ( (kw= '++' | kw= '--' ) )
            // InternalSARL.g:13224:2: (kw= '++' | kw= '--' )
            {
            // InternalSARL.g:13224:2: (kw= '++' | kw= '--' )
            int alt315=2;
            int LA315_0 = input.LA(1);

            if ( (LA315_0==125) ) {
                alt315=1;
            }
            else if ( (LA315_0==126) ) {
                alt315=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return current;}
                NoViableAltException nvae =
                    new NoViableAltException("", 315, 0, input);

                throw nvae;
            }
            switch (alt315) {
                case 1 :
                    // InternalSARL.g:13225:3: kw= '++'
                    {
                    kw=(Token)match(input,125,FOLLOW_2); if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      			current.merge(kw);
                      			newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0());
                      		
                    }

                    }
                    break;
                case 2 :
                    // InternalSARL.g:13231:3: kw= '--'
                    {
                    kw=(Token)match(input,126,FOLLOW_2); if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      			current.merge(kw);
                      			newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1());
                      		
                    }

                    }
                    break;

            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
723885
public final void synpred5_DRL6Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:92: ( LEFT_SQUARE RIGHT_SQUARE )
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:93: LEFT_SQUARE RIGHT_SQUARE
		{
		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred5_DRL6Expressions611); if (state.failed) return;
		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred5_DRL6Expressions613); if (state.failed) return;
		}

	}
34803
public final void synpred25_InternalSARL_fragment() throws RecognitionException {   
        // InternalSARL.g:11564:7: ( ( ( ( ruleValidID ) ) '=' ) )
        // InternalSARL.g:11564:8: ( ( ( ruleValidID ) ) '=' )
        {
        // InternalSARL.g:11564:8: ( ( ( ruleValidID ) ) '=' )
        // InternalSARL.g:11565:8: ( ( ruleValidID ) ) '='
        {
        // InternalSARL.g:11565:8: ( ( ruleValidID ) )
        // InternalSARL.g:11566:9: ( ruleValidID )
        {
        // InternalSARL.g:11566:9: ( ruleValidID )
        // InternalSARL.g:11567:10: ruleValidID
        {
        pushFollow(FOLLOW_83);
        ruleValidID();

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

        }


        }

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

        }


        }
    }
871550
public final void synpred212_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1133:9: ( '>' '>' '=' )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1133:9: '>' '>' '='
		{
		match(input,56,FOLLOW_56_in_synpred212_Java5003); if (state.failed) return;
		match(input,56,FOLLOW_56_in_synpred212_Java5005); if (state.failed) return;
		match(input,54,FOLLOW_54_in_synpred212_Java5007); if (state.failed) return;
		}

	}
954372
public final void synpred135_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:656:9: ( classDeclaration ( ';' )? )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:656:9: classDeclaration ( ';' )?
		{
		pushFollow(FOLLOW_classDeclaration_in_synpred135_Java2582);
		classDeclaration();
		state._fsp--;
		if (state.failed) return;
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:656:26: ( ';' )?
		int alt208=2;
		int LA208_0 = input.LA(1);
		if ( (LA208_0==52) ) {
			alt208=1;
		}
		switch (alt208) {
			case 1 :
				// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:656:26: ';'
				{
				match(input,52,FOLLOW_52_in_synpred135_Java2584); if (state.failed) return;
				}
				break;

		}

		}

	}
581860
public final void synpred172_Java_fragment() throws RecognitionException {
		Token y=null;
		ParserRuleReturnScope z =null;

		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:6: (y= 'else' ( 'if' parExpression )? z= statement )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:6: y= 'else' ( 'if' parExpression )? z= statement
		{
		y=(Token)match(input,78,FOLLOW_78_in_synpred172_Java3290); if (state.failed) return;
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:16: ( 'if' parExpression )?
		int alt215=2;
		int LA215_0 = input.LA(1);
		if ( (LA215_0==87) ) {
			int LA215_1 = input.LA(2);
			if ( (LA215_1==36) ) {
				int LA215_43 = input.LA(3);
				if ( (synpred171_Java()) ) {
					alt215=1;
				}
			}
		}
		switch (alt215) {
			case 1 :
				// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:17: 'if' parExpression
				{
				match(input,87,FOLLOW_87_in_synpred172_Java3294); if (state.failed) return;
				pushFollow(FOLLOW_parExpression_in_synpred172_Java3296);
				parExpression();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}

		pushFollow(FOLLOW_statement_in_synpred172_Java3327);
		z=statement();
		state._fsp--;
		if (state.failed) return;
		}

	}
480898
public final void synpred43_DRL6Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:699:9: ( DOT ID )
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:699:10: DOT ID
		{
		match(input,DOT,FOLLOW_DOT_in_synpred43_DRL6Expressions4279); if (state.failed) return;
		match(input,ID,FOLLOW_ID_in_synpred43_DRL6Expressions4281); if (state.failed) return;
		}

	}
515550
public final void synpred48_DRL6Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:741:7: ( GREATER GREATER )
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:741:8: GREATER GREATER
		{
		match(input,GREATER,FOLLOW_GREATER_in_synpred48_DRL6Expressions4697); if (state.failed) return;
		match(input,GREATER,FOLLOW_GREATER_in_synpred48_DRL6Expressions4699); if (state.failed) return;
		}

	}
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 ;

        }


        }
    }
1238991
public final void dummy() throws RecognitionException {
		try {
			// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:157:5: ( expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN ) )
			// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:157:7: expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN )
			{
			pushFollow(FOLLOW_expression_in_dummy711);
			expression();
			state._fsp--;
			if (state.failed) return;
			if ( input.LA(1)==EOF||input.LA(1)==AT||input.LA(1)==ID||input.LA(1)==RIGHT_PAREN||input.LA(1)==SEMICOLON ) {
				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;
			}
			}

		}

		catch (RecognitionException re) {
		    throw re;
		}

		finally {
			// do for sure before leaving
		}
	}
244164
public final void synpred139_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:658:9: ( enumDeclaration ( ';' )? )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:658:9: enumDeclaration ( ';' )?
		{
		pushFollow(FOLLOW_enumDeclaration_in_synpred139_Java2608);
		enumDeclaration();
		state._fsp--;
		if (state.failed) return;
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:658:25: ( ';' )?
		int alt210=2;
		int LA210_0 = input.LA(1);
		if ( (LA210_0==52) ) {
			alt210=1;
		}
		switch (alt210) {
			case 1 :
				// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:658:25: ';'
				{
				match(input,52,FOLLOW_52_in_synpred139_Java2610); if (state.failed) return;
				}
				break;

		}

		}

	}
138030
public final void synpred36_DRL5Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:652:9: ( DOT super_key )
		// src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:652:10: DOT super_key
		{
		match(input,DOT,FOLLOW_DOT_in_synpred36_DRL5Expressions3799); if (state.failed) return;
		pushFollow(FOLLOW_super_key_in_synpred36_DRL5Expressions3801);
		super_key();
		state._fsp--;
		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;
		}
		}

	}