InternalXbase.g:1292:1: ruleXBooleanLiteral : ( ( rule__XBooleanLiteral__Group__0 ) ) ;
771413
public final void ruleXBooleanLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1296:2: ( ( ( rule__XBooleanLiteral__Group__0 ) ) )
            // InternalXbase.g:1297:2: ( ( rule__XBooleanLiteral__Group__0 ) )
            {
            // InternalXbase.g:1297:2: ( ( rule__XBooleanLiteral__Group__0 ) )
            // InternalXbase.g:1298:3: ( rule__XBooleanLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXBooleanLiteralAccess().getGroup()); 
            }
            // InternalXbase.g:1299:3: ( rule__XBooleanLiteral__Group__0 )
            // InternalXbase.g:1299:4: rule__XBooleanLiteral__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XBooleanLiteral__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
442437
public final void ruleXPrimaryExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:671:2: ( ( ( rule__XPrimaryExpression__Alternatives ) ) )
            // InternalXbase.g:672:2: ( ( rule__XPrimaryExpression__Alternatives ) )
            {
            // InternalXbase.g:672:2: ( ( rule__XPrimaryExpression__Alternatives ) )
            // InternalXbase.g:673:3: ( rule__XPrimaryExpression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); 
            }
            // InternalXbase.g:674:3: ( rule__XPrimaryExpression__Alternatives )
            // InternalXbase.g:674:4: rule__XPrimaryExpression__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__XPrimaryExpression__Alternatives();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1064126
public final void entryRuleXLiteral() throws RecognitionException {
        try {
            // InternalXbase.g:684:1: ( ruleXLiteral EOF )
            // InternalXbase.g:685:1: ruleXLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXLiteralRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleXLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
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 ;
    }
1172882
public final void ruleUntilToken() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:1308:2: ( ( ( rule__UntilToken__Group__0 ) ) )
            // InternalXtext.g:1309:2: ( ( rule__UntilToken__Group__0 ) )
            {
            // InternalXtext.g:1309:2: ( ( rule__UntilToken__Group__0 ) )
            // InternalXtext.g:1310:3: ( rule__UntilToken__Group__0 )
            {
             before(grammarAccess.getUntilTokenAccess().getGroup()); 
            // InternalXtext.g:1311:3: ( rule__UntilToken__Group__0 )
            // InternalXtext.g:1311:4: rule__UntilToken__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__UntilToken__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getUntilTokenAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
562336
public final EObject ruleXSetLiteral() throws RecognitionException {
        EObject current = null;

        Token otherlv_1=null;
        Token otherlv_2=null;
        Token otherlv_4=null;
        Token otherlv_6=null;
        EObject lv_elements_3_0 = null;

        EObject lv_elements_5_0 = null;



        	enterRule();

        try {
            // InternalXbaseWithAnnotations.g:2823:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
            // InternalXbaseWithAnnotations.g:2824:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
            {
            // InternalXbaseWithAnnotations.g:2824:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
            // InternalXbaseWithAnnotations.g:2825:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
            {
            // InternalXbaseWithAnnotations.g:2825:3: ()
            // InternalXbaseWithAnnotations.g:2826:4: 
            {
            if ( state.backtracking==0 ) {

              				current = forceCreateModelElement(
              					grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(),
              					current);
              			
            }

            }

            otherlv_1=(Token)match(input,18,FOLLOW_39); if (state.failed) return current;
            if ( state.backtracking==0 ) {

              			newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
              		
            }
            otherlv_2=(Token)match(input,55,FOLLOW_40); if (state.failed) return current;
            if ( state.backtracking==0 ) {

              			newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
              		
            }
            // InternalXbaseWithAnnotations.g:2840:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
            int alt49=2;
            int LA49_0 = input.LA(1);

            if ( ((LA49_0>=RULE_STRING && LA49_0<=RULE_ID)||LA49_0==14||(LA49_0>=18 && LA49_0<=19)||LA49_0==26||(LA49_0>=42 && LA49_0<=43)||LA49_0==48||LA49_0==55||LA49_0==59||LA49_0==61||(LA49_0>=65 && LA49_0<=67)||(LA49_0>=70 && LA49_0<=82)||LA49_0==84) ) {
                alt49=1;
            }
            switch (alt49) {
                case 1 :
                    // InternalXbaseWithAnnotations.g:2841:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
                    {
                    // InternalXbaseWithAnnotations.g:2841:4: ( (lv_elements_3_0= ruleXExpression ) )
                    // InternalXbaseWithAnnotations.g:2842:5: (lv_elements_3_0= ruleXExpression )
                    {
                    // InternalXbaseWithAnnotations.g:2842:5: (lv_elements_3_0= ruleXExpression )
                    // InternalXbaseWithAnnotations.g:2843:6: lv_elements_3_0= ruleXExpression
                    {
                    if ( state.backtracking==0 ) {

                      						newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
                      					
                    }
                    pushFollow(FOLLOW_41);
                    lv_elements_3_0=ruleXExpression();

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

                      						if (current==null) {
                      							current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
                      						}
                      						add(
                      							current,
                      							"elements",
                      							lv_elements_3_0,
                      							"org.eclipse.xtext.xbase.Xbase.XExpression");
                      						afterParserOrEnumRuleCall();
                      					
                    }

                    }


                    }

                    // InternalXbaseWithAnnotations.g:2860:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
                    loop48:
                    do {
                        int alt48=2;
                        int LA48_0 = input.LA(1);

                        if ( (LA48_0==15) ) {
                            alt48=1;
                        }


                        switch (alt48) {
                    	case 1 :
                    	    // InternalXbaseWithAnnotations.g:2861:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
                    	    {
                    	    otherlv_4=(Token)match(input,15,FOLLOW_9); if (state.failed) return current;
                    	    if ( state.backtracking==0 ) {

                    	      					newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
                    	      				
                    	    }
                    	    // InternalXbaseWithAnnotations.g:2865:5: ( (lv_elements_5_0= ruleXExpression ) )
                    	    // InternalXbaseWithAnnotations.g:2866:6: (lv_elements_5_0= ruleXExpression )
                    	    {
                    	    // InternalXbaseWithAnnotations.g:2866:6: (lv_elements_5_0= ruleXExpression )
                    	    // InternalXbaseWithAnnotations.g:2867:7: lv_elements_5_0= ruleXExpression
                    	    {
                    	    if ( state.backtracking==0 ) {

                    	      							newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
                    	      						
                    	    }
                    	    pushFollow(FOLLOW_41);
                    	    lv_elements_5_0=ruleXExpression();

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

                    	      							if (current==null) {
                    	      								current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
                    	      							}
                    	      							add(
                    	      								current,
                    	      								"elements",
                    	      								lv_elements_5_0,
                    	      								"org.eclipse.xtext.xbase.Xbase.XExpression");
                    	      							afterParserOrEnumRuleCall();
                    	      						
                    	    }

                    	    }


                    	    }


                    	    }
                    	    break;

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


                    }
                    break;

            }

            otherlv_6=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
            if ( state.backtracking==0 ) {

              			newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4());
              		
            }

            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

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

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:1083:2: ( ( ( rule__PredicatedGroup__Group__0 ) ) )
            // InternalXtext.g:1084:2: ( ( rule__PredicatedGroup__Group__0 ) )
            {
            // InternalXtext.g:1084:2: ( ( rule__PredicatedGroup__Group__0 ) )
            // InternalXtext.g:1085:3: ( rule__PredicatedGroup__Group__0 )
            {
             before(grammarAccess.getPredicatedGroupAccess().getGroup()); 
            // InternalXtext.g:1086:3: ( rule__PredicatedGroup__Group__0 )
            // InternalXtext.g:1086:4: rule__PredicatedGroup__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__PredicatedGroup__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPredicatedGroupAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
690184
public final void synpred31_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:4199:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbase.g:4199:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbase.g:4199:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbase.g:4200:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbase.g:4200:7: ()
        // InternalXbase.g:4201:7: 
        {
        }

        // InternalXbase.g:4202:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt120=2;
        int LA120_0 = input.LA(1);

        if ( (LA120_0==RULE_ID||LA120_0==32||LA120_0==49) ) {
            alt120=1;
        }
        switch (alt120) {
            case 1 :
                // InternalXbase.g:4203:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbase.g:4203:8: ( ( ruleJvmFormalParameter ) )
                // InternalXbase.g:4204:9: ( ruleJvmFormalParameter )
                {
                // InternalXbase.g:4204:9: ( ruleJvmFormalParameter )
                // InternalXbase.g:4205:10: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_39);
                ruleJvmFormalParameter();

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

                }


                }

                // InternalXbase.g:4208:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop119:
                do {
                    int alt119=2;
                    int LA119_0 = input.LA(1);

                    if ( (LA119_0==48) ) {
                        alt119=1;
                    }


                    switch (alt119) {
                	case 1 :
                	    // InternalXbase.g:4209:9: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,48,FOLLOW_13); if (state.failed) return ;
                	    // InternalXbase.g:4210:9: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbase.g:4211:10: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbase.g:4211:10: ( ruleJvmFormalParameter )
                	    // InternalXbase.g:4212:11: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_39);
                	    ruleJvmFormalParameter();

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

                	    }


                	    }


                	    }
                	    break;

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


                }
                break;

        }

        // InternalXbase.g:4217:7: ( ( '|' ) )
        // InternalXbase.g:4218:8: ( '|' )
        {
        // InternalXbase.g:4218:8: ( '|' )
        // InternalXbase.g:4219:9: '|'
        {
        match(input,56,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
155246
public final void ruleXAnnotationOrExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:171:2: ( ( ( rule__XAnnotationOrExpression__Alternatives ) ) )
            // InternalXbaseWithAnnotations.g:172:2: ( ( rule__XAnnotationOrExpression__Alternatives ) )
            {
            // InternalXbaseWithAnnotations.g:172:2: ( ( rule__XAnnotationOrExpression__Alternatives ) )
            // InternalXbaseWithAnnotations.g:173:3: ( rule__XAnnotationOrExpression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); 
            }
            // InternalXbaseWithAnnotations.g:174:3: ( rule__XAnnotationOrExpression__Alternatives )
            // InternalXbaseWithAnnotations.g:174:4: rule__XAnnotationOrExpression__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__XAnnotationOrExpression__Alternatives();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1293053
public final void ruleXAdditiveExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:421:2: ( ( ( rule__XAdditiveExpression__Group__0 ) ) )
            // InternalXbase.g:422:2: ( ( rule__XAdditiveExpression__Group__0 ) )
            {
            // InternalXbase.g:422:2: ( ( rule__XAdditiveExpression__Group__0 ) )
            // InternalXbase.g:423:3: ( rule__XAdditiveExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); 
            }
            // InternalXbase.g:424:3: ( rule__XAdditiveExpression__Group__0 )
            // InternalXbase.g:424:4: rule__XAdditiveExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XAdditiveExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1191960
public final EObject ruleXtendEnumLiteral() throws RecognitionException {
        EObject current = null;

        AntlrDatatypeRuleToken lv_name_1_0 = null;



        	enterRule();

        try {
            // InternalSARL.g:7417:2: ( ( () ( (lv_name_1_0= ruleValidID ) ) ) )
            // InternalSARL.g:7418:2: ( () ( (lv_name_1_0= ruleValidID ) ) )
            {
            // InternalSARL.g:7418:2: ( () ( (lv_name_1_0= ruleValidID ) ) )
            // InternalSARL.g:7419:3: () ( (lv_name_1_0= ruleValidID ) )
            {
            // InternalSARL.g:7419:3: ()
            // InternalSARL.g:7420:4: 
            {
            if ( state.backtracking==0 ) {

              				current = forceCreateModelElement(
              					grammarAccess.getXtendEnumLiteralAccess().getSarlEnumLiteralAction_0(),
              					current);
              			
            }

            }

            // InternalSARL.g:7426:3: ( (lv_name_1_0= ruleValidID ) )
            // InternalSARL.g:7427:4: (lv_name_1_0= ruleValidID )
            {
            // InternalSARL.g:7427:4: (lv_name_1_0= ruleValidID )
            // InternalSARL.g:7428:5: lv_name_1_0= ruleValidID
            {
            if ( state.backtracking==0 ) {

              					newCompositeNode(grammarAccess.getXtendEnumLiteralAccess().getNameValidIDParserRuleCall_1_0());
              				
            }
            pushFollow(FOLLOW_2);
            lv_name_1_0=ruleValidID();

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

              					if (current==null) {
              						current = createModelElementForParent(grammarAccess.getXtendEnumLiteralRule());
              					}
              					set(
              						current,
              						"name",
              						lv_name_1_0,
              						"org.eclipse.xtend.core.Xtend.ValidID");
              					afterParserOrEnumRuleCall();
              				
            }

            }


            }


            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
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 ;
    }
1063079
public final void ruleXShortClosure() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:846:2: ( ( ( rule__XShortClosure__Group__0 ) ) )
            // InternalXbase.g:847:2: ( ( rule__XShortClosure__Group__0 ) )
            {
            // InternalXbase.g:847:2: ( ( rule__XShortClosure__Group__0 ) )
            // InternalXbase.g:848:3: ( rule__XShortClosure__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXShortClosureAccess().getGroup()); 
            }
            // InternalXbase.g:849:3: ( rule__XShortClosure__Group__0 )
            // InternalXbase.g:849:4: rule__XShortClosure__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XShortClosure__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
729135
public final void ruleXCasePart() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:946:2: ( ( ( rule__XCasePart__Group__0 ) ) )
            // InternalXbase.g:947:2: ( ( rule__XCasePart__Group__0 ) )
            {
            // InternalXbase.g:947:2: ( ( rule__XCasePart__Group__0 ) )
            // InternalXbase.g:948:3: ( rule__XCasePart__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXCasePartAccess().getGroup()); 
            }
            // InternalXbase.g:949:3: ( rule__XCasePart__Group__0 )
            // InternalXbase.g:949:4: rule__XCasePart__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XCasePart__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
179266
public final EObject entryRuleXBooleanLiteral() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleXBooleanLiteral = null;


        try {
            // InternalXbase.g:4657:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
            // InternalXbase.g:4658:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
            {
            if ( state.backtracking==0 ) {
               newCompositeNode(grammarAccess.getXBooleanLiteralRule()); 
            }
            pushFollow(FOLLOW_1);
            iv_ruleXBooleanLiteral=ruleXBooleanLiteral();

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

            }

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1246290
public final void entryRuleXNumberLiteral() throws RecognitionException {
        try {
            // InternalXbase.g:1334:1: ( ruleXNumberLiteral EOF )
            // InternalXbase.g:1335:1: ruleXNumberLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXNumberLiteralRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleXNumberLiteral();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getXNumberLiteralRule()); 
            }
            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 ;

        }


        }
    }