gt:         catch (RecognitionException re) {
context: /*******************************************************************************
   * Copyright (c) 2013-2015 UAH Space Research Group.
   * All rights reserved. This program and the accompanying materials
   * are made available under the terms of the Eclipse Public License v1.0
   * which accompanies this distribution, and is available at
   * http://www.eclipse.org/legal/epl-v10.html
   *
   * Contributors:
   *     MICOBS SRG Team - Initial API and implementation
   ******************************************************************************/
  package es.uah.aut.srg.micobs.mclev.lang.ui.contentassist.antlr.internal; 
  
  import org.antlr.runtime.BitSet;
  import org.antlr.runtime.NoViableAltException;
  import org.antlr.runtime.RecognitionException;
  import org.antlr.runtime.RecognizerSharedState;
  import org.antlr.runtime.TokenStream;
  import org.eclipse.xtext.Grammar;
  import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
  
  import es.uah.aut.srg.micobs.mclev.lang.services.IFACEGrammarAccess;
  @SuppressWarnings("all")
  public class InternalIFACEParser extends AbstractInternalContentAssistParser {
      public static final String[] tokenNames = new String[] {
          "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "';'", "'import'", "'.'", "'('", "')'", "'::'", "'interface'", "'{'", "'version'", "':='", "'}'", "'extends'", "','"
      };
      public static final int RULE_ID=5;
      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=6;
      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=4;
      public static final int RULE_WS=9;
  
      // delegates
      // delegators
  
  
          public InternalIFACEParser(TokenStream input) {
              this(input, new RecognizerSharedState());
          }
          public InternalIFACEParser(TokenStream input, RecognizerSharedState state) {
              super(input, state);
               
          }
          
  
      public String[] getTokenNames() { return InternalIFACEParser.tokenNames; }
      public String getGrammarFileName() { return "../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g"; }
  
  
       
       	private IFACEGrammarAccess grammarAccess;
       	
          public void setGrammarAccess(IFACEGrammarAccess grammarAccess) {
          	this.grammarAccess = grammarAccess;
          }
          
          @Override
          protected Grammar getGrammar() {
          	return grammarAccess.getGrammar();
          }
          
          @Override
          protected String getValueForTokenName(String tokenName) {
          	return tokenName;
          }
  
  
  
  
      // $ANTLR start "entryRuleMMCLEVIFACEPackageFile"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:61:1: entryRuleMMCLEVIFACEPackageFile : ruleMMCLEVIFACEPackageFile EOF ;
      public final void entryRuleMMCLEVIFACEPackageFile() throws RecognitionException {
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:62:1: ( ruleMMCLEVIFACEPackageFile EOF )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:63:1: ruleMMCLEVIFACEPackageFile EOF
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMMCLEVIFACEPackageFileRule()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleMMCLEVIFACEPackageFile_in_entryRuleMMCLEVIFACEPackageFile67);
              ruleMMCLEVIFACEPackageFile();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMMCLEVIFACEPackageFileRule()); 
              }
              match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMMCLEVIFACEPackageFile74); if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
          }
          return ;
      }
      // $ANTLR end "entryRuleMMCLEVIFACEPackageFile"
  
  
      // $ANTLR start "ruleMMCLEVIFACEPackageFile"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:70:1: ruleMMCLEVIFACEPackageFile : ( ( rule__MMCLEVIFACEPackageFile__Group__0 ) ) ;
      public final void ruleMMCLEVIFACEPackageFile() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:74:2: ( ( ( rule__MMCLEVIFACEPackageFile__Group__0 ) ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:75:1: ( ( rule__MMCLEVIFACEPackageFile__Group__0 ) )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:75:1: ( ( rule__MMCLEVIFACEPackageFile__Group__0 ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:76:1: ( rule__MMCLEVIFACEPackageFile__Group__0 )
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMMCLEVIFACEPackageFileAccess().getGroup()); 
              }
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:77:1: ( rule__MMCLEVIFACEPackageFile__Group__0 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:77:2: rule__MMCLEVIFACEPackageFile__Group__0
              {
              pushFollow(FollowSets000.FOLLOW_rule__MMCLEVIFACEPackageFile__Group__0_in_ruleMMCLEVIFACEPackageFile100);
              rule__MMCLEVIFACEPackageFile__Group__0();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMMCLEVIFACEPackageFileAccess().getGroup()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "ruleMMCLEVIFACEPackageFile"
  
  
      // $ANTLR start "entryRuleMMCLEVIFACEPackageElement"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:89:1: entryRuleMMCLEVIFACEPackageElement : ruleMMCLEVIFACEPackageElement EOF ;
      public final void entryRuleMMCLEVIFACEPackageElement() throws RecognitionException {
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:90:1: ( ruleMMCLEVIFACEPackageElement EOF )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:91:1: ruleMMCLEVIFACEPackageElement EOF
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMMCLEVIFACEPackageElementRule()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleMMCLEVIFACEPackageElement_in_entryRuleMMCLEVIFACEPackageElement127);
              ruleMMCLEVIFACEPackageElement();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMMCLEVIFACEPackageElementRule()); 
              }
              match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMMCLEVIFACEPackageElement134); if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
          }
          return ;
      }
      // $ANTLR end "entryRuleMMCLEVIFACEPackageElement"
  
  
      // $ANTLR start "ruleMMCLEVIFACEPackageElement"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:98:1: ruleMMCLEVIFACEPackageElement : ( ruleMInterface ) ;
      public final void ruleMMCLEVIFACEPackageElement() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:102:2: ( ( ruleMInterface ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:103:1: ( ruleMInterface )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:103:1: ( ruleMInterface )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:104:1: ruleMInterface
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMMCLEVIFACEPackageElementAccess().getMInterfaceParserRuleCall()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleMInterface_in_ruleMMCLEVIFACEPackageElement160);
              ruleMInterface();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMMCLEVIFACEPackageElementAccess().getMInterfaceParserRuleCall()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "ruleMMCLEVIFACEPackageElement"
  
  
      // $ANTLR start "entryRuleQualifiedName"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:117:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
      public final void entryRuleQualifiedName() throws RecognitionException {
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:118:1: ( ruleQualifiedName EOF )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:119:1: ruleQualifiedName EOF
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getQualifiedNameRule()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName186);
              ruleQualifiedName();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getQualifiedNameRule()); 
              }
              match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedName193); if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
          }
          return ;
      }
      // $ANTLR end "entryRuleQualifiedName"
  
  
      // $ANTLR start "ruleQualifiedName"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:126:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
      public final void ruleQualifiedName() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:130:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:131:1: ( ( rule__QualifiedName__Group__0 ) )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:131:1: ( ( rule__QualifiedName__Group__0 ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:132:1: ( rule__QualifiedName__Group__0 )
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getQualifiedNameAccess().getGroup()); 
              }
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:133:1: ( rule__QualifiedName__Group__0 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:133:2: rule__QualifiedName__Group__0
              {
              pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName219);
              rule__QualifiedName__Group__0();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getQualifiedNameAccess().getGroup()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "ruleQualifiedName"
  
  
      // $ANTLR start "entryRuleVersion"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:145:1: entryRuleVersion : ruleVersion EOF ;
      public final void entryRuleVersion() throws RecognitionException {
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:146:1: ( ruleVersion EOF )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:147:1: ruleVersion EOF
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getVersionRule()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleVersion_in_entryRuleVersion246);
              ruleVersion();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getVersionRule()); 
              }
              match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVersion253); if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
          }
          return ;
      }
      // $ANTLR end "entryRuleVersion"
  
  
      // $ANTLR start "ruleVersion"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:154:1: ruleVersion : ( ( rule__Version__Group__0 ) ) ;
      public final void ruleVersion() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:158:2: ( ( ( rule__Version__Group__0 ) ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:159:1: ( ( rule__Version__Group__0 ) )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:159:1: ( ( rule__Version__Group__0 ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:160:1: ( rule__Version__Group__0 )
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getVersionAccess().getGroup()); 
              }
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:161:1: ( rule__Version__Group__0 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:161:2: rule__Version__Group__0
              {
              pushFollow(FollowSets000.FOLLOW_rule__Version__Group__0_in_ruleVersion279);
              rule__Version__Group__0();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getVersionAccess().getGroup()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "ruleVersion"
  
  
      // $ANTLR start "entryRuleVersionedQualifiedName"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:173:1: entryRuleVersionedQualifiedName : ruleVersionedQualifiedName EOF ;
      public final void entryRuleVersionedQualifiedName() throws RecognitionException {
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:174:1: ( ruleVersionedQualifiedName EOF )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:175:1: ruleVersionedQualifiedName EOF
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getVersionedQualifiedNameRule()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleVersionedQualifiedName_in_entryRuleVersionedQualifiedName306);
              ruleVersionedQualifiedName();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getVersionedQualifiedNameRule()); 
              }
              match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVersionedQualifiedName313); if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
          }
          return ;
      }
      // $ANTLR end "entryRuleVersionedQualifiedName"
  
  
      // $ANTLR start "ruleVersionedQualifiedName"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:182:1: ruleVersionedQualifiedName : ( ( rule__VersionedQualifiedName__Group__0 ) ) ;
      public final void ruleVersionedQualifiedName() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:186:2: ( ( ( rule__VersionedQualifiedName__Group__0 ) ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:187:1: ( ( rule__VersionedQualifiedName__Group__0 ) )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:187:1: ( ( rule__VersionedQualifiedName__Group__0 ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:188:1: ( rule__VersionedQualifiedName__Group__0 )
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getVersionedQualifiedNameAccess().getGroup()); 
              }
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:189:1: ( rule__VersionedQualifiedName__Group__0 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:189:2: rule__VersionedQualifiedName__Group__0
              {
              pushFollow(FollowSets000.FOLLOW_rule__VersionedQualifiedName__Group__0_in_ruleVersionedQualifiedName339);
              rule__VersionedQualifiedName__Group__0();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getVersionedQualifiedNameAccess().getGroup()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "ruleVersionedQualifiedName"
  
  
      // $ANTLR start "entryRuleVersionedQualifiedReferenceName"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:201:1: entryRuleVersionedQualifiedReferenceName : ruleVersionedQualifiedReferenceName EOF ;
      public final void entryRuleVersionedQualifiedReferenceName() throws RecognitionException {
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:202:1: ( ruleVersionedQualifiedReferenceName EOF )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:203:1: ruleVersionedQualifiedReferenceName EOF
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getVersionedQualifiedReferenceNameRule()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleVersionedQualifiedReferenceName_in_entryRuleVersionedQualifiedReferenceName366);
              ruleVersionedQualifiedReferenceName();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getVersionedQualifiedReferenceNameRule()); 
              }
              match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVersionedQualifiedReferenceName373); if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
          }
          return ;
      }
      // $ANTLR end "entryRuleVersionedQualifiedReferenceName"
  
  
      // $ANTLR start "ruleVersionedQualifiedReferenceName"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:210:1: ruleVersionedQualifiedReferenceName : ( ( rule__VersionedQualifiedReferenceName__Group__0 ) ) ;
      public final void ruleVersionedQualifiedReferenceName() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:214:2: ( ( ( rule__VersionedQualifiedReferenceName__Group__0 ) ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:215:1: ( ( rule__VersionedQualifiedReferenceName__Group__0 ) )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:215:1: ( ( rule__VersionedQualifiedReferenceName__Group__0 ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:216:1: ( rule__VersionedQualifiedReferenceName__Group__0 )
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getVersionedQualifiedReferenceNameAccess().getGroup()); 
              }
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:217:1: ( rule__VersionedQualifiedReferenceName__Group__0 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:217:2: rule__VersionedQualifiedReferenceName__Group__0
              {
              pushFollow(FollowSets000.FOLLOW_rule__VersionedQualifiedReferenceName__Group__0_in_ruleVersionedQualifiedReferenceName399);
              rule__VersionedQualifiedReferenceName__Group__0();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getVersionedQualifiedReferenceNameAccess().getGroup()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "ruleVersionedQualifiedReferenceName"
  
  
      // $ANTLR start "entryRuleMInterface"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:229:1: entryRuleMInterface : ruleMInterface EOF ;
      public final void entryRuleMInterface() throws RecognitionException {
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:230:1: ( ruleMInterface EOF )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:231:1: ruleMInterface EOF
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMInterfaceRule()); 
              }
              pushFollow(FollowSets000.FOLLOW_ruleMInterface_in_entryRuleMInterface426);
              ruleMInterface();
  
              state._fsp--;
              if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMInterfaceRule()); 
              }
              match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMInterface433); if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
          }
          return ;
      }
      // $ANTLR end "entryRuleMInterface"
  
  
      // $ANTLR start "ruleMInterface"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:238:1: ruleMInterface : ( ( rule__MInterface__Group__0 ) ) ;
      public final void ruleMInterface() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:242:2: ( ( ( rule__MInterface__Group__0 ) ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:243:1: ( ( rule__MInterface__Group__0 ) )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:243:1: ( ( rule__MInterface__Group__0 ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:244:1: ( rule__MInterface__Group__0 )
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMInterfaceAccess().getGroup()); 
              }
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:245:1: ( rule__MInterface__Group__0 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:245:2: rule__MInterface__Group__0
              {
              pushFollow(FollowSets000.FOLLOW_rule__MInterface__Group__0_in_ruleMInterface459);
              rule__MInterface__Group__0();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMInterfaceAccess().getGroup()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "ruleMInterface"
  
  
      // $ANTLR start "rule__Version__Alternatives_0"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:257:1: rule__Version__Alternatives_0 : ( ( RULE_INT ) | ( ( rule__Version__Group_0_1__0 ) ) );
      public final void rule__Version__Alternatives_0() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:261:1: ( ( RULE_INT ) | ( ( rule__Version__Group_0_1__0 ) ) )
              int alt1=2;
              int LA1_0 = input.LA(1);
  
              if ( (LA1_0==RULE_INT) ) {
                  int LA1_1 = input.LA(2);
  
                  if ( (LA1_1==EOF||LA1_1==12||LA1_1==14||LA1_1==16) ) {
                      alt1=1;
                  }
                  else if ( (LA1_1==RULE_ID) ) {
                      alt1=2;
                  }
                  else {
                      if (state.backtracking>0) {state.failed=true; return ;}
                      NoViableAltException nvae =
                          new NoViableAltException("", 1, 1, input);
  
                      throw nvae;
                  }
              }
              else if ( (LA1_0==RULE_ID) ) {
                  alt1=2;
              }
              else {
                  if (state.backtracking>0) {state.failed=true; return ;}
                  NoViableAltException nvae =
                      new NoViableAltException("", 1, 0, input);
  
                  throw nvae;
              }
              switch (alt1) {
                  case 1 :
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:262:1: ( RULE_INT )
                      {
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:262:1: ( RULE_INT )
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:263:1: RULE_INT
                      {
                      if ( state.backtracking==0 ) {
                         before(grammarAccess.getVersionAccess().getINTTerminalRuleCall_0_0()); 
                      }
                      match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__Version__Alternatives_0495); if (state.failed) return ;
                      if ( state.backtracking==0 ) {
                         after(grammarAccess.getVersionAccess().getINTTerminalRuleCall_0_0()); 
                      }
  
                      }
  
  
                      }
                      break;
                  case 2 :
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:268:6: ( ( rule__Version__Group_0_1__0 ) )
                      {
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:268:6: ( ( rule__Version__Group_0_1__0 ) )
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:269:1: ( rule__Version__Group_0_1__0 )
                      {
                      if ( state.backtracking==0 ) {
                         before(grammarAccess.getVersionAccess().getGroup_0_1()); 
                      }
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:270:1: ( rule__Version__Group_0_1__0 )
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:270:2: rule__Version__Group_0_1__0
                      {
                      pushFollow(FollowSets000.FOLLOW_rule__Version__Group_0_1__0_in_rule__Version__Alternatives_0512);
                      rule__Version__Group_0_1__0();
  
                      state._fsp--;
                      if (state.failed) return ;
  
                      }
  
                      if ( state.backtracking==0 ) {
                         after(grammarAccess.getVersionAccess().getGroup_0_1()); 
                      }
  
                      }
  
  
                      }
                      break;
  
              }
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "rule__Version__Alternatives_0"
  
  
      // $ANTLR start "rule__Version__Alternatives_1_1"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:279:1: rule__Version__Alternatives_1_1 : ( ( RULE_INT ) | ( ( rule__Version__Group_1_1_1__0 ) ) );
      public final void rule__Version__Alternatives_1_1() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:283:1: ( ( RULE_INT ) | ( ( rule__Version__Group_1_1_1__0 ) ) )
              int alt2=2;
              int LA2_0 = input.LA(1);
  
              if ( (LA2_0==RULE_INT) ) {
                  int LA2_1 = input.LA(2);
  
                  if ( (LA2_1==RULE_ID) ) {
                      alt2=2;
                  }
                  else if ( (LA2_1==EOF||LA2_1==12||LA2_1==14||LA2_1==16) ) {
                      alt2=1;
                  }
                  else {
                      if (state.backtracking>0) {state.failed=true; return ;}
                      NoViableAltException nvae =
                          new NoViableAltException("", 2, 1, input);
  
                      throw nvae;
                  }
              }
              else if ( (LA2_0==RULE_ID) ) {
                  alt2=2;
              }
              else {
                  if (state.backtracking>0) {state.failed=true; return ;}
                  NoViableAltException nvae =
                      new NoViableAltException("", 2, 0, input);
  
                  throw nvae;
              }
              switch (alt2) {
                  case 1 :
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:284:1: ( RULE_INT )
                      {
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:284:1: ( RULE_INT )
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:285:1: RULE_INT
                      {
                      if ( state.backtracking==0 ) {
                         before(grammarAccess.getVersionAccess().getINTTerminalRuleCall_1_1_0()); 
                      }
                      match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__Version__Alternatives_1_1545); if (state.failed) return ;
                      if ( state.backtracking==0 ) {
                         after(grammarAccess.getVersionAccess().getINTTerminalRuleCall_1_1_0()); 
                      }
  
                      }
  
  
                      }
                      break;
                  case 2 :
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:290:6: ( ( rule__Version__Group_1_1_1__0 ) )
                      {
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:290:6: ( ( rule__Version__Group_1_1_1__0 ) )
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:291:1: ( rule__Version__Group_1_1_1__0 )
                      {
                      if ( state.backtracking==0 ) {
                         before(grammarAccess.getVersionAccess().getGroup_1_1_1()); 
                      }
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:292:1: ( rule__Version__Group_1_1_1__0 )
                      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:292:2: rule__Version__Group_1_1_1__0
                      {
                      pushFollow(FollowSets000.FOLLOW_rule__Version__Group_1_1_1__0_in_rule__Version__Alternatives_1_1562);
                      rule__Version__Group_1_1_1__0();
  
                      state._fsp--;
                      if (state.failed) return ;
  
                      }
  
                      if ( state.backtracking==0 ) {
                         after(grammarAccess.getVersionAccess().getGroup_1_1_1()); 
                      }
  
                      }
  
  
                      }
                      break;
  
              }
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "rule__Version__Alternatives_1_1"
  
  
      // $ANTLR start "rule__MMCLEVIFACEPackageFile__Group__0"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:303:1: rule__MMCLEVIFACEPackageFile__Group__0 : rule__MMCLEVIFACEPackageFile__Group__0__Impl rule__MMCLEVIFACEPackageFile__Group__1 ;
      public final void rule__MMCLEVIFACEPackageFile__Group__0() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:307:1: ( rule__MMCLEVIFACEPackageFile__Group__0__Impl rule__MMCLEVIFACEPackageFile__Group__1 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:308:2: rule__MMCLEVIFACEPackageFile__Group__0__Impl rule__MMCLEVIFACEPackageFile__Group__1
              {
              pushFollow(FollowSets000.FOLLOW_rule__MMCLEVIFACEPackageFile__Group__0__Impl_in_rule__MMCLEVIFACEPackageFile__Group__0593);
              rule__MMCLEVIFACEPackageFile__Group__0__Impl();
  
              state._fsp--;
              if (state.failed) return ;
              pushFollow(FollowSets000.FOLLOW_rule__MMCLEVIFACEPackageFile__Group__1_in_rule__MMCLEVIFACEPackageFile__Group__0596);
              rule__MMCLEVIFACEPackageFile__Group__1();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "rule__MMCLEVIFACEPackageFile__Group__0"
  
  
      // $ANTLR start "rule__MMCLEVIFACEPackageFile__Group__0__Impl"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:315:1: rule__MMCLEVIFACEPackageFile__Group__0__Impl : ( 'package' ) ;
      public final void rule__MMCLEVIFACEPackageFile__Group__0__Impl() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:319:1: ( ( 'package' ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:320:1: ( 'package' )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:320:1: ( 'package' )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:321:1: 'package'
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMMCLEVIFACEPackageFileAccess().getPackageKeyword_0()); 
              }
              match(input,11,FollowSets000.FOLLOW_11_in_rule__MMCLEVIFACEPackageFile__Group__0__Impl624); if (state.failed) return ;
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMMCLEVIFACEPackageFileAccess().getPackageKeyword_0()); 
              }
  
              }
  
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "rule__MMCLEVIFACEPackageFile__Group__0__Impl"
  
  
      // $ANTLR start "rule__MMCLEVIFACEPackageFile__Group__1"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:334:1: rule__MMCLEVIFACEPackageFile__Group__1 : rule__MMCLEVIFACEPackageFile__Group__1__Impl rule__MMCLEVIFACEPackageFile__Group__2 ;
      public final void rule__MMCLEVIFACEPackageFile__Group__1() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:338:1: ( rule__MMCLEVIFACEPackageFile__Group__1__Impl rule__MMCLEVIFACEPackageFile__Group__2 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:339:2: rule__MMCLEVIFACEPackageFile__Group__1__Impl rule__MMCLEVIFACEPackageFile__Group__2
              {
              pushFollow(FollowSets000.FOLLOW_rule__MMCLEVIFACEPackageFile__Group__1__Impl_in_rule__MMCLEVIFACEPackageFile__Group__1655);
              rule__MMCLEVIFACEPackageFile__Group__1__Impl();
  
              state._fsp--;
              if (state.failed) return ;
              pushFollow(FollowSets000.FOLLOW_rule__MMCLEVIFACEPackageFile__Group__2_in_rule__MMCLEVIFACEPackageFile__Group__1658);
              rule__MMCLEVIFACEPackageFile__Group__2();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
          }
          catch (RecognitionException re) {
              reportError(re);
              recover(input,re);
          }
          finally {
  
              	restoreStackSize(stackSize);
  
          }
          return ;
      }
      // $ANTLR end "rule__MMCLEVIFACEPackageFile__Group__1"
  
  
      // $ANTLR start "rule__MMCLEVIFACEPackageFile__Group__1__Impl"
      // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:346:1: rule__MMCLEVIFACEPackageFile__Group__1__Impl : ( ( rule__MMCLEVIFACEPackageFile__PackageAssignment_1 ) ) ;
      public final void rule__MMCLEVIFACEPackageFile__Group__1__Impl() throws RecognitionException {
  
          		int stackSize = keepStackSize();
              
          try {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:350:1: ( ( ( rule__MMCLEVIFACEPackageFile__PackageAssignment_1 ) ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:351:1: ( ( rule__MMCLEVIFACEPackageFile__PackageAssignment_1 ) )
              {
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:351:1: ( ( rule__MMCLEVIFACEPackageFile__PackageAssignment_1 ) )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:352:1: ( rule__MMCLEVIFACEPackageFile__PackageAssignment_1 )
              {
              if ( state.backtracking==0 ) {
                 before(grammarAccess.getMMCLEVIFACEPackageFileAccess().getPackageAssignment_1()); 
              }
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:353:1: ( rule__MMCLEVIFACEPackageFile__PackageAssignment_1 )
              // ../es.uah.aut.srg.micobs.mclev.editor.iface.ui/src-gen/es/uah/aut/srg/micobs/mclev/lang/ui/contentassist/antlr/internal/InternalIFACE.g:353:2: rule__MMCLEVIFACEPackageFile__PackageAssignment_1
              {
              pushFollow(FollowSets000.FOLLOW_rule__MMCLEVIFACEPackageFile__PackageAssignment_1_in_rule__MMCLEVIFACEPackageFile__Group__1__Impl685);
              rule__MMCLEVIFACEPackageFile__PackageAssignment_1();
  
              state._fsp--;
              if (state.failed) return ;
  
              }
  
              if ( state.backtracking==0 ) {
                 after(grammarAccess.getMMCLEVIFACEPackageFileAccess().getPackageAssignment_1()); 
              }
  
              }
  
  
              }
  
          }
  