public final void rule__OpMulti__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:2242:1: ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) )
            int alt11=4;
            switch ( input.LA(1) ) {
            case 36:
                {
                alt11=1;
                }
                break;
            case 37:
                {
                alt11=2;
                }
                break;
            case 38:
                {
                alt11=3;
                }
                break;
            case 39:
                {
                alt11=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }

            switch (alt11) {
                case 1 :
                    // InternalXbase.g:2243:2: ( '*' )
                    {
                    // InternalXbase.g:2243:2: ( '*' )
                    // InternalXbase.g:2244:3: '*'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); 
                    }
                    match(input,36,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // InternalXbase.g:2249:2: ( '**' )
                    {
                    // InternalXbase.g:2249:2: ( '**' )
                    // InternalXbase.g:2250:3: '**'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); 
                    }
                    match(input,37,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // InternalXbase.g:2255:2: ( '/' )
                    {
                    // InternalXbase.g:2255:2: ( '/' )
                    // InternalXbase.g:2256:3: '/'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); 
                    }
                    match(input,38,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // InternalXbase.g:2261:2: ( '%' )
                    {
                    // InternalXbase.g:2261:2: ( '%' )
                    // InternalXbase.g:2262:3: '%'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); 
                    }
                    match(input,39,FOLLOW_2); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
public final void rule__OpMulti__Alternatives ( ) throws RecognitionException { int stackSize = keepStackSize ( ) ; try { int alt11 = 4 ; switch ( input . LA ( 1 ) ) { case 36 : { alt11 = 1 ; } break ; case 37 : { alt11 = 2 ; } break ; case 38 : { alt11 = 3 ; } break ; case 39 : { alt11 = 4 ; } break ; default : if ( state . backtracking > 0 ) { state . failed = true ; return ; } NoViableAltException nvae = new NoViableAltException ( "" , 11 , 0 , input ) ; throw nvae ; } switch ( alt11 ) { case 1 : { { if ( state . backtracking == 0 ) { before ( grammarAccess . getOpMultiAccess ( ) . getAsteriskKeyword_0 ( ) ) ; } match ( input , 36 , FOLLOW_2 ) ; if ( state . failed ) return ; if ( state . backtracking == 0 ) { after ( grammarAccess . getOpMultiAccess ( ) . getAsteriskKeyword_0 ( ) ) ; } } } break ; case 2 : { { if ( state . backtracking == 0 ) { before ( grammarAccess . getOpMultiAccess ( ) . getAsteriskAsteriskKeyword_1 ( ) ) ; } match ( input , 37 , FOLLOW_2 ) ; if ( state . failed ) return ; if ( state . backtracking == 0 ) { after ( grammarAccess . getOpMultiAccess ( ) . getAsteriskAsteriskKeyword_1 ( ) ) ; } } } break ; case 3 : { { if ( state . backtracking == 0 ) { before ( grammarAccess . getOpMultiAccess ( ) . getSolidusKeyword_2 ( ) ) ; } match ( input , 38 , FOLLOW_2 ) ; if ( state . failed ) return ; if ( state . backtracking == 0 ) { after ( grammarAccess . getOpMultiAccess ( ) . getSolidusKeyword_2 ( ) ) ; } } } break ; case 4 : { { if ( state . backtracking == 0 ) { before ( grammarAccess . getOpMultiAccess ( ) . getPercentSignKeyword_3 ( ) ) ; } match ( input , 39 , FOLLOW_2 ) ; if ( state . failed ) return ; if ( state . backtracking == 0 ) { after ( grammarAccess . getOpMultiAccess ( ) . getPercentSignKeyword_3 ( ) ) ; } } } break ; } } catch ( RecognitionException re ) { reportError ( re ) ; recover ( input , re ) ; } finally { restoreStackSize ( stackSize ) ; } return ; }
InternalXbase.g:2238:1: rule__OpMulti__Alternatives : ( ( '*' ) | ( '**' ) | ( '/' ) | ( '%' ) );