package org.xtext.example.mydsl6.parser.antlr.internal; 

import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.xtext.example.mydsl6.services.MyDsl6GrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMyDsl6Parser extends AbstractInternalAntlrParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'context'", "'{'", "'}'", "'Application'", "'Collection'", "'method'", "'function'", "'type'", "'parent'", "'='", "'fields'", "'LookUp'", "'showField'", "'Text'", "'displayName'", "'property'", "'.'"
    };
    public static final int RULE_ID=5;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__19=19;
    public static final int RULE_STRING=4;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalMyDsl6Parser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMyDsl6Parser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMyDsl6Parser.tokenNames; }
    public String getGrammarFileName() { return "../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g"; }



     	private MyDsl6GrammarAccess grammarAccess;
     	
        public InternalMyDsl6Parser(TokenStream input, MyDsl6GrammarAccess grammarAccess) {
            this(input);
            this.grammarAccess = grammarAccess;
            registerRules(grammarAccess.getGrammar());
        }
        
        @Override
        protected String getFirstRuleName() {
        	return "Context";	
       	}
       	
       	@Override
       	protected MyDsl6GrammarAccess getGrammarAccess() {
       		return grammarAccess;
       	}



    // $ANTLR start "entryRuleContext"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:67:1: entryRuleContext returns [EObject current=null] : iv_ruleContext= ruleContext EOF ;
    public final EObject entryRuleContext() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleContext = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:68:2: (iv_ruleContext= ruleContext EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:69:2: iv_ruleContext= ruleContext EOF
            {
             newCompositeNode(grammarAccess.getContextRule()); 
            pushFollow(FOLLOW_ruleContext_in_entryRuleContext75);
            iv_ruleContext=ruleContext();

            state._fsp--;

             current =iv_ruleContext; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleContext85); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleContext"


    // $ANTLR start "ruleContext"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:76:1: ruleContext returns [EObject current=null] : (otherlv_0= 'context' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_app_3_0= ruleApplication ) ) otherlv_4= '}' ) ;
    public final EObject ruleContext() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_4=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;

        EObject lv_app_3_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:79:28: ( (otherlv_0= 'context' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_app_3_0= ruleApplication ) ) otherlv_4= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:80:1: (otherlv_0= 'context' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_app_3_0= ruleApplication ) ) otherlv_4= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:80:1: (otherlv_0= 'context' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_app_3_0= ruleApplication ) ) otherlv_4= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:80:3: otherlv_0= 'context' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_app_3_0= ruleApplication ) ) otherlv_4= '}'
            {
            otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleContext122); 

                	newLeafNode(otherlv_0, grammarAccess.getContextAccess().getContextKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:84:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:85:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:85:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:86:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getContextAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleContext143);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getContextRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleContext155); 

                	newLeafNode(otherlv_2, grammarAccess.getContextAccess().getLeftCurlyBracketKeyword_2());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:106:1: ( (lv_app_3_0= ruleApplication ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:107:1: (lv_app_3_0= ruleApplication )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:107:1: (lv_app_3_0= ruleApplication )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:108:3: lv_app_3_0= ruleApplication
            {
             
            	        newCompositeNode(grammarAccess.getContextAccess().getAppApplicationParserRuleCall_3_0()); 
            	    
            pushFollow(FOLLOW_ruleApplication_in_ruleContext176);
            lv_app_3_0=ruleApplication();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getContextRule());
            	        }
                   		set(
                   			current, 
                   			"app",
                    		lv_app_3_0, 
                    		"Application");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleContext188); 

                	newLeafNode(otherlv_4, grammarAccess.getContextAccess().getRightCurlyBracketKeyword_4());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleContext"


    // $ANTLR start "entryRuleApplication"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:138:1: entryRuleApplication returns [EObject current=null] : iv_ruleApplication= ruleApplication EOF ;
    public final EObject entryRuleApplication() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleApplication = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:139:2: (iv_ruleApplication= ruleApplication EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:140:2: iv_ruleApplication= ruleApplication EOF
            {
             newCompositeNode(grammarAccess.getApplicationRule()); 
            pushFollow(FOLLOW_ruleApplication_in_entryRuleApplication226);
            iv_ruleApplication=ruleApplication();

            state._fsp--;

             current =iv_ruleApplication; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleApplication236); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleApplication"


    // $ANTLR start "ruleApplication"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:147:1: ruleApplication returns [EObject current=null] : (otherlv_0= 'Application' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_collection_3_0= ruleCollection ) ) ( (lv_collection_4_0= ruleCollection ) )* otherlv_5= '}' ) ;
    public final EObject ruleApplication() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_5=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;

        EObject lv_collection_3_0 = null;

        EObject lv_collection_4_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:150:28: ( (otherlv_0= 'Application' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_collection_3_0= ruleCollection ) ) ( (lv_collection_4_0= ruleCollection ) )* otherlv_5= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:151:1: (otherlv_0= 'Application' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_collection_3_0= ruleCollection ) ) ( (lv_collection_4_0= ruleCollection ) )* otherlv_5= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:151:1: (otherlv_0= 'Application' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_collection_3_0= ruleCollection ) ) ( (lv_collection_4_0= ruleCollection ) )* otherlv_5= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:151:3: otherlv_0= 'Application' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_collection_3_0= ruleCollection ) ) ( (lv_collection_4_0= ruleCollection ) )* otherlv_5= '}'
            {
            otherlv_0=(Token)match(input,14,FOLLOW_14_in_ruleApplication273); 

                	newLeafNode(otherlv_0, grammarAccess.getApplicationAccess().getApplicationKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:155:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:156:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:156:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:157:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getApplicationAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleApplication294);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getApplicationRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleApplication306); 

                	newLeafNode(otherlv_2, grammarAccess.getApplicationAccess().getLeftCurlyBracketKeyword_2());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:177:1: ( (lv_collection_3_0= ruleCollection ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:178:1: (lv_collection_3_0= ruleCollection )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:178:1: (lv_collection_3_0= ruleCollection )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:179:3: lv_collection_3_0= ruleCollection
            {
             
            	        newCompositeNode(grammarAccess.getApplicationAccess().getCollectionCollectionParserRuleCall_3_0()); 
            	    
            pushFollow(FOLLOW_ruleCollection_in_ruleApplication327);
            lv_collection_3_0=ruleCollection();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getApplicationRule());
            	        }
                   		add(
                   			current, 
                   			"collection",
                    		lv_collection_3_0, 
                    		"Collection");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:195:2: ( (lv_collection_4_0= ruleCollection ) )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==15) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:196:1: (lv_collection_4_0= ruleCollection )
            	    {
            	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:196:1: (lv_collection_4_0= ruleCollection )
            	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:197:3: lv_collection_4_0= ruleCollection
            	    {
            	     
            	    	        newCompositeNode(grammarAccess.getApplicationAccess().getCollectionCollectionParserRuleCall_4_0()); 
            	    	    
            	    pushFollow(FOLLOW_ruleCollection_in_ruleApplication348);
            	    lv_collection_4_0=ruleCollection();

            	    state._fsp--;


            	    	        if (current==null) {
            	    	            current = createModelElementForParent(grammarAccess.getApplicationRule());
            	    	        }
            	           		add(
            	           			current, 
            	           			"collection",
            	            		lv_collection_4_0, 
            	            		"Collection");
            	    	        afterParserOrEnumRuleCall();
            	    	    

            	    }


            	    }
            	    break;

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

            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleApplication361); 

                	newLeafNode(otherlv_5, grammarAccess.getApplicationAccess().getRightCurlyBracketKeyword_5());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleApplication"


    // $ANTLR start "entryRuleCollection"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:225:1: entryRuleCollection returns [EObject current=null] : iv_ruleCollection= ruleCollection EOF ;
    public final EObject entryRuleCollection() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCollection = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:226:2: (iv_ruleCollection= ruleCollection EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:227:2: iv_ruleCollection= ruleCollection EOF
            {
             newCompositeNode(grammarAccess.getCollectionRule()); 
            pushFollow(FOLLOW_ruleCollection_in_entryRuleCollection397);
            iv_ruleCollection=ruleCollection();

            state._fsp--;

             current =iv_ruleCollection; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCollection407); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleCollection"


    // $ANTLR start "ruleCollection"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:234:1: ruleCollection returns [EObject current=null] : (otherlv_0= 'Collection' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_ownmethod_3_0= ruleMethod ) ) otherlv_4= '}' ) ;
    public final EObject ruleCollection() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_4=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;

        EObject lv_ownmethod_3_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:237:28: ( (otherlv_0= 'Collection' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_ownmethod_3_0= ruleMethod ) ) otherlv_4= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:238:1: (otherlv_0= 'Collection' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_ownmethod_3_0= ruleMethod ) ) otherlv_4= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:238:1: (otherlv_0= 'Collection' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_ownmethod_3_0= ruleMethod ) ) otherlv_4= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:238:3: otherlv_0= 'Collection' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_ownmethod_3_0= ruleMethod ) ) otherlv_4= '}'
            {
            otherlv_0=(Token)match(input,15,FOLLOW_15_in_ruleCollection444); 

                	newLeafNode(otherlv_0, grammarAccess.getCollectionAccess().getCollectionKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:242:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:243:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:243:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:244:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getCollectionAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleCollection465);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getCollectionRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleCollection477); 

                	newLeafNode(otherlv_2, grammarAccess.getCollectionAccess().getLeftCurlyBracketKeyword_2());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:264:1: ( (lv_ownmethod_3_0= ruleMethod ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:265:1: (lv_ownmethod_3_0= ruleMethod )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:265:1: (lv_ownmethod_3_0= ruleMethod )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:266:3: lv_ownmethod_3_0= ruleMethod
            {
             
            	        newCompositeNode(grammarAccess.getCollectionAccess().getOwnmethodMethodParserRuleCall_3_0()); 
            	    
            pushFollow(FOLLOW_ruleMethod_in_ruleCollection498);
            lv_ownmethod_3_0=ruleMethod();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getCollectionRule());
            	        }
                   		set(
                   			current, 
                   			"ownmethod",
                    		lv_ownmethod_3_0, 
                    		"Method");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleCollection510); 

                	newLeafNode(otherlv_4, grammarAccess.getCollectionAccess().getRightCurlyBracketKeyword_4());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleCollection"


    // $ANTLR start "entryRuleMethod"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:294:1: entryRuleMethod returns [EObject current=null] : iv_ruleMethod= ruleMethod EOF ;
    public final EObject entryRuleMethod() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleMethod = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:295:2: (iv_ruleMethod= ruleMethod EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:296:2: iv_ruleMethod= ruleMethod EOF
            {
             newCompositeNode(grammarAccess.getMethodRule()); 
            pushFollow(FOLLOW_ruleMethod_in_entryRuleMethod546);
            iv_ruleMethod=ruleMethod();

            state._fsp--;

             current =iv_ruleMethod; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMethod556); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleMethod"


    // $ANTLR start "ruleMethod"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:303:1: ruleMethod returns [EObject current=null] : (otherlv_0= 'method' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_list_3_0= ruleFunction ) ) ( (lv_list_4_0= ruleFunction ) )* )? ( ( (lv_ownmethod_5_0= ruleMethod ) ) ( (lv_ownmethod_6_0= ruleMethod ) )* )? otherlv_7= '}' ) ;
    public final EObject ruleMethod() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_7=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;

        EObject lv_list_3_0 = null;

        EObject lv_list_4_0 = null;

        EObject lv_ownmethod_5_0 = null;

        EObject lv_ownmethod_6_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:306:28: ( (otherlv_0= 'method' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_list_3_0= ruleFunction ) ) ( (lv_list_4_0= ruleFunction ) )* )? ( ( (lv_ownmethod_5_0= ruleMethod ) ) ( (lv_ownmethod_6_0= ruleMethod ) )* )? otherlv_7= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:307:1: (otherlv_0= 'method' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_list_3_0= ruleFunction ) ) ( (lv_list_4_0= ruleFunction ) )* )? ( ( (lv_ownmethod_5_0= ruleMethod ) ) ( (lv_ownmethod_6_0= ruleMethod ) )* )? otherlv_7= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:307:1: (otherlv_0= 'method' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_list_3_0= ruleFunction ) ) ( (lv_list_4_0= ruleFunction ) )* )? ( ( (lv_ownmethod_5_0= ruleMethod ) ) ( (lv_ownmethod_6_0= ruleMethod ) )* )? otherlv_7= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:307:3: otherlv_0= 'method' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_list_3_0= ruleFunction ) ) ( (lv_list_4_0= ruleFunction ) )* )? ( ( (lv_ownmethod_5_0= ruleMethod ) ) ( (lv_ownmethod_6_0= ruleMethod ) )* )? otherlv_7= '}'
            {
            otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleMethod593); 

                	newLeafNode(otherlv_0, grammarAccess.getMethodAccess().getMethodKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:311:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:312:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:312:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:313:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getMethodAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleMethod614);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getMethodRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleMethod626); 

                	newLeafNode(otherlv_2, grammarAccess.getMethodAccess().getLeftCurlyBracketKeyword_2());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:333:1: ( ( (lv_list_3_0= ruleFunction ) ) ( (lv_list_4_0= ruleFunction ) )* )?
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==17) ) {
                alt3=1;
            }
            switch (alt3) {
                case 1 :
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:333:2: ( (lv_list_3_0= ruleFunction ) ) ( (lv_list_4_0= ruleFunction ) )*
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:333:2: ( (lv_list_3_0= ruleFunction ) )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:334:1: (lv_list_3_0= ruleFunction )
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:334:1: (lv_list_3_0= ruleFunction )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:335:3: lv_list_3_0= ruleFunction
                    {
                     
                    	        newCompositeNode(grammarAccess.getMethodAccess().getListFunctionParserRuleCall_3_0_0()); 
                    	    
                    pushFollow(FOLLOW_ruleFunction_in_ruleMethod648);
                    lv_list_3_0=ruleFunction();

                    state._fsp--;


                    	        if (current==null) {
                    	            current = createModelElementForParent(grammarAccess.getMethodRule());
                    	        }
                           		add(
                           			current, 
                           			"list",
                            		lv_list_3_0, 
                            		"Function");
                    	        afterParserOrEnumRuleCall();
                    	    

                    }


                    }

                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:351:2: ( (lv_list_4_0= ruleFunction ) )*
                    loop2:
                    do {
                        int alt2=2;
                        int LA2_0 = input.LA(1);

                        if ( (LA2_0==17) ) {
                            alt2=1;
                        }


                        switch (alt2) {
                    	case 1 :
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:352:1: (lv_list_4_0= ruleFunction )
                    	    {
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:352:1: (lv_list_4_0= ruleFunction )
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:353:3: lv_list_4_0= ruleFunction
                    	    {
                    	     
                    	    	        newCompositeNode(grammarAccess.getMethodAccess().getListFunctionParserRuleCall_3_1_0()); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleFunction_in_ruleMethod669);
                    	    lv_list_4_0=ruleFunction();

                    	    state._fsp--;


                    	    	        if (current==null) {
                    	    	            current = createModelElementForParent(grammarAccess.getMethodRule());
                    	    	        }
                    	           		add(
                    	           			current, 
                    	           			"list",
                    	            		lv_list_4_0, 
                    	            		"Function");
                    	    	        afterParserOrEnumRuleCall();
                    	    	    

                    	    }


                    	    }
                    	    break;

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


                    }
                    break;

            }

            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:369:5: ( ( (lv_ownmethod_5_0= ruleMethod ) ) ( (lv_ownmethod_6_0= ruleMethod ) )* )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==16) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:369:6: ( (lv_ownmethod_5_0= ruleMethod ) ) ( (lv_ownmethod_6_0= ruleMethod ) )*
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:369:6: ( (lv_ownmethod_5_0= ruleMethod ) )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:370:1: (lv_ownmethod_5_0= ruleMethod )
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:370:1: (lv_ownmethod_5_0= ruleMethod )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:371:3: lv_ownmethod_5_0= ruleMethod
                    {
                     
                    	        newCompositeNode(grammarAccess.getMethodAccess().getOwnmethodMethodParserRuleCall_4_0_0()); 
                    	    
                    pushFollow(FOLLOW_ruleMethod_in_ruleMethod694);
                    lv_ownmethod_5_0=ruleMethod();

                    state._fsp--;


                    	        if (current==null) {
                    	            current = createModelElementForParent(grammarAccess.getMethodRule());
                    	        }
                           		add(
                           			current, 
                           			"ownmethod",
                            		lv_ownmethod_5_0, 
                            		"Method");
                    	        afterParserOrEnumRuleCall();
                    	    

                    }


                    }

                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:387:2: ( (lv_ownmethod_6_0= ruleMethod ) )*
                    loop4:
                    do {
                        int alt4=2;
                        int LA4_0 = input.LA(1);

                        if ( (LA4_0==16) ) {
                            alt4=1;
                        }


                        switch (alt4) {
                    	case 1 :
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:388:1: (lv_ownmethod_6_0= ruleMethod )
                    	    {
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:388:1: (lv_ownmethod_6_0= ruleMethod )
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:389:3: lv_ownmethod_6_0= ruleMethod
                    	    {
                    	     
                    	    	        newCompositeNode(grammarAccess.getMethodAccess().getOwnmethodMethodParserRuleCall_4_1_0()); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleMethod_in_ruleMethod715);
                    	    lv_ownmethod_6_0=ruleMethod();

                    	    state._fsp--;


                    	    	        if (current==null) {
                    	    	            current = createModelElementForParent(grammarAccess.getMethodRule());
                    	    	        }
                    	           		add(
                    	           			current, 
                    	           			"ownmethod",
                    	            		lv_ownmethod_6_0, 
                    	            		"Method");
                    	    	        afterParserOrEnumRuleCall();
                    	    	    

                    	    }


                    	    }
                    	    break;

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


                    }
                    break;

            }

            otherlv_7=(Token)match(input,13,FOLLOW_13_in_ruleMethod730); 

                	newLeafNode(otherlv_7, grammarAccess.getMethodAccess().getRightCurlyBracketKeyword_5());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleMethod"


    // $ANTLR start "entryRuleFunction"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:417:1: entryRuleFunction returns [EObject current=null] : iv_ruleFunction= ruleFunction EOF ;
    public final EObject entryRuleFunction() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleFunction = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:418:2: (iv_ruleFunction= ruleFunction EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:419:2: iv_ruleFunction= ruleFunction EOF
            {
             newCompositeNode(grammarAccess.getFunctionRule()); 
            pushFollow(FOLLOW_ruleFunction_in_entryRuleFunction766);
            iv_ruleFunction=ruleFunction();

            state._fsp--;

             current =iv_ruleFunction; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFunction776); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleFunction"


    // $ANTLR start "ruleFunction"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:426:1: ruleFunction returns [EObject current=null] : (otherlv_0= 'function' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_type_3_0= ruleType ) ) ( (lv_type_4_0= ruleType ) )* )? otherlv_5= '}' ) ;
    public final EObject ruleFunction() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_5=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;

        EObject lv_type_3_0 = null;

        EObject lv_type_4_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:429:28: ( (otherlv_0= 'function' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_type_3_0= ruleType ) ) ( (lv_type_4_0= ruleType ) )* )? otherlv_5= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:430:1: (otherlv_0= 'function' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_type_3_0= ruleType ) ) ( (lv_type_4_0= ruleType ) )* )? otherlv_5= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:430:1: (otherlv_0= 'function' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_type_3_0= ruleType ) ) ( (lv_type_4_0= ruleType ) )* )? otherlv_5= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:430:3: otherlv_0= 'function' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( ( (lv_type_3_0= ruleType ) ) ( (lv_type_4_0= ruleType ) )* )? otherlv_5= '}'
            {
            otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleFunction813); 

                	newLeafNode(otherlv_0, grammarAccess.getFunctionAccess().getFunctionKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:434:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:435:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:435:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:436:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getFunctionAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleFunction834);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getFunctionRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleFunction846); 

                	newLeafNode(otherlv_2, grammarAccess.getFunctionAccess().getLeftCurlyBracketKeyword_2());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:456:1: ( ( (lv_type_3_0= ruleType ) ) ( (lv_type_4_0= ruleType ) )* )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==18) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:456:2: ( (lv_type_3_0= ruleType ) ) ( (lv_type_4_0= ruleType ) )*
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:456:2: ( (lv_type_3_0= ruleType ) )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:457:1: (lv_type_3_0= ruleType )
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:457:1: (lv_type_3_0= ruleType )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:458:3: lv_type_3_0= ruleType
                    {
                     
                    	        newCompositeNode(grammarAccess.getFunctionAccess().getTypeTypeParserRuleCall_3_0_0()); 
                    	    
                    pushFollow(FOLLOW_ruleType_in_ruleFunction868);
                    lv_type_3_0=ruleType();

                    state._fsp--;


                    	        if (current==null) {
                    	            current = createModelElementForParent(grammarAccess.getFunctionRule());
                    	        }
                           		add(
                           			current, 
                           			"type",
                            		lv_type_3_0, 
                            		"Type");
                    	        afterParserOrEnumRuleCall();
                    	    

                    }


                    }

                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:474:2: ( (lv_type_4_0= ruleType ) )*
                    loop6:
                    do {
                        int alt6=2;
                        int LA6_0 = input.LA(1);

                        if ( (LA6_0==18) ) {
                            alt6=1;
                        }


                        switch (alt6) {
                    	case 1 :
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:475:1: (lv_type_4_0= ruleType )
                    	    {
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:475:1: (lv_type_4_0= ruleType )
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:476:3: lv_type_4_0= ruleType
                    	    {
                    	     
                    	    	        newCompositeNode(grammarAccess.getFunctionAccess().getTypeTypeParserRuleCall_3_1_0()); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleType_in_ruleFunction889);
                    	    lv_type_4_0=ruleType();

                    	    state._fsp--;


                    	    	        if (current==null) {
                    	    	            current = createModelElementForParent(grammarAccess.getFunctionRule());
                    	    	        }
                    	           		add(
                    	           			current, 
                    	           			"type",
                    	            		lv_type_4_0, 
                    	            		"Type");
                    	    	        afterParserOrEnumRuleCall();
                    	    	    

                    	    }


                    	    }
                    	    break;

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


                    }
                    break;

            }

            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleFunction904); 

                	newLeafNode(otherlv_5, grammarAccess.getFunctionAccess().getRightCurlyBracketKeyword_4());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleFunction"


    // $ANTLR start "entryRuleType"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:504:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ;
    public final EObject entryRuleType() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleType = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:505:2: (iv_ruleType= ruleType EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:506:2: iv_ruleType= ruleType EOF
            {
             newCompositeNode(grammarAccess.getTypeRule()); 
            pushFollow(FOLLOW_ruleType_in_entryRuleType940);
            iv_ruleType=ruleType();

            state._fsp--;

             current =iv_ruleType; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleType950); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleType"


    // $ANTLR start "ruleType"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:513:1: ruleType returns [EObject current=null] : (otherlv_0= 'type' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'parent' otherlv_4= '=' ( ( ruleQualifiedName ) ) )? otherlv_6= 'fields' otherlv_7= '{' ( ( (lv_ownedField_8_0= ruleField ) ) ( (lv_ownedField_9_0= ruleField ) )* )? otherlv_10= '}' otherlv_11= '}' ) ;
    public final EObject ruleType() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_3=null;
        Token otherlv_4=null;
        Token otherlv_6=null;
        Token otherlv_7=null;
        Token otherlv_10=null;
        Token otherlv_11=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;

        EObject lv_ownedField_8_0 = null;

        EObject lv_ownedField_9_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:516:28: ( (otherlv_0= 'type' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'parent' otherlv_4= '=' ( ( ruleQualifiedName ) ) )? otherlv_6= 'fields' otherlv_7= '{' ( ( (lv_ownedField_8_0= ruleField ) ) ( (lv_ownedField_9_0= ruleField ) )* )? otherlv_10= '}' otherlv_11= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:517:1: (otherlv_0= 'type' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'parent' otherlv_4= '=' ( ( ruleQualifiedName ) ) )? otherlv_6= 'fields' otherlv_7= '{' ( ( (lv_ownedField_8_0= ruleField ) ) ( (lv_ownedField_9_0= ruleField ) )* )? otherlv_10= '}' otherlv_11= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:517:1: (otherlv_0= 'type' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'parent' otherlv_4= '=' ( ( ruleQualifiedName ) ) )? otherlv_6= 'fields' otherlv_7= '{' ( ( (lv_ownedField_8_0= ruleField ) ) ( (lv_ownedField_9_0= ruleField ) )* )? otherlv_10= '}' otherlv_11= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:517:3: otherlv_0= 'type' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'parent' otherlv_4= '=' ( ( ruleQualifiedName ) ) )? otherlv_6= 'fields' otherlv_7= '{' ( ( (lv_ownedField_8_0= ruleField ) ) ( (lv_ownedField_9_0= ruleField ) )* )? otherlv_10= '}' otherlv_11= '}'
            {
            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleType987); 

                	newLeafNode(otherlv_0, grammarAccess.getTypeAccess().getTypeKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:521:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:522:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:522:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:523:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getTypeAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleType1008);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getTypeRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleType1020); 

                	newLeafNode(otherlv_2, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:543:1: (otherlv_3= 'parent' otherlv_4= '=' ( ( ruleQualifiedName ) ) )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==19) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:543:3: otherlv_3= 'parent' otherlv_4= '=' ( ( ruleQualifiedName ) )
                    {
                    otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleType1033); 

                        	newLeafNode(otherlv_3, grammarAccess.getTypeAccess().getParentKeyword_3_0());
                        
                    otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleType1045); 

                        	newLeafNode(otherlv_4, grammarAccess.getTypeAccess().getEqualsSignKeyword_3_1());
                        
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:551:1: ( ( ruleQualifiedName ) )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:552:1: ( ruleQualifiedName )
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:552:1: ( ruleQualifiedName )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:553:3: ruleQualifiedName
                    {

                    			if (current==null) {
                    	            current = createModelElement(grammarAccess.getTypeRule());
                    	        }
                            
                     
                    	        newCompositeNode(grammarAccess.getTypeAccess().getParentTypeTypeCrossReference_3_2_0()); 
                    	    
                    pushFollow(FOLLOW_ruleQualifiedName_in_ruleType1068);
                    ruleQualifiedName();

                    state._fsp--;

                     
                    	        afterParserOrEnumRuleCall();
                    	    

                    }


                    }


                    }
                    break;

            }

            otherlv_6=(Token)match(input,21,FOLLOW_21_in_ruleType1082); 

                	newLeafNode(otherlv_6, grammarAccess.getTypeAccess().getFieldsKeyword_4());
                
            otherlv_7=(Token)match(input,12,FOLLOW_12_in_ruleType1094); 

                	newLeafNode(otherlv_7, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_5());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:574:1: ( ( (lv_ownedField_8_0= ruleField ) ) ( (lv_ownedField_9_0= ruleField ) )* )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==22||LA10_0==24) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:574:2: ( (lv_ownedField_8_0= ruleField ) ) ( (lv_ownedField_9_0= ruleField ) )*
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:574:2: ( (lv_ownedField_8_0= ruleField ) )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:575:1: (lv_ownedField_8_0= ruleField )
                    {
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:575:1: (lv_ownedField_8_0= ruleField )
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:576:3: lv_ownedField_8_0= ruleField
                    {
                     
                    	        newCompositeNode(grammarAccess.getTypeAccess().getOwnedFieldFieldParserRuleCall_6_0_0()); 
                    	    
                    pushFollow(FOLLOW_ruleField_in_ruleType1116);
                    lv_ownedField_8_0=ruleField();

                    state._fsp--;


                    	        if (current==null) {
                    	            current = createModelElementForParent(grammarAccess.getTypeRule());
                    	        }
                           		add(
                           			current, 
                           			"ownedField",
                            		lv_ownedField_8_0, 
                            		"Field");
                    	        afterParserOrEnumRuleCall();
                    	    

                    }


                    }

                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:592:2: ( (lv_ownedField_9_0= ruleField ) )*
                    loop9:
                    do {
                        int alt9=2;
                        int LA9_0 = input.LA(1);

                        if ( (LA9_0==22||LA9_0==24) ) {
                            alt9=1;
                        }


                        switch (alt9) {
                    	case 1 :
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:593:1: (lv_ownedField_9_0= ruleField )
                    	    {
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:593:1: (lv_ownedField_9_0= ruleField )
                    	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:594:3: lv_ownedField_9_0= ruleField
                    	    {
                    	     
                    	    	        newCompositeNode(grammarAccess.getTypeAccess().getOwnedFieldFieldParserRuleCall_6_1_0()); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleField_in_ruleType1137);
                    	    lv_ownedField_9_0=ruleField();

                    	    state._fsp--;


                    	    	        if (current==null) {
                    	    	            current = createModelElementForParent(grammarAccess.getTypeRule());
                    	    	        }
                    	           		add(
                    	           			current, 
                    	           			"ownedField",
                    	            		lv_ownedField_9_0, 
                    	            		"Field");
                    	    	        afterParserOrEnumRuleCall();
                    	    	    

                    	    }


                    	    }
                    	    break;

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


                    }
                    break;

            }

            otherlv_10=(Token)match(input,13,FOLLOW_13_in_ruleType1152); 

                	newLeafNode(otherlv_10, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_7());
                
            otherlv_11=(Token)match(input,13,FOLLOW_13_in_ruleType1164); 

                	newLeafNode(otherlv_11, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_8());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleType"


    // $ANTLR start "entryRuleField"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:626:1: entryRuleField returns [EObject current=null] : iv_ruleField= ruleField EOF ;
    public final EObject entryRuleField() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleField = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:627:2: (iv_ruleField= ruleField EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:628:2: iv_ruleField= ruleField EOF
            {
             newCompositeNode(grammarAccess.getFieldRule()); 
            pushFollow(FOLLOW_ruleField_in_entryRuleField1200);
            iv_ruleField=ruleField();

            state._fsp--;

             current =iv_ruleField; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleField1210); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleField"


    // $ANTLR start "ruleField"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:635:1: ruleField returns [EObject current=null] : (this_LookUp_0= ruleLookUp | this_TextField_1= ruleTextField ) ;
    public final EObject ruleField() throws RecognitionException {
        EObject current = null;

        EObject this_LookUp_0 = null;

        EObject this_TextField_1 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:638:28: ( (this_LookUp_0= ruleLookUp | this_TextField_1= ruleTextField ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:639:1: (this_LookUp_0= ruleLookUp | this_TextField_1= ruleTextField )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:639:1: (this_LookUp_0= ruleLookUp | this_TextField_1= ruleTextField )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==22) ) {
                alt11=1;
            }
            else if ( (LA11_0==24) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:640:5: this_LookUp_0= ruleLookUp
                    {
                     
                            newCompositeNode(grammarAccess.getFieldAccess().getLookUpParserRuleCall_0()); 
                        
                    pushFollow(FOLLOW_ruleLookUp_in_ruleField1257);
                    this_LookUp_0=ruleLookUp();

                    state._fsp--;

                     
                            current = this_LookUp_0; 
                            afterParserOrEnumRuleCall();
                        

                    }
                    break;
                case 2 :
                    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:650:5: this_TextField_1= ruleTextField
                    {
                     
                            newCompositeNode(grammarAccess.getFieldAccess().getTextFieldParserRuleCall_1()); 
                        
                    pushFollow(FOLLOW_ruleTextField_in_ruleField1284);
                    this_TextField_1=ruleTextField();

                    state._fsp--;

                     
                            current = this_TextField_1; 
                            afterParserOrEnumRuleCall();
                        

                    }
                    break;

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleField"


    // $ANTLR start "entryRuleLookUp"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:666:1: entryRuleLookUp returns [EObject current=null] : iv_ruleLookUp= ruleLookUp EOF ;
    public final EObject entryRuleLookUp() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleLookUp = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:667:2: (iv_ruleLookUp= ruleLookUp EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:668:2: iv_ruleLookUp= ruleLookUp EOF
            {
             newCompositeNode(grammarAccess.getLookUpRule()); 
            pushFollow(FOLLOW_ruleLookUp_in_entryRuleLookUp1319);
            iv_ruleLookUp=ruleLookUp();

            state._fsp--;

             current =iv_ruleLookUp; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLookUp1329); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleLookUp"


    // $ANTLR start "ruleLookUp"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:675:1: ruleLookUp returns [EObject current=null] : (otherlv_0= 'LookUp' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'type' otherlv_4= '=' ( ( ruleQualifiedName ) ) ) (otherlv_6= 'showField' otherlv_7= '=' ( ( ruleQualifiedName ) ) ) otherlv_9= '}' ) ;
    public final EObject ruleLookUp() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_3=null;
        Token otherlv_4=null;
        Token otherlv_6=null;
        Token otherlv_7=null;
        Token otherlv_9=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:678:28: ( (otherlv_0= 'LookUp' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'type' otherlv_4= '=' ( ( ruleQualifiedName ) ) ) (otherlv_6= 'showField' otherlv_7= '=' ( ( ruleQualifiedName ) ) ) otherlv_9= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:679:1: (otherlv_0= 'LookUp' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'type' otherlv_4= '=' ( ( ruleQualifiedName ) ) ) (otherlv_6= 'showField' otherlv_7= '=' ( ( ruleQualifiedName ) ) ) otherlv_9= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:679:1: (otherlv_0= 'LookUp' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'type' otherlv_4= '=' ( ( ruleQualifiedName ) ) ) (otherlv_6= 'showField' otherlv_7= '=' ( ( ruleQualifiedName ) ) ) otherlv_9= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:679:3: otherlv_0= 'LookUp' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'type' otherlv_4= '=' ( ( ruleQualifiedName ) ) ) (otherlv_6= 'showField' otherlv_7= '=' ( ( ruleQualifiedName ) ) ) otherlv_9= '}'
            {
            otherlv_0=(Token)match(input,22,FOLLOW_22_in_ruleLookUp1366); 

                	newLeafNode(otherlv_0, grammarAccess.getLookUpAccess().getLookUpKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:683:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:684:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:684:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:685:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getLookUpAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleLookUp1387);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getLookUpRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleLookUp1399); 

                	newLeafNode(otherlv_2, grammarAccess.getLookUpAccess().getLeftCurlyBracketKeyword_2());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:705:1: (otherlv_3= 'type' otherlv_4= '=' ( ( ruleQualifiedName ) ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:705:3: otherlv_3= 'type' otherlv_4= '=' ( ( ruleQualifiedName ) )
            {
            otherlv_3=(Token)match(input,18,FOLLOW_18_in_ruleLookUp1412); 

                	newLeafNode(otherlv_3, grammarAccess.getLookUpAccess().getTypeKeyword_3_0());
                
            otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleLookUp1424); 

                	newLeafNode(otherlv_4, grammarAccess.getLookUpAccess().getEqualsSignKeyword_3_1());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:713:1: ( ( ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:714:1: ( ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:714:1: ( ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:715:3: ruleQualifiedName
            {

            			if (current==null) {
            	            current = createModelElement(grammarAccess.getLookUpRule());
            	        }
                    
             
            	        newCompositeNode(grammarAccess.getLookUpAccess().getTypeTypeCrossReference_3_2_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleLookUp1447);
            ruleQualifiedName();

            state._fsp--;

             
            	        afterParserOrEnumRuleCall();
            	    

            }


            }


            }

            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:728:3: (otherlv_6= 'showField' otherlv_7= '=' ( ( ruleQualifiedName ) ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:728:5: otherlv_6= 'showField' otherlv_7= '=' ( ( ruleQualifiedName ) )
            {
            otherlv_6=(Token)match(input,23,FOLLOW_23_in_ruleLookUp1461); 

                	newLeafNode(otherlv_6, grammarAccess.getLookUpAccess().getShowFieldKeyword_4_0());
                
            otherlv_7=(Token)match(input,20,FOLLOW_20_in_ruleLookUp1473); 

                	newLeafNode(otherlv_7, grammarAccess.getLookUpAccess().getEqualsSignKeyword_4_1());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:736:1: ( ( ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:737:1: ( ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:737:1: ( ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:738:3: ruleQualifiedName
            {

            			if (current==null) {
            	            current = createModelElement(grammarAccess.getLookUpRule());
            	        }
                    
             
            	        newCompositeNode(grammarAccess.getLookUpAccess().getShowFieldFieldCrossReference_4_2_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleLookUp1496);
            ruleQualifiedName();

            state._fsp--;

             
            	        afterParserOrEnumRuleCall();
            	    

            }


            }


            }

            otherlv_9=(Token)match(input,13,FOLLOW_13_in_ruleLookUp1509); 

                	newLeafNode(otherlv_9, grammarAccess.getLookUpAccess().getRightCurlyBracketKeyword_5());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleLookUp"


    // $ANTLR start "entryRuleTextField"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:763:1: entryRuleTextField returns [EObject current=null] : iv_ruleTextField= ruleTextField EOF ;
    public final EObject entryRuleTextField() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleTextField = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:764:2: (iv_ruleTextField= ruleTextField EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:765:2: iv_ruleTextField= ruleTextField EOF
            {
             newCompositeNode(grammarAccess.getTextFieldRule()); 
            pushFollow(FOLLOW_ruleTextField_in_entryRuleTextField1545);
            iv_ruleTextField=ruleTextField();

            state._fsp--;

             current =iv_ruleTextField; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTextField1555); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleTextField"


    // $ANTLR start "ruleTextField"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:772:1: ruleTextField returns [EObject current=null] : (otherlv_0= 'Text' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= 'displayName' otherlv_4= '=' ( (lv_displayName_5_0= RULE_STRING ) ) otherlv_6= 'property' otherlv_7= '=' ( (lv_property_8_0= RULE_STRING ) ) otherlv_9= '}' ) ;
    public final EObject ruleTextField() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        Token otherlv_3=null;
        Token otherlv_4=null;
        Token lv_displayName_5_0=null;
        Token otherlv_6=null;
        Token otherlv_7=null;
        Token lv_property_8_0=null;
        Token otherlv_9=null;
        AntlrDatatypeRuleToken lv_name_1_0 = null;


         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:775:28: ( (otherlv_0= 'Text' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= 'displayName' otherlv_4= '=' ( (lv_displayName_5_0= RULE_STRING ) ) otherlv_6= 'property' otherlv_7= '=' ( (lv_property_8_0= RULE_STRING ) ) otherlv_9= '}' ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:776:1: (otherlv_0= 'Text' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= 'displayName' otherlv_4= '=' ( (lv_displayName_5_0= RULE_STRING ) ) otherlv_6= 'property' otherlv_7= '=' ( (lv_property_8_0= RULE_STRING ) ) otherlv_9= '}' )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:776:1: (otherlv_0= 'Text' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= 'displayName' otherlv_4= '=' ( (lv_displayName_5_0= RULE_STRING ) ) otherlv_6= 'property' otherlv_7= '=' ( (lv_property_8_0= RULE_STRING ) ) otherlv_9= '}' )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:776:3: otherlv_0= 'Text' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= 'displayName' otherlv_4= '=' ( (lv_displayName_5_0= RULE_STRING ) ) otherlv_6= 'property' otherlv_7= '=' ( (lv_property_8_0= RULE_STRING ) ) otherlv_9= '}'
            {
            otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleTextField1592); 

                	newLeafNode(otherlv_0, grammarAccess.getTextFieldAccess().getTextKeyword_0());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:780:1: ( (lv_name_1_0= ruleQualifiedName ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:781:1: (lv_name_1_0= ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:781:1: (lv_name_1_0= ruleQualifiedName )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:782:3: lv_name_1_0= ruleQualifiedName
            {
             
            	        newCompositeNode(grammarAccess.getTextFieldAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            	    
            pushFollow(FOLLOW_ruleQualifiedName_in_ruleTextField1613);
            lv_name_1_0=ruleQualifiedName();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getTextFieldRule());
            	        }
                   		set(
                   			current, 
                   			"name",
                    		lv_name_1_0, 
                    		"QualifiedName");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }

            otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleTextField1625); 

                	newLeafNode(otherlv_2, grammarAccess.getTextFieldAccess().getLeftCurlyBracketKeyword_2());
                
            otherlv_3=(Token)match(input,25,FOLLOW_25_in_ruleTextField1637); 

                	newLeafNode(otherlv_3, grammarAccess.getTextFieldAccess().getDisplayNameKeyword_3());
                
            otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleTextField1649); 

                	newLeafNode(otherlv_4, grammarAccess.getTextFieldAccess().getEqualsSignKeyword_4());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:810:1: ( (lv_displayName_5_0= RULE_STRING ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:811:1: (lv_displayName_5_0= RULE_STRING )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:811:1: (lv_displayName_5_0= RULE_STRING )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:812:3: lv_displayName_5_0= RULE_STRING
            {
            lv_displayName_5_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleTextField1666); 

            			newLeafNode(lv_displayName_5_0, grammarAccess.getTextFieldAccess().getDisplayNameSTRINGTerminalRuleCall_5_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getTextFieldRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"displayName",
                    		lv_displayName_5_0, 
                    		"STRING");
            	    

            }


            }

            otherlv_6=(Token)match(input,26,FOLLOW_26_in_ruleTextField1683); 

                	newLeafNode(otherlv_6, grammarAccess.getTextFieldAccess().getPropertyKeyword_6());
                
            otherlv_7=(Token)match(input,20,FOLLOW_20_in_ruleTextField1695); 

                	newLeafNode(otherlv_7, grammarAccess.getTextFieldAccess().getEqualsSignKeyword_7());
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:836:1: ( (lv_property_8_0= RULE_STRING ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:837:1: (lv_property_8_0= RULE_STRING )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:837:1: (lv_property_8_0= RULE_STRING )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:838:3: lv_property_8_0= RULE_STRING
            {
            lv_property_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleTextField1712); 

            			newLeafNode(lv_property_8_0, grammarAccess.getTextFieldAccess().getPropertySTRINGTerminalRuleCall_8_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getTextFieldRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"property",
                    		lv_property_8_0, 
                    		"STRING");
            	    

            }


            }

            otherlv_9=(Token)match(input,13,FOLLOW_13_in_ruleTextField1729); 

                	newLeafNode(otherlv_9, grammarAccess.getTextFieldAccess().getRightCurlyBracketKeyword_9());
                

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleTextField"


    // $ANTLR start "entryRuleQualifiedName"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:866:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
    public final String entryRuleQualifiedName() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleQualifiedName = null;


        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:867:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:868:2: iv_ruleQualifiedName= ruleQualifiedName EOF
            {
             newCompositeNode(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1766);
            iv_ruleQualifiedName=ruleQualifiedName();

            state._fsp--;

             current =iv_ruleQualifiedName.getText(); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName1777); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleQualifiedName"


    // $ANTLR start "ruleQualifiedName"
    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:875:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
    public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token this_ID_0=null;
        Token kw=null;
        Token this_ID_2=null;

         enterRule(); 
            
        try {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:878:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:879:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
            {
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:879:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:879:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
            {
            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName1817); 

            		current.merge(this_ID_0);
                
             
                newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
                
            // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:886:1: (kw= '.' this_ID_2= RULE_ID )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0==27) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../org.xtext.example.mydsl6/src-gen/org/xtext/example/mydsl6/parser/antlr/internal/InternalMyDsl6.g:887:2: kw= '.' this_ID_2= RULE_ID
            	    {
            	    kw=(Token)match(input,27,FOLLOW_27_in_ruleQualifiedName1836); 

            	            current.merge(kw);
            	            newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            	        
            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedName1851); 

            	    		current.merge(this_ID_2);
            	        
            	     
            	        newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            	        

            	    }
            	    break;

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


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleQualifiedName"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleContext_in_entryRuleContext75 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleContext85 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_ruleContext122 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleContext143 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleContext155 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_ruleApplication_in_ruleContext176 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_ruleContext188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleApplication_in_entryRuleApplication226 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleApplication236 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_ruleApplication273 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleApplication294 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleApplication306 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_ruleCollection_in_ruleApplication327 = new BitSet(new long[]{0x000000000000A000L});
    public static final BitSet FOLLOW_ruleCollection_in_ruleApplication348 = new BitSet(new long[]{0x000000000000A000L});
    public static final BitSet FOLLOW_13_in_ruleApplication361 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCollection_in_entryRuleCollection397 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCollection407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_ruleCollection444 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleCollection465 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleCollection477 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_ruleMethod_in_ruleCollection498 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_ruleCollection510 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMethod_in_entryRuleMethod546 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMethod556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_ruleMethod593 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleMethod614 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleMethod626 = new BitSet(new long[]{0x0000000000032000L});
    public static final BitSet FOLLOW_ruleFunction_in_ruleMethod648 = new BitSet(new long[]{0x0000000000032000L});
    public static final BitSet FOLLOW_ruleFunction_in_ruleMethod669 = new BitSet(new long[]{0x0000000000032000L});
    public static final BitSet FOLLOW_ruleMethod_in_ruleMethod694 = new BitSet(new long[]{0x0000000000012000L});
    public static final BitSet FOLLOW_ruleMethod_in_ruleMethod715 = new BitSet(new long[]{0x0000000000012000L});
    public static final BitSet FOLLOW_13_in_ruleMethod730 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction766 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFunction776 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_ruleFunction813 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleFunction834 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleFunction846 = new BitSet(new long[]{0x0000000000042000L});
    public static final BitSet FOLLOW_ruleType_in_ruleFunction868 = new BitSet(new long[]{0x0000000000042000L});
    public static final BitSet FOLLOW_ruleType_in_ruleFunction889 = new BitSet(new long[]{0x0000000000042000L});
    public static final BitSet FOLLOW_13_in_ruleFunction904 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleType_in_entryRuleType940 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleType950 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_ruleType987 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleType1008 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleType1020 = new BitSet(new long[]{0x0000000000280000L});
    public static final BitSet FOLLOW_19_in_ruleType1033 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_20_in_ruleType1045 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleType1068 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_21_in_ruleType1082 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleType1094 = new BitSet(new long[]{0x0000000001402000L});
    public static final BitSet FOLLOW_ruleField_in_ruleType1116 = new BitSet(new long[]{0x0000000001402000L});
    public static final BitSet FOLLOW_ruleField_in_ruleType1137 = new BitSet(new long[]{0x0000000001402000L});
    public static final BitSet FOLLOW_13_in_ruleType1152 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_ruleType1164 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleField_in_entryRuleField1200 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleField1210 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLookUp_in_ruleField1257 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTextField_in_ruleField1284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLookUp_in_entryRuleLookUp1319 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLookUp1329 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_ruleLookUp1366 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleLookUp1387 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleLookUp1399 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_18_in_ruleLookUp1412 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_20_in_ruleLookUp1424 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleLookUp1447 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_23_in_ruleLookUp1461 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_20_in_ruleLookUp1473 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleLookUp1496 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_ruleLookUp1509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTextField_in_entryRuleTextField1545 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTextField1555 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_ruleTextField1592 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_ruleTextField1613 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleTextField1625 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_25_in_ruleTextField1637 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_20_in_ruleTextField1649 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleTextField1666 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_26_in_ruleTextField1683 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_20_in_ruleTextField1695 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleTextField1712 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_13_in_ruleTextField1729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName1766 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName1777 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName1817 = new BitSet(new long[]{0x0000000008000002L});
    public static final BitSet FOLLOW_27_in_ruleQualifiedName1836 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName1851 = new BitSet(new long[]{0x0000000008000002L});

}