public final void rule__AbstractRule__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:1473:1: ( ( ruleParserRule ) | ( ruleTerminalRule ) | ( ruleEnumRule ) )
            int alt1=3;
            alt1 = dfa1.predict(input);
            switch (alt1) {
                case 1 :
                    // InternalXtext.g:1474:2: ( ruleParserRule )
                    {
                    // InternalXtext.g:1474:2: ( ruleParserRule )
                    // InternalXtext.g:1475:3: ruleParserRule
                    {
                     before(grammarAccess.getAbstractRuleAccess().getParserRuleParserRuleCall_0()); 
                    pushFollow(FollowSets000.FOLLOW_2);
                    ruleParserRule();

                    state._fsp--;

                     after(grammarAccess.getAbstractRuleAccess().getParserRuleParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // InternalXtext.g:1480:2: ( ruleTerminalRule )
                    {
                    // InternalXtext.g:1480:2: ( ruleTerminalRule )
                    // InternalXtext.g:1481:3: ruleTerminalRule
                    {
                     before(grammarAccess.getAbstractRuleAccess().getTerminalRuleParserRuleCall_1()); 
                    pushFollow(FollowSets000.FOLLOW_2);
                    ruleTerminalRule();

                    state._fsp--;

                     after(grammarAccess.getAbstractRuleAccess().getTerminalRuleParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // InternalXtext.g:1486:2: ( ruleEnumRule )
                    {
                    // InternalXtext.g:1486:2: ( ruleEnumRule )
                    // InternalXtext.g:1487:3: ruleEnumRule
                    {
                     before(grammarAccess.getAbstractRuleAccess().getEnumRuleParserRuleCall_2()); 
                    pushFollow(FollowSets000.FOLLOW_2);
                    ruleEnumRule();

                    state._fsp--;

                     after(grammarAccess.getAbstractRuleAccess().getEnumRuleParserRuleCall_2()); 

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
public final void rule__AbstractRule__Alternatives ( ) throws RecognitionException { int stackSize = keepStackSize ( ) ; try { int alt1 = 3 ; alt1 = dfa1 . predict ( input ) ; switch ( alt1 ) { case 1 : { { before ( grammarAccess . getAbstractRuleAccess ( ) . getParserRuleParserRuleCall_0 ( ) ) ; pushFollow ( FollowSets000 . FOLLOW_2 ) ; ruleParserRule ( ) ; state . _fsp -- ; after ( grammarAccess . getAbstractRuleAccess ( ) . getParserRuleParserRuleCall_0 ( ) ) ; } } break ; case 2 : { { before ( grammarAccess . getAbstractRuleAccess ( ) . getTerminalRuleParserRuleCall_1 ( ) ) ; pushFollow ( FollowSets000 . FOLLOW_2 ) ; ruleTerminalRule ( ) ; state . _fsp -- ; after ( grammarAccess . getAbstractRuleAccess ( ) . getTerminalRuleParserRuleCall_1 ( ) ) ; } } break ; case 3 : { { before ( grammarAccess . getAbstractRuleAccess ( ) . getEnumRuleParserRuleCall_2 ( ) ) ; pushFollow ( FollowSets000 . FOLLOW_2 ) ; ruleEnumRule ( ) ; state . _fsp -- ; after ( grammarAccess . getAbstractRuleAccess ( ) . getEnumRuleParserRuleCall_2 ( ) ) ; } } break ; } } catch ( RecognitionException re ) { reportError ( re ) ; recover ( input , re ) ; } finally { restoreStackSize ( stackSize ) ; } return ; }
InternalXtext.g:1469:1: rule__AbstractRule__Alternatives : ( ( ruleParserRule ) | ( ruleTerminalRule ) | ( ruleEnumRule ) );