InternalXbaseWithAnnotations.g:67:1: ruleXAnnotation : ( ( rule__XAnnotation__Group__0 ) ) ;
541693
public final void ruleXAnnotation() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:71:2: ( ( ( rule__XAnnotation__Group__0 ) ) )
            // InternalXbaseWithAnnotations.g:72:2: ( ( rule__XAnnotation__Group__0 ) )
            {
            // InternalXbaseWithAnnotations.g:72:2: ( ( rule__XAnnotation__Group__0 ) )
            // InternalXbaseWithAnnotations.g:73:3: ( rule__XAnnotation__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAnnotationAccess().getGroup()); 
            }
            // InternalXbaseWithAnnotations.g:74:3: ( rule__XAnnotation__Group__0 )
            // InternalXbaseWithAnnotations.g:74:4: rule__XAnnotation__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XAnnotation__Group__0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXAnnotationAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
937317
public final void ruleXImportDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtype.g:396:2: ( ( ( rule__XImportDeclaration__Group__0 ) ) )
            // InternalXtype.g:397:2: ( ( rule__XImportDeclaration__Group__0 ) )
            {
            // InternalXtype.g:397:2: ( ( rule__XImportDeclaration__Group__0 ) )
            // InternalXtype.g:398:3: ( rule__XImportDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXImportDeclarationAccess().getGroup()); 
            }
            // InternalXtype.g:399:3: ( rule__XImportDeclaration__Group__0 )
            // InternalXtype.g:399:4: rule__XImportDeclaration__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XImportDeclaration__Group__0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXImportDeclarationAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
278184
public final void entryRuleXAdditiveExpression() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:534:1: ( ruleXAdditiveExpression EOF )
            // InternalXbaseWithAnnotations.g:535:1: ruleXAdditiveExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAdditiveExpressionRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleXAdditiveExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
680025
public final void synpred20_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:2127:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
        // InternalXbaseWithAnnotations.g:2127:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
        {
        // InternalXbaseWithAnnotations.g:2127:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
        // InternalXbaseWithAnnotations.g:2128:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
        {
        // InternalXbaseWithAnnotations.g:2128:7: ()
        // InternalXbaseWithAnnotations.g:2129:7: 
        {
        }

        // InternalXbaseWithAnnotations.g:2130:7: ( '.' | ( ( '::' ) ) )
        int alt123=2;
        int LA123_0 = input.LA(1);

        if ( (LA123_0==52) ) {
            alt123=1;
        }
        else if ( (LA123_0==53) ) {
            alt123=2;
        }
        else {
            if (state.backtracking>0) {state.failed=true; return ;}
            NoViableAltException nvae =
                new NoViableAltException("", 123, 0, input);

            throw nvae;
        }
        switch (alt123) {
            case 1 :
                // InternalXbaseWithAnnotations.g:2131:8: '.'
                {
                match(input,52,FOLLOW_32); if (state.failed) return ;

                }
                break;
            case 2 :
                // InternalXbaseWithAnnotations.g:2133:8: ( ( '::' ) )
                {
                // InternalXbaseWithAnnotations.g:2133:8: ( ( '::' ) )
                // InternalXbaseWithAnnotations.g:2134:9: ( '::' )
                {
                // InternalXbaseWithAnnotations.g:2134:9: ( '::' )
                // InternalXbaseWithAnnotations.g:2135:10: '::'
                {
                match(input,53,FOLLOW_32); if (state.failed) return ;

                }


                }


                }
                break;

        }

        // InternalXbaseWithAnnotations.g:2139:7: ( ( ruleFeatureCallID ) )
        // InternalXbaseWithAnnotations.g:2140:8: ( ruleFeatureCallID )
        {
        // InternalXbaseWithAnnotations.g:2140:8: ( ruleFeatureCallID )
        // InternalXbaseWithAnnotations.g:2141:9: ruleFeatureCallID
        {
        pushFollow(FOLLOW_8);
        ruleFeatureCallID();

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

        }


        }

        pushFollow(FOLLOW_2);
        ruleOpSingleAssign();

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

        }


        }
    }
119865
public final void synpred39_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:2414:2: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) )
        // InternalXbase.g:2414:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
        {
        // InternalXbase.g:2414:2: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) )
        // InternalXbase.g:2415:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); 
        }
        // InternalXbase.g:2416:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 )
        // InternalXbase.g:2416:4: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0
        {
        pushFollow(FOLLOW_2);
        rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0();

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

        }


        }


        }
    }
108980
public final void synpred26_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:2983:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
        // InternalXbase.g:2983:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
        {
        // InternalXbase.g:2983:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
        // InternalXbase.g:2984:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
        {
        match(input,49,FOLLOW_13); if (state.failed) return ;
        // InternalXbase.g:2985:7: ( ( ruleJvmFormalParameter ) )
        // InternalXbase.g:2986:8: ( ruleJvmFormalParameter )
        {
        // InternalXbase.g:2986:8: ( ruleJvmFormalParameter )
        // InternalXbase.g:2987:9: ruleJvmFormalParameter
        {
        pushFollow(FOLLOW_47);
        ruleJvmFormalParameter();

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

        }


        }

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

        }


        }
    }
479037
public final void synpred65_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:2690:2: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) )
        // InternalXbase.g:2690:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
        {
        // InternalXbase.g:2690:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
        // InternalXbase.g:2691:3: ( rule__XVariableDeclaration__Group_2_0__0 )
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); 
        }
        // InternalXbase.g:2692:3: ( rule__XVariableDeclaration__Group_2_0__0 )
        // InternalXbase.g:2692:4: rule__XVariableDeclaration__Group_2_0__0
        {
        pushFollow(FOLLOW_2);
        rule__XVariableDeclaration__Group_2_0__0();

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

        }


        }


        }
    }
1279951
public final void synpred17_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:1881:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbase.g:1881:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbase.g:1881:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbase.g:1882:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbase.g:1882:9: ()
        // InternalXbase.g:1883:9: 
        {
        }

        // InternalXbase.g:1884:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt114=2;
        int LA114_0 = input.LA(1);

        if ( (LA114_0==RULE_ID||LA114_0==32||LA114_0==49) ) {
            alt114=1;
        }
        switch (alt114) {
            case 1 :
                // InternalXbase.g:1885:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbase.g:1885:10: ( ( ruleJvmFormalParameter ) )
                // InternalXbase.g:1886:11: ( ruleJvmFormalParameter )
                {
                // InternalXbase.g:1886:11: ( ruleJvmFormalParameter )
                // InternalXbase.g:1887:12: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_39);
                ruleJvmFormalParameter();

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

                }


                }

                // InternalXbase.g:1890:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop113:
                do {
                    int alt113=2;
                    int LA113_0 = input.LA(1);

                    if ( (LA113_0==48) ) {
                        alt113=1;
                    }


                    switch (alt113) {
                	case 1 :
                	    // InternalXbase.g:1891:11: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,48,FOLLOW_13); if (state.failed) return ;
                	    // InternalXbase.g:1892:11: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbase.g:1893:12: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbase.g:1893:12: ( ruleJvmFormalParameter )
                	    // InternalXbase.g:1894:13: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_39);
                	    ruleJvmFormalParameter();

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

                	    }


                	    }


                	    }
                	    break;

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


                }
                break;

        }

        // InternalXbase.g:1899:9: ( ( '|' ) )
        // InternalXbase.g:1900:10: ( '|' )
        {
        // InternalXbase.g:1900:10: ( '|' )
        // InternalXbase.g:1901:11: '|'
        {
        match(input,56,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
1355224
public final void ruleXCatchClause() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1521:2: ( ( ( rule__XCatchClause__Group__0 ) ) )
            // InternalXbase.g:1522:2: ( ( rule__XCatchClause__Group__0 ) )
            {
            // InternalXbase.g:1522:2: ( ( rule__XCatchClause__Group__0 ) )
            // InternalXbase.g:1523:3: ( rule__XCatchClause__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXCatchClauseAccess().getGroup()); 
            }
            // InternalXbase.g:1524:3: ( rule__XCatchClause__Group__0 )
            // InternalXbase.g:1524:4: rule__XCatchClause__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XCatchClause__Group__0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXCatchClauseAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
915851
public final void synpred37_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:4699:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbaseWithAnnotations.g:4699:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbaseWithAnnotations.g:4699:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbaseWithAnnotations.g:4700:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbaseWithAnnotations.g:4700:7: ()
        // InternalXbaseWithAnnotations.g:4701:7: 
        {
        }

        // InternalXbaseWithAnnotations.g:4702:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt132=2;
        int LA132_0 = input.LA(1);

        if ( (LA132_0==RULE_ID||LA132_0==14||LA132_0==39) ) {
            alt132=1;
        }
        switch (alt132) {
            case 1 :
                // InternalXbaseWithAnnotations.g:4703:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbaseWithAnnotations.g:4703:8: ( ( ruleJvmFormalParameter ) )
                // InternalXbaseWithAnnotations.g:4704:9: ( ruleJvmFormalParameter )
                {
                // InternalXbaseWithAnnotations.g:4704:9: ( ruleJvmFormalParameter )
                // InternalXbaseWithAnnotations.g:4705:10: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_43);
                ruleJvmFormalParameter();

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

                }


                }

                // InternalXbaseWithAnnotations.g:4708:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop131:
                do {
                    int alt131=2;
                    int LA131_0 = input.LA(1);

                    if ( (LA131_0==15) ) {
                        alt131=1;
                    }


                    switch (alt131) {
                	case 1 :
                	    // InternalXbaseWithAnnotations.g:4709:9: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,15,FOLLOW_22); if (state.failed) return ;
                	    // InternalXbaseWithAnnotations.g:4710:9: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbaseWithAnnotations.g:4711:10: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbaseWithAnnotations.g:4711:10: ( ruleJvmFormalParameter )
                	    // InternalXbaseWithAnnotations.g:4712:11: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_43);
                	    ruleJvmFormalParameter();

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

                	    }


                	    }


                	    }
                	    break;

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


                }
                break;

        }

        // InternalXbaseWithAnnotations.g:4717:7: ( ( '|' ) )
        // InternalXbaseWithAnnotations.g:4718:8: ( '|' )
        {
        // InternalXbaseWithAnnotations.g:4718:8: ( '|' )
        // InternalXbaseWithAnnotations.g:4719:9: '|'
        {
        match(input,57,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
170468
public final void ruleXNullLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1321:2: ( ( ( rule__XNullLiteral__Group__0 ) ) )
            // InternalXbase.g:1322:2: ( ( rule__XNullLiteral__Group__0 ) )
            {
            // InternalXbase.g:1322:2: ( ( rule__XNullLiteral__Group__0 ) )
            // InternalXbase.g:1323:3: ( rule__XNullLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXNullLiteralAccess().getGroup()); 
            }
            // InternalXbase.g:1324:3: ( rule__XNullLiteral__Group__0 )
            // InternalXbase.g:1324:4: rule__XNullLiteral__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XNullLiteral__Group__0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXNullLiteralAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
988225
public final EObject ruleXAnnotationOrExpression() throws RecognitionException {
        EObject current = null;

        EObject this_XAnnotation_0 = null;

        EObject this_XExpression_1 = null;



        	enterRule();

        try {
            // InternalSARL.g:11988:2: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) )
            // InternalSARL.g:11989:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
            {
            // InternalSARL.g:11989:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
            int alt297=2;
            int LA297_0 = input.LA(1);

            if ( (LA297_0==105) ) {
                alt297=1;
            }
            else if ( ((LA297_0>=RULE_STRING && LA297_0<=RULE_RICH_TEXT_START)||(LA297_0>=RULE_HEX && LA297_0<=RULE_DECIMAL)||LA297_0==25||(LA297_0>=28 && LA297_0<=29)||LA297_0==36||(LA297_0>=39 && LA297_0<=40)||(LA297_0>=42 && LA297_0<=45)||(LA297_0>=48 && LA297_0<=49)||LA297_0==51||LA297_0==55||(LA297_0>=60 && LA297_0<=63)||(LA297_0>=67 && LA297_0<=68)||(LA297_0>=73 && LA297_0<=75)||(LA297_0>=78 && LA297_0<=96)||LA297_0==106||LA297_0==129||(LA297_0>=131 && LA297_0<=140)) ) {
                alt297=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return current;}
                NoViableAltException nvae =
                    new NoViableAltException("", 297, 0, input);

                throw nvae;
            }
            switch (alt297) {
                case 1 :
                    // InternalSARL.g:11990:3: this_XAnnotation_0= ruleXAnnotation
                    {
                    if ( state.backtracking==0 ) {

                      			newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0());
                      		
                    }
                    pushFollow(FOLLOW_2);
                    this_XAnnotation_0=ruleXAnnotation();

                    state._fsp--;
                    if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      			current = this_XAnnotation_0;
                      			afterParserOrEnumRuleCall();
                      		
                    }

                    }
                    break;
                case 2 :
                    // InternalSARL.g:11999:3: this_XExpression_1= ruleXExpression
                    {
                    if ( state.backtracking==0 ) {

                      			newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1());
                      		
                    }
                    pushFollow(FOLLOW_2);
                    this_XExpression_1=ruleXExpression();

                    state._fsp--;
                    if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      			current = this_XExpression_1;
                      			afterParserOrEnumRuleCall();
                      		
                    }

                    }
                    break;

            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
352002
public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:1671:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // InternalXbaseWithAnnotations.g:1672:2: ( ( rule__QualifiedName__Group__0 ) )
            {
            // InternalXbaseWithAnnotations.g:1672:2: ( ( rule__QualifiedName__Group__0 ) )
            // InternalXbaseWithAnnotations.g:1673:3: ( rule__QualifiedName__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            }
            // InternalXbaseWithAnnotations.g:1674:3: ( rule__QualifiedName__Group__0 )
            // InternalXbaseWithAnnotations.g:1674:4: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__QualifiedName__Group__0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getQualifiedNameAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
542484
public final void ruleXDoWhileExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1046:2: ( ( ( rule__XDoWhileExpression__Group__0 ) ) )
            // InternalXbase.g:1047:2: ( ( rule__XDoWhileExpression__Group__0 ) )
            {
            // InternalXbase.g:1047:2: ( ( rule__XDoWhileExpression__Group__0 ) )
            // InternalXbase.g:1048:3: ( rule__XDoWhileExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); 
            }
            // InternalXbase.g:1049:3: ( rule__XDoWhileExpression__Group__0 )
            // InternalXbase.g:1049:4: rule__XDoWhileExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XDoWhileExpression__Group__0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
683960
public final void ruleGroup() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:408:2: ( ( ( rule__Group__Group__0 ) ) )
            // InternalXtext.g:409:2: ( ( rule__Group__Group__0 ) )
            {
            // InternalXtext.g:409:2: ( ( rule__Group__Group__0 ) )
            // InternalXtext.g:410:3: ( rule__Group__Group__0 )
            {
             before(grammarAccess.getGroupAccess().getGroup()); 
            // InternalXtext.g:411:3: ( rule__Group__Group__0 )
            // InternalXtext.g:411:4: rule__Group__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__Group__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGroupAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
737178
public final void entryRuleXUnaryOperation() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:634:1: ( ruleXUnaryOperation EOF )
            // InternalXbaseWithAnnotations.g:635:1: ruleXUnaryOperation EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXUnaryOperationRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleXUnaryOperation();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        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 ;

        }


        }
    }