package org.eclipselabs.mscript.language.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.eclipselabs.mscript.language.services.MscriptGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@SuppressWarnings("all")
public class InternalMscriptParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_REAL", "RULE_ONE", "RULE_INT", "RULE_N", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'\\''", "'false'", "'stateful'", "'continuous'", "'info'", "'warning'", "'error'", "'fatal'", "'=='", "'!='", "'<'", "'<='", "'>'", "'>='", "'+'", "'-'", "'*'", "'/'", "'.*'", "'./'", "'^'", "'.^'", "'!'", "'enum'", "'{'", "'}'", "','", "'type'", "'='", "';'", "'record'", "':'", "'func'", "'('", "')'", "'->'", "'check'", "'assert'", "'var'", "'fob'", "'real'", "'int'", "'complex'", "'gauss'", "'bool'", "'string'", "'['", "']'", "'let'", "'in'", "'if'", "'then'", "'else'", "'switch'", "'default'", "'case'", "'=>'", "'||'", "'&&'", "'is'", "'.'", "'|'", "'..'", "'der'", "'for'", "'$'", "'end'", "'algo'", "'while'", "'do'", "'continue'", "'break'", "'return'", "'::'", "'static'", "'initial'", "'true'"
    };
    public static final int T__68=68;
    public static final int T__69=69;
    public static final int RULE_ID=8;
    public static final int T__66=66;
    public static final int T__67=67;
    public static final int T__64=64;
    public static final int T__29=29;
    public static final int T__65=65;
    public static final int T__28=28;
    public static final int T__62=62;
    public static final int T__27=27;
    public static final int T__63=63;
    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=13;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_ONE=5;
    public static final int T__61=61;
    public static final int T__60=60;
    public static final int EOF=-1;
    public static final int T__55=55;
    public static final int T__56=56;
    public static final int T__19=19;
    public static final int T__57=57;
    public static final int T__58=58;
    public static final int T__16=16;
    public static final int T__51=51;
    public static final int T__90=90;
    public static final int T__15=15;
    public static final int T__52=52;
    public static final int T__18=18;
    public static final int T__53=53;
    public static final int T__54=54;
    public static final int T__17=17;
    public static final int T__14=14;
    public static final int RULE_N=7;
    public static final int T__59=59;
    public static final int RULE_INT=6;
    public static final int RULE_REAL=4;
    public static final int T__50=50;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__80=80;
    public static final int T__46=46;
    public static final int T__81=81;
    public static final int T__47=47;
    public static final int T__82=82;
    public static final int T__44=44;
    public static final int T__83=83;
    public static final int T__45=45;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int T__85=85;
    public static final int RULE_SL_COMMENT=11;
    public static final int T__84=84;
    public static final int T__87=87;
    public static final int T__86=86;
    public static final int T__89=89;
    public static final int T__88=88;
    public static final int RULE_ML_COMMENT=10;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int RULE_STRING=9;
    public static final int T__32=32;
    public static final int T__71=71;
    public static final int T__33=33;
    public static final int T__72=72;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__70=70;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_WS=12;
    public static final int T__76=76;
    public static final int T__75=75;
    public static final int T__74=74;
    public static final int T__73=73;
    public static final int T__79=79;
    public static final int T__78=78;
    public static final int T__77=77;

    // delegates
    // delegators


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

    public String[] getTokenNames() { return InternalMscriptParser.tokenNames; }
    public String getGrammarFileName() { return "../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g"; }


     
     	private MscriptGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MscriptGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleModule"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:62:1: entryRuleModule : ruleModule EOF ;
    public final void entryRuleModule() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:63:1: ( ruleModule EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:64:1: ruleModule EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getModuleRule()); 
            }
            pushFollow(FOLLOW_ruleModule_in_entryRuleModule67);
            ruleModule();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleModule"


    // $ANTLR start "ruleModule"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:71:1: ruleModule : ( ( rule__Module__DefinitionsAssignment )* ) ;
    public final void ruleModule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:75:2: ( ( ( rule__Module__DefinitionsAssignment )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:76:1: ( ( rule__Module__DefinitionsAssignment )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:76:1: ( ( rule__Module__DefinitionsAssignment )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:77:1: ( rule__Module__DefinitionsAssignment )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getModuleAccess().getDefinitionsAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:78:1: ( rule__Module__DefinitionsAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>=16 && LA1_0<=17)||LA1_0==37||LA1_0==41||LA1_0==44||LA1_0==46) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:78:2: rule__Module__DefinitionsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Module__DefinitionsAssignment_in_ruleModule100);
            	    rule__Module__DefinitionsAssignment();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getModuleAccess().getDefinitionsAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleModule"


    // $ANTLR start "entryRuleDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:90:1: entryRuleDefinition : ruleDefinition EOF ;
    public final void entryRuleDefinition() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:91:1: ( ruleDefinition EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:92:1: ruleDefinition EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDefinitionRule()); 
            }
            pushFollow(FOLLOW_ruleDefinition_in_entryRuleDefinition128);
            ruleDefinition();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDefinition"


    // $ANTLR start "ruleDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:99:1: ruleDefinition : ( ( rule__Definition__Alternatives ) ) ;
    public final void ruleDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:103:2: ( ( ( rule__Definition__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:104:1: ( ( rule__Definition__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:104:1: ( ( rule__Definition__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:105:1: ( rule__Definition__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDefinitionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:106:1: ( rule__Definition__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:106:2: rule__Definition__Alternatives
            {
            pushFollow(FOLLOW_rule__Definition__Alternatives_in_ruleDefinition161);
            rule__Definition__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDefinition"


    // $ANTLR start "entryRuleDataTypeDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:118:1: entryRuleDataTypeDefinition : ruleDataTypeDefinition EOF ;
    public final void entryRuleDataTypeDefinition() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:119:1: ( ruleDataTypeDefinition EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:120:1: ruleDataTypeDefinition EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDataTypeDefinitionRule()); 
            }
            pushFollow(FOLLOW_ruleDataTypeDefinition_in_entryRuleDataTypeDefinition188);
            ruleDataTypeDefinition();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDataTypeDefinition"


    // $ANTLR start "ruleDataTypeDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:127:1: ruleDataTypeDefinition : ( ( rule__DataTypeDefinition__Alternatives ) ) ;
    public final void ruleDataTypeDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:131:2: ( ( ( rule__DataTypeDefinition__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:132:1: ( ( rule__DataTypeDefinition__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:132:1: ( ( rule__DataTypeDefinition__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:133:1: ( rule__DataTypeDefinition__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDataTypeDefinitionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:134:1: ( rule__DataTypeDefinition__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:134:2: rule__DataTypeDefinition__Alternatives
            {
            pushFollow(FOLLOW_rule__DataTypeDefinition__Alternatives_in_ruleDataTypeDefinition221);
            rule__DataTypeDefinition__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDataTypeDefinition"


    // $ANTLR start "entryRuleEnumerationDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:146:1: entryRuleEnumerationDefinition : ruleEnumerationDefinition EOF ;
    public final void entryRuleEnumerationDefinition() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:147:1: ( ruleEnumerationDefinition EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:148:1: ruleEnumerationDefinition EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionRule()); 
            }
            pushFollow(FOLLOW_ruleEnumerationDefinition_in_entryRuleEnumerationDefinition248);
            ruleEnumerationDefinition();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEnumerationDefinition"


    // $ANTLR start "ruleEnumerationDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:155:1: ruleEnumerationDefinition : ( ( rule__EnumerationDefinition__Group__0 ) ) ;
    public final void ruleEnumerationDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:159:2: ( ( ( rule__EnumerationDefinition__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:160:1: ( ( rule__EnumerationDefinition__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:160:1: ( ( rule__EnumerationDefinition__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:161:1: ( rule__EnumerationDefinition__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:162:1: ( rule__EnumerationDefinition__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:162:2: rule__EnumerationDefinition__Group__0
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__0_in_ruleEnumerationDefinition281);
            rule__EnumerationDefinition__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEnumerationDefinition"


    // $ANTLR start "entryRuleEnumerationLiteralDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:174:1: entryRuleEnumerationLiteralDeclaration : ruleEnumerationLiteralDeclaration EOF ;
    public final void entryRuleEnumerationLiteralDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:175:1: ( ruleEnumerationLiteralDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:176:1: ruleEnumerationLiteralDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationLiteralDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleEnumerationLiteralDeclaration_in_entryRuleEnumerationLiteralDeclaration308);
            ruleEnumerationLiteralDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEnumerationLiteralDeclaration"


    // $ANTLR start "ruleEnumerationLiteralDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:183:1: ruleEnumerationLiteralDeclaration : ( ( rule__EnumerationLiteralDeclaration__NameAssignment ) ) ;
    public final void ruleEnumerationLiteralDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:187:2: ( ( ( rule__EnumerationLiteralDeclaration__NameAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:188:1: ( ( rule__EnumerationLiteralDeclaration__NameAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:188:1: ( ( rule__EnumerationLiteralDeclaration__NameAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:189:1: ( rule__EnumerationLiteralDeclaration__NameAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationLiteralDeclarationAccess().getNameAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:190:1: ( rule__EnumerationLiteralDeclaration__NameAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:190:2: rule__EnumerationLiteralDeclaration__NameAssignment
            {
            pushFollow(FOLLOW_rule__EnumerationLiteralDeclaration__NameAssignment_in_ruleEnumerationLiteralDeclaration341);
            rule__EnumerationLiteralDeclaration__NameAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationLiteralDeclarationAccess().getNameAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEnumerationLiteralDeclaration"


    // $ANTLR start "entryRuleTypeAliasDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:202:1: entryRuleTypeAliasDefinition : ruleTypeAliasDefinition EOF ;
    public final void entryRuleTypeAliasDefinition() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:203:1: ( ruleTypeAliasDefinition EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:204:1: ruleTypeAliasDefinition EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionRule()); 
            }
            pushFollow(FOLLOW_ruleTypeAliasDefinition_in_entryRuleTypeAliasDefinition368);
            ruleTypeAliasDefinition();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTypeAliasDefinition"


    // $ANTLR start "ruleTypeAliasDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:211:1: ruleTypeAliasDefinition : ( ( rule__TypeAliasDefinition__Group__0 ) ) ;
    public final void ruleTypeAliasDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:215:2: ( ( ( rule__TypeAliasDefinition__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:216:1: ( ( rule__TypeAliasDefinition__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:216:1: ( ( rule__TypeAliasDefinition__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:217:1: ( rule__TypeAliasDefinition__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:218:1: ( rule__TypeAliasDefinition__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:218:2: rule__TypeAliasDefinition__Group__0
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__0_in_ruleTypeAliasDefinition401);
            rule__TypeAliasDefinition__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTypeAliasDefinition"


    // $ANTLR start "entryRuleRecordDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:230:1: entryRuleRecordDefinition : ruleRecordDefinition EOF ;
    public final void entryRuleRecordDefinition() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:231:1: ( ruleRecordDefinition EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:232:1: ruleRecordDefinition EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionRule()); 
            }
            pushFollow(FOLLOW_ruleRecordDefinition_in_entryRuleRecordDefinition428);
            ruleRecordDefinition();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRecordDefinition"


    // $ANTLR start "ruleRecordDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:239:1: ruleRecordDefinition : ( ( rule__RecordDefinition__Group__0 ) ) ;
    public final void ruleRecordDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:243:2: ( ( ( rule__RecordDefinition__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:244:1: ( ( rule__RecordDefinition__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:244:1: ( ( rule__RecordDefinition__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:245:1: ( rule__RecordDefinition__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:246:1: ( rule__RecordDefinition__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:246:2: rule__RecordDefinition__Group__0
            {
            pushFollow(FOLLOW_rule__RecordDefinition__Group__0_in_ruleRecordDefinition461);
            rule__RecordDefinition__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRecordDefinition"


    // $ANTLR start "entryRuleRecordFieldDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:258:1: entryRuleRecordFieldDeclaration : ruleRecordFieldDeclaration EOF ;
    public final void entryRuleRecordFieldDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:259:1: ( ruleRecordFieldDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:260:1: ruleRecordFieldDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleRecordFieldDeclaration_in_entryRuleRecordFieldDeclaration488);
            ruleRecordFieldDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRecordFieldDeclaration"


    // $ANTLR start "ruleRecordFieldDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:267:1: ruleRecordFieldDeclaration : ( ( rule__RecordFieldDeclaration__Group__0 ) ) ;
    public final void ruleRecordFieldDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:271:2: ( ( ( rule__RecordFieldDeclaration__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:272:1: ( ( rule__RecordFieldDeclaration__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:272:1: ( ( rule__RecordFieldDeclaration__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:273:1: ( rule__RecordFieldDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:274:1: ( rule__RecordFieldDeclaration__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:274:2: rule__RecordFieldDeclaration__Group__0
            {
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__0_in_ruleRecordFieldDeclaration521);
            rule__RecordFieldDeclaration__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRecordFieldDeclaration"


    // $ANTLR start "entryRuleFunctionDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:286:1: entryRuleFunctionDefinition : ruleFunctionDefinition EOF ;
    public final void entryRuleFunctionDefinition() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:287:1: ( ruleFunctionDefinition EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:288:1: ruleFunctionDefinition EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionRule()); 
            }
            pushFollow(FOLLOW_ruleFunctionDefinition_in_entryRuleFunctionDefinition548);
            ruleFunctionDefinition();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFunctionDefinition"


    // $ANTLR start "ruleFunctionDefinition"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:295:1: ruleFunctionDefinition : ( ( rule__FunctionDefinition__Group__0 ) ) ;
    public final void ruleFunctionDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:299:2: ( ( ( rule__FunctionDefinition__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:300:1: ( ( rule__FunctionDefinition__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:300:1: ( ( rule__FunctionDefinition__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:301:1: ( rule__FunctionDefinition__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:302:1: ( rule__FunctionDefinition__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:302:2: rule__FunctionDefinition__Group__0
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__0_in_ruleFunctionDefinition581);
            rule__FunctionDefinition__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFunctionDefinition"


    // $ANTLR start "entryRuleTemplateParameterDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:314:1: entryRuleTemplateParameterDeclaration : ruleTemplateParameterDeclaration EOF ;
    public final void entryRuleTemplateParameterDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:315:1: ( ruleTemplateParameterDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:316:1: ruleTemplateParameterDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTemplateParameterDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleTemplateParameterDeclaration_in_entryRuleTemplateParameterDeclaration608);
            ruleTemplateParameterDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTemplateParameterDeclaration"


    // $ANTLR start "ruleTemplateParameterDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:323:1: ruleTemplateParameterDeclaration : ( ( rule__TemplateParameterDeclaration__NameAssignment ) ) ;
    public final void ruleTemplateParameterDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:327:2: ( ( ( rule__TemplateParameterDeclaration__NameAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:328:1: ( ( rule__TemplateParameterDeclaration__NameAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:328:1: ( ( rule__TemplateParameterDeclaration__NameAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:329:1: ( rule__TemplateParameterDeclaration__NameAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTemplateParameterDeclarationAccess().getNameAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:330:1: ( rule__TemplateParameterDeclaration__NameAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:330:2: rule__TemplateParameterDeclaration__NameAssignment
            {
            pushFollow(FOLLOW_rule__TemplateParameterDeclaration__NameAssignment_in_ruleTemplateParameterDeclaration641);
            rule__TemplateParameterDeclaration__NameAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTemplateParameterDeclarationAccess().getNameAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTemplateParameterDeclaration"


    // $ANTLR start "entryRuleInputParameterDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:342:1: entryRuleInputParameterDeclaration : ruleInputParameterDeclaration EOF ;
    public final void entryRuleInputParameterDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:343:1: ( ruleInputParameterDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:344:1: ruleInputParameterDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getInputParameterDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleInputParameterDeclaration_in_entryRuleInputParameterDeclaration668);
            ruleInputParameterDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleInputParameterDeclaration"


    // $ANTLR start "ruleInputParameterDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:351:1: ruleInputParameterDeclaration : ( ( rule__InputParameterDeclaration__NameAssignment ) ) ;
    public final void ruleInputParameterDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:355:2: ( ( ( rule__InputParameterDeclaration__NameAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:356:1: ( ( rule__InputParameterDeclaration__NameAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:356:1: ( ( rule__InputParameterDeclaration__NameAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:357:1: ( rule__InputParameterDeclaration__NameAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getInputParameterDeclarationAccess().getNameAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:358:1: ( rule__InputParameterDeclaration__NameAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:358:2: rule__InputParameterDeclaration__NameAssignment
            {
            pushFollow(FOLLOW_rule__InputParameterDeclaration__NameAssignment_in_ruleInputParameterDeclaration701);
            rule__InputParameterDeclaration__NameAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getInputParameterDeclarationAccess().getNameAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleInputParameterDeclaration"


    // $ANTLR start "entryRuleOutputParameterDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:370:1: entryRuleOutputParameterDeclaration : ruleOutputParameterDeclaration EOF ;
    public final void entryRuleOutputParameterDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:371:1: ( ruleOutputParameterDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:372:1: ruleOutputParameterDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getOutputParameterDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleOutputParameterDeclaration_in_entryRuleOutputParameterDeclaration728);
            ruleOutputParameterDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleOutputParameterDeclaration"


    // $ANTLR start "ruleOutputParameterDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:379:1: ruleOutputParameterDeclaration : ( ( rule__OutputParameterDeclaration__NameAssignment ) ) ;
    public final void ruleOutputParameterDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:383:2: ( ( ( rule__OutputParameterDeclaration__NameAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:384:1: ( ( rule__OutputParameterDeclaration__NameAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:384:1: ( ( rule__OutputParameterDeclaration__NameAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:385:1: ( rule__OutputParameterDeclaration__NameAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getOutputParameterDeclarationAccess().getNameAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:386:1: ( rule__OutputParameterDeclaration__NameAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:386:2: rule__OutputParameterDeclaration__NameAssignment
            {
            pushFollow(FOLLOW_rule__OutputParameterDeclaration__NameAssignment_in_ruleOutputParameterDeclaration761);
            rule__OutputParameterDeclaration__NameAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getOutputParameterDeclarationAccess().getNameAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleOutputParameterDeclaration"


    // $ANTLR start "entryRuleCheck"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:398:1: entryRuleCheck : ruleCheck EOF ;
    public final void entryRuleCheck() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:399:1: ( ruleCheck EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:400:1: ruleCheck EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckRule()); 
            }
            pushFollow(FOLLOW_ruleCheck_in_entryRuleCheck788);
            ruleCheck();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCheck"


    // $ANTLR start "ruleCheck"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:407:1: ruleCheck : ( ( rule__Check__Group__0 ) ) ;
    public final void ruleCheck() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:411:2: ( ( ( rule__Check__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:412:1: ( ( rule__Check__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:412:1: ( ( rule__Check__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:413:1: ( rule__Check__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:414:1: ( rule__Check__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:414:2: rule__Check__Group__0
            {
            pushFollow(FOLLOW_rule__Check__Group__0_in_ruleCheck821);
            rule__Check__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCheck"


    // $ANTLR start "entryRuleAssertion"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:426:1: entryRuleAssertion : ruleAssertion EOF ;
    public final void entryRuleAssertion() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:427:1: ( ruleAssertion EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:428:1: ruleAssertion EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionRule()); 
            }
            pushFollow(FOLLOW_ruleAssertion_in_entryRuleAssertion848);
            ruleAssertion();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAssertion"


    // $ANTLR start "ruleAssertion"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:435:1: ruleAssertion : ( ( rule__Assertion__Group__0 ) ) ;
    public final void ruleAssertion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:439:2: ( ( ( rule__Assertion__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:440:1: ( ( rule__Assertion__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:440:1: ( ( rule__Assertion__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:441:1: ( rule__Assertion__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:442:1: ( rule__Assertion__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:442:2: rule__Assertion__Group__0
            {
            pushFollow(FOLLOW_rule__Assertion__Group__0_in_ruleAssertion881);
            rule__Assertion__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAssertion"


    // $ANTLR start "entryRuleStateVariableDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:454:1: entryRuleStateVariableDeclaration : ruleStateVariableDeclaration EOF ;
    public final void entryRuleStateVariableDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:455:1: ( ruleStateVariableDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:456:1: ruleStateVariableDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStateVariableDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleStateVariableDeclaration_in_entryRuleStateVariableDeclaration908);
            ruleStateVariableDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStateVariableDeclaration"


    // $ANTLR start "ruleStateVariableDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:463:1: ruleStateVariableDeclaration : ( ( rule__StateVariableDeclaration__Group__0 ) ) ;
    public final void ruleStateVariableDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:467:2: ( ( ( rule__StateVariableDeclaration__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:468:1: ( ( rule__StateVariableDeclaration__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:468:1: ( ( rule__StateVariableDeclaration__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:469:1: ( rule__StateVariableDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStateVariableDeclarationAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:470:1: ( rule__StateVariableDeclaration__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:470:2: rule__StateVariableDeclaration__Group__0
            {
            pushFollow(FOLLOW_rule__StateVariableDeclaration__Group__0_in_ruleStateVariableDeclaration941);
            rule__StateVariableDeclaration__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStateVariableDeclaration"


    // $ANTLR start "entryRuleFunctionObjectDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:482:1: entryRuleFunctionObjectDeclaration : ruleFunctionObjectDeclaration EOF ;
    public final void entryRuleFunctionObjectDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:483:1: ( ruleFunctionObjectDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:484:1: ruleFunctionObjectDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleFunctionObjectDeclaration_in_entryRuleFunctionObjectDeclaration968);
            ruleFunctionObjectDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFunctionObjectDeclaration"


    // $ANTLR start "ruleFunctionObjectDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:491:1: ruleFunctionObjectDeclaration : ( ( rule__FunctionObjectDeclaration__Group__0 ) ) ;
    public final void ruleFunctionObjectDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:495:2: ( ( ( rule__FunctionObjectDeclaration__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:496:1: ( ( rule__FunctionObjectDeclaration__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:496:1: ( ( rule__FunctionObjectDeclaration__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:497:1: ( rule__FunctionObjectDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:498:1: ( rule__FunctionObjectDeclaration__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:498:2: rule__FunctionObjectDeclaration__Group__0
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__0_in_ruleFunctionObjectDeclaration1001);
            rule__FunctionObjectDeclaration__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFunctionObjectDeclaration"


    // $ANTLR start "entryRuleEquation"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:510:1: entryRuleEquation : ruleEquation EOF ;
    public final void entryRuleEquation() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:511:1: ( ruleEquation EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:512:1: ruleEquation EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationRule()); 
            }
            pushFollow(FOLLOW_ruleEquation_in_entryRuleEquation1028);
            ruleEquation();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEquation"


    // $ANTLR start "ruleEquation"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:519:1: ruleEquation : ( ( rule__Equation__Group__0 ) ) ;
    public final void ruleEquation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:523:2: ( ( ( rule__Equation__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:524:1: ( ( rule__Equation__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:524:1: ( ( rule__Equation__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:525:1: ( rule__Equation__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:526:1: ( rule__Equation__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:526:2: rule__Equation__Group__0
            {
            pushFollow(FOLLOW_rule__Equation__Group__0_in_ruleEquation1061);
            rule__Equation__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEquation"


    // $ANTLR start "entryRuleDataTypeSpecifier"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:538:1: entryRuleDataTypeSpecifier : ruleDataTypeSpecifier EOF ;
    public final void entryRuleDataTypeSpecifier() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:539:1: ( ruleDataTypeSpecifier EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:540:1: ruleDataTypeSpecifier EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDataTypeSpecifierRule()); 
            }
            pushFollow(FOLLOW_ruleDataTypeSpecifier_in_entryRuleDataTypeSpecifier1088);
            ruleDataTypeSpecifier();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDataTypeSpecifier"


    // $ANTLR start "ruleDataTypeSpecifier"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:547:1: ruleDataTypeSpecifier : ( ( rule__DataTypeSpecifier__Alternatives ) ) ;
    public final void ruleDataTypeSpecifier() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:551:2: ( ( ( rule__DataTypeSpecifier__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:552:1: ( ( rule__DataTypeSpecifier__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:552:1: ( ( rule__DataTypeSpecifier__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:553:1: ( rule__DataTypeSpecifier__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDataTypeSpecifierAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:554:1: ( rule__DataTypeSpecifier__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:554:2: rule__DataTypeSpecifier__Alternatives
            {
            pushFollow(FOLLOW_rule__DataTypeSpecifier__Alternatives_in_ruleDataTypeSpecifier1121);
            rule__DataTypeSpecifier__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDataTypeSpecifier"


    // $ANTLR start "entryRulePrimitiveType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:566:1: entryRulePrimitiveType : rulePrimitiveType EOF ;
    public final void entryRulePrimitiveType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:567:1: ( rulePrimitiveType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:568:1: rulePrimitiveType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPrimitiveTypeRule()); 
            }
            pushFollow(FOLLOW_rulePrimitiveType_in_entryRulePrimitiveType1148);
            rulePrimitiveType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePrimitiveType"


    // $ANTLR start "rulePrimitiveType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:575:1: rulePrimitiveType : ( ( rule__PrimitiveType__Alternatives ) ) ;
    public final void rulePrimitiveType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:579:2: ( ( ( rule__PrimitiveType__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:580:1: ( ( rule__PrimitiveType__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:580:1: ( ( rule__PrimitiveType__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:581:1: ( rule__PrimitiveType__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPrimitiveTypeAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:582:1: ( rule__PrimitiveType__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:582:2: rule__PrimitiveType__Alternatives
            {
            pushFollow(FOLLOW_rule__PrimitiveType__Alternatives_in_rulePrimitiveType1181);
            rule__PrimitiveType__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePrimitiveType"


    // $ANTLR start "entryRuleNumericType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:594:1: entryRuleNumericType : ruleNumericType EOF ;
    public final void entryRuleNumericType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:595:1: ( ruleNumericType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:596:1: ruleNumericType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNumericTypeRule()); 
            }
            pushFollow(FOLLOW_ruleNumericType_in_entryRuleNumericType1208);
            ruleNumericType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumericType"


    // $ANTLR start "ruleNumericType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:603:1: ruleNumericType : ( ( rule__NumericType__Alternatives ) ) ;
    public final void ruleNumericType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:607:2: ( ( ( rule__NumericType__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:608:1: ( ( rule__NumericType__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:608:1: ( ( rule__NumericType__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:609:1: ( rule__NumericType__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNumericTypeAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:610:1: ( rule__NumericType__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:610:2: rule__NumericType__Alternatives
            {
            pushFollow(FOLLOW_rule__NumericType__Alternatives_in_ruleNumericType1241);
            rule__NumericType__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumericType"


    // $ANTLR start "entryRuleRealType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:622:1: entryRuleRealType : ruleRealType EOF ;
    public final void entryRuleRealType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:623:1: ( ruleRealType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:624:1: ruleRealType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealTypeRule()); 
            }
            pushFollow(FOLLOW_ruleRealType_in_entryRuleRealType1268);
            ruleRealType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRealType"


    // $ANTLR start "ruleRealType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:631:1: ruleRealType : ( ( rule__RealType__Group__0 ) ) ;
    public final void ruleRealType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:635:2: ( ( ( rule__RealType__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:636:1: ( ( rule__RealType__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:636:1: ( ( rule__RealType__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:637:1: ( rule__RealType__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealTypeAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:638:1: ( rule__RealType__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:638:2: rule__RealType__Group__0
            {
            pushFollow(FOLLOW_rule__RealType__Group__0_in_ruleRealType1301);
            rule__RealType__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRealType"


    // $ANTLR start "entryRuleIntegerType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:650:1: entryRuleIntegerType : ruleIntegerType EOF ;
    public final void entryRuleIntegerType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:651:1: ( ruleIntegerType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:652:1: ruleIntegerType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerTypeRule()); 
            }
            pushFollow(FOLLOW_ruleIntegerType_in_entryRuleIntegerType1328);
            ruleIntegerType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIntegerType"


    // $ANTLR start "ruleIntegerType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:659:1: ruleIntegerType : ( ( rule__IntegerType__Group__0 ) ) ;
    public final void ruleIntegerType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:663:2: ( ( ( rule__IntegerType__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:664:1: ( ( rule__IntegerType__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:664:1: ( ( rule__IntegerType__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:665:1: ( rule__IntegerType__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerTypeAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:666:1: ( rule__IntegerType__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:666:2: rule__IntegerType__Group__0
            {
            pushFollow(FOLLOW_rule__IntegerType__Group__0_in_ruleIntegerType1361);
            rule__IntegerType__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIntegerType"


    // $ANTLR start "entryRuleComplexType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:678:1: entryRuleComplexType : ruleComplexType EOF ;
    public final void entryRuleComplexType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:679:1: ( ruleComplexType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:680:1: ruleComplexType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getComplexTypeRule()); 
            }
            pushFollow(FOLLOW_ruleComplexType_in_entryRuleComplexType1388);
            ruleComplexType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleComplexType"


    // $ANTLR start "ruleComplexType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:687:1: ruleComplexType : ( ( rule__ComplexType__Group__0 ) ) ;
    public final void ruleComplexType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:691:2: ( ( ( rule__ComplexType__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:692:1: ( ( rule__ComplexType__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:692:1: ( ( rule__ComplexType__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:693:1: ( rule__ComplexType__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getComplexTypeAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:694:1: ( rule__ComplexType__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:694:2: rule__ComplexType__Group__0
            {
            pushFollow(FOLLOW_rule__ComplexType__Group__0_in_ruleComplexType1421);
            rule__ComplexType__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleComplexType"


    // $ANTLR start "entryRuleGaussianType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:706:1: entryRuleGaussianType : ruleGaussianType EOF ;
    public final void entryRuleGaussianType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:707:1: ( ruleGaussianType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:708:1: ruleGaussianType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getGaussianTypeRule()); 
            }
            pushFollow(FOLLOW_ruleGaussianType_in_entryRuleGaussianType1448);
            ruleGaussianType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGaussianType"


    // $ANTLR start "ruleGaussianType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:715:1: ruleGaussianType : ( ( rule__GaussianType__Group__0 ) ) ;
    public final void ruleGaussianType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:719:2: ( ( ( rule__GaussianType__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:720:1: ( ( rule__GaussianType__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:720:1: ( ( rule__GaussianType__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:721:1: ( rule__GaussianType__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getGaussianTypeAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:722:1: ( rule__GaussianType__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:722:2: rule__GaussianType__Group__0
            {
            pushFollow(FOLLOW_rule__GaussianType__Group__0_in_ruleGaussianType1481);
            rule__GaussianType__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGaussianType"


    // $ANTLR start "entryRuleBooleanType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:734:1: entryRuleBooleanType : ruleBooleanType EOF ;
    public final void entryRuleBooleanType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:735:1: ( ruleBooleanType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:736:1: ruleBooleanType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanTypeRule()); 
            }
            pushFollow(FOLLOW_ruleBooleanType_in_entryRuleBooleanType1508);
            ruleBooleanType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBooleanType"


    // $ANTLR start "ruleBooleanType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:743:1: ruleBooleanType : ( ( rule__BooleanType__Group__0 ) ) ;
    public final void ruleBooleanType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:747:2: ( ( ( rule__BooleanType__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:748:1: ( ( rule__BooleanType__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:748:1: ( ( rule__BooleanType__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:749:1: ( rule__BooleanType__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanTypeAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:750:1: ( rule__BooleanType__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:750:2: rule__BooleanType__Group__0
            {
            pushFollow(FOLLOW_rule__BooleanType__Group__0_in_ruleBooleanType1541);
            rule__BooleanType__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBooleanType"


    // $ANTLR start "entryRuleStringType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:762:1: entryRuleStringType : ruleStringType EOF ;
    public final void entryRuleStringType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:763:1: ( ruleStringType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:764:1: ruleStringType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStringTypeRule()); 
            }
            pushFollow(FOLLOW_ruleStringType_in_entryRuleStringType1568);
            ruleStringType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStringType"


    // $ANTLR start "ruleStringType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:771:1: ruleStringType : ( ( rule__StringType__Group__0 ) ) ;
    public final void ruleStringType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:775:2: ( ( ( rule__StringType__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:776:1: ( ( rule__StringType__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:776:1: ( ( rule__StringType__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:777:1: ( rule__StringType__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStringTypeAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:778:1: ( rule__StringType__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:778:2: rule__StringType__Group__0
            {
            pushFollow(FOLLOW_rule__StringType__Group__0_in_ruleStringType1601);
            rule__StringType__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStringType"


    // $ANTLR start "entryRuleArrayType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:790:1: entryRuleArrayType : ruleArrayType EOF ;
    public final void entryRuleArrayType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:791:1: ( ruleArrayType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:792:1: ruleArrayType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeRule()); 
            }
            pushFollow(FOLLOW_ruleArrayType_in_entryRuleArrayType1628);
            ruleArrayType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArrayType"


    // $ANTLR start "ruleArrayType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:799:1: ruleArrayType : ( ( rule__ArrayType__Alternatives ) ) ;
    public final void ruleArrayType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:803:2: ( ( ( rule__ArrayType__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:804:1: ( ( rule__ArrayType__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:804:1: ( ( rule__ArrayType__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:805:1: ( rule__ArrayType__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:806:1: ( rule__ArrayType__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:806:2: rule__ArrayType__Alternatives
            {
            pushFollow(FOLLOW_rule__ArrayType__Alternatives_in_ruleArrayType1661);
            rule__ArrayType__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArrayType"


    // $ANTLR start "entryRuleTensorType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:818:1: entryRuleTensorType : ruleTensorType EOF ;
    public final void entryRuleTensorType() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:819:1: ( ruleTensorType EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:820:1: ruleTensorType EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeRule()); 
            }
            pushFollow(FOLLOW_ruleTensorType_in_entryRuleTensorType1688);
            ruleTensorType();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTensorType"


    // $ANTLR start "ruleTensorType"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:827:1: ruleTensorType : ( ( rule__TensorType__Group__0 ) ) ;
    public final void ruleTensorType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:831:2: ( ( ( rule__TensorType__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:832:1: ( ( rule__TensorType__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:832:1: ( ( rule__TensorType__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:833:1: ( rule__TensorType__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:834:1: ( rule__TensorType__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:834:2: rule__TensorType__Group__0
            {
            pushFollow(FOLLOW_rule__TensorType__Group__0_in_ruleTensorType1721);
            rule__TensorType__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTensorType"


    // $ANTLR start "entryRuleArrayDimension"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:846:1: entryRuleArrayDimension : ruleArrayDimension EOF ;
    public final void entryRuleArrayDimension() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:847:1: ( ruleArrayDimension EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:848:1: ruleArrayDimension EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayDimensionRule()); 
            }
            pushFollow(FOLLOW_ruleArrayDimension_in_entryRuleArrayDimension1748);
            ruleArrayDimension();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArrayDimension"


    // $ANTLR start "ruleArrayDimension"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:855:1: ruleArrayDimension : ( ( rule__ArrayDimension__Group__0 ) ) ;
    public final void ruleArrayDimension() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:859:2: ( ( ( rule__ArrayDimension__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:860:1: ( ( rule__ArrayDimension__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:860:1: ( ( rule__ArrayDimension__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:861:1: ( rule__ArrayDimension__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayDimensionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:862:1: ( rule__ArrayDimension__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:862:2: rule__ArrayDimension__Group__0
            {
            pushFollow(FOLLOW_rule__ArrayDimension__Group__0_in_ruleArrayDimension1781);
            rule__ArrayDimension__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArrayDimension"


    // $ANTLR start "entryRuleExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:874:1: entryRuleExpression : ruleExpression EOF ;
    public final void entryRuleExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:875:1: ( ruleExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:876:1: ruleExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression1808);
            ruleExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExpression"


    // $ANTLR start "ruleExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:883:1: ruleExpression : ( ( rule__Expression__Alternatives ) ) ;
    public final void ruleExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:887:2: ( ( ( rule__Expression__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:888:1: ( ( rule__Expression__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:888:1: ( ( rule__Expression__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:889:1: ( rule__Expression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:890:1: ( rule__Expression__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:890:2: rule__Expression__Alternatives
            {
            pushFollow(FOLLOW_rule__Expression__Alternatives_in_ruleExpression1841);
            rule__Expression__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExpression"


    // $ANTLR start "entryRuleLetExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:902:1: entryRuleLetExpression : ruleLetExpression EOF ;
    public final void entryRuleLetExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:903:1: ( ruleLetExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:904:1: ruleLetExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleLetExpression_in_entryRuleLetExpression1868);
            ruleLetExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLetExpression"


    // $ANTLR start "ruleLetExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:911:1: ruleLetExpression : ( ( rule__LetExpression__Group__0 ) ) ;
    public final void ruleLetExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:915:2: ( ( ( rule__LetExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:916:1: ( ( rule__LetExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:916:1: ( ( rule__LetExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:917:1: ( rule__LetExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:918:1: ( rule__LetExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:918:2: rule__LetExpression__Group__0
            {
            pushFollow(FOLLOW_rule__LetExpression__Group__0_in_ruleLetExpression1901);
            rule__LetExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLetExpression"


    // $ANTLR start "entryRuleLetExpressionVariableDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:930:1: entryRuleLetExpressionVariableDeclaration : ruleLetExpressionVariableDeclaration EOF ;
    public final void entryRuleLetExpressionVariableDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:931:1: ( ruleLetExpressionVariableDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:932:1: ruleLetExpressionVariableDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleLetExpressionVariableDeclaration_in_entryRuleLetExpressionVariableDeclaration1928);
            ruleLetExpressionVariableDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLetExpressionVariableDeclaration"


    // $ANTLR start "ruleLetExpressionVariableDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:939:1: ruleLetExpressionVariableDeclaration : ( ( rule__LetExpressionVariableDeclaration__Group__0 ) ) ;
    public final void ruleLetExpressionVariableDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:943:2: ( ( ( rule__LetExpressionVariableDeclaration__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:944:1: ( ( rule__LetExpressionVariableDeclaration__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:944:1: ( ( rule__LetExpressionVariableDeclaration__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:945:1: ( rule__LetExpressionVariableDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:946:1: ( rule__LetExpressionVariableDeclaration__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:946:2: rule__LetExpressionVariableDeclaration__Group__0
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group__0_in_ruleLetExpressionVariableDeclaration1961);
            rule__LetExpressionVariableDeclaration__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLetExpressionVariableDeclaration"


    // $ANTLR start "entryRuleLetExpressionVariableDeclarationPart"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:958:1: entryRuleLetExpressionVariableDeclarationPart : ruleLetExpressionVariableDeclarationPart EOF ;
    public final void entryRuleLetExpressionVariableDeclarationPart() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:959:1: ( ruleLetExpressionVariableDeclarationPart EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:960:1: ruleLetExpressionVariableDeclarationPart EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationPartRule()); 
            }
            pushFollow(FOLLOW_ruleLetExpressionVariableDeclarationPart_in_entryRuleLetExpressionVariableDeclarationPart1988);
            ruleLetExpressionVariableDeclarationPart();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLetExpressionVariableDeclarationPart"


    // $ANTLR start "ruleLetExpressionVariableDeclarationPart"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:967:1: ruleLetExpressionVariableDeclarationPart : ( ( rule__LetExpressionVariableDeclarationPart__NameAssignment ) ) ;
    public final void ruleLetExpressionVariableDeclarationPart() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:971:2: ( ( ( rule__LetExpressionVariableDeclarationPart__NameAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:972:1: ( ( rule__LetExpressionVariableDeclarationPart__NameAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:972:1: ( ( rule__LetExpressionVariableDeclarationPart__NameAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:973:1: ( rule__LetExpressionVariableDeclarationPart__NameAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationPartAccess().getNameAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:974:1: ( rule__LetExpressionVariableDeclarationPart__NameAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:974:2: rule__LetExpressionVariableDeclarationPart__NameAssignment
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclarationPart__NameAssignment_in_ruleLetExpressionVariableDeclarationPart2021);
            rule__LetExpressionVariableDeclarationPart__NameAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationPartAccess().getNameAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLetExpressionVariableDeclarationPart"


    // $ANTLR start "entryRuleIfExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:986:1: entryRuleIfExpression : ruleIfExpression EOF ;
    public final void entryRuleIfExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:987:1: ( ruleIfExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:988:1: ruleIfExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleIfExpression_in_entryRuleIfExpression2048);
            ruleIfExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIfExpression"


    // $ANTLR start "ruleIfExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:995:1: ruleIfExpression : ( ( rule__IfExpression__Group__0 ) ) ;
    public final void ruleIfExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:999:2: ( ( ( rule__IfExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1000:1: ( ( rule__IfExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1000:1: ( ( rule__IfExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1001:1: ( rule__IfExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1002:1: ( rule__IfExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1002:2: rule__IfExpression__Group__0
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__0_in_ruleIfExpression2081);
            rule__IfExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIfExpression"


    // $ANTLR start "entryRuleSwitchExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1014:1: entryRuleSwitchExpression : ruleSwitchExpression EOF ;
    public final void entryRuleSwitchExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1015:1: ( ruleSwitchExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1016:1: ruleSwitchExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleSwitchExpression_in_entryRuleSwitchExpression2108);
            ruleSwitchExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSwitchExpression"


    // $ANTLR start "ruleSwitchExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1023:1: ruleSwitchExpression : ( ( rule__SwitchExpression__Group__0 ) ) ;
    public final void ruleSwitchExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1027:2: ( ( ( rule__SwitchExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1028:1: ( ( rule__SwitchExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1028:1: ( ( rule__SwitchExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1029:1: ( rule__SwitchExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1030:1: ( rule__SwitchExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1030:2: rule__SwitchExpression__Group__0
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__0_in_ruleSwitchExpression2141);
            rule__SwitchExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSwitchExpression"


    // $ANTLR start "entryRuleSwitchCase"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1042:1: entryRuleSwitchCase : ruleSwitchCase EOF ;
    public final void entryRuleSwitchCase() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1043:1: ( ruleSwitchCase EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1044:1: ruleSwitchCase EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseRule()); 
            }
            pushFollow(FOLLOW_ruleSwitchCase_in_entryRuleSwitchCase2168);
            ruleSwitchCase();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSwitchCase"


    // $ANTLR start "ruleSwitchCase"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1051:1: ruleSwitchCase : ( ( rule__SwitchCase__Group__0 ) ) ;
    public final void ruleSwitchCase() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1055:2: ( ( ( rule__SwitchCase__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1056:1: ( ( rule__SwitchCase__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1056:1: ( ( rule__SwitchCase__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1057:1: ( rule__SwitchCase__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1058:1: ( rule__SwitchCase__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1058:2: rule__SwitchCase__Group__0
            {
            pushFollow(FOLLOW_rule__SwitchCase__Group__0_in_ruleSwitchCase2201);
            rule__SwitchCase__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSwitchCase"


    // $ANTLR start "entryRuleRangeExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1070:1: entryRuleRangeExpression : ruleRangeExpression EOF ;
    public final void entryRuleRangeExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1071:1: ( ruleRangeExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1072:1: ruleRangeExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleRangeExpression_in_entryRuleRangeExpression2228);
            ruleRangeExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRangeExpression"


    // $ANTLR start "ruleRangeExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1079:1: ruleRangeExpression : ( ( rule__RangeExpression__Group__0 ) ) ;
    public final void ruleRangeExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1083:2: ( ( ( rule__RangeExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1084:1: ( ( rule__RangeExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1084:1: ( ( rule__RangeExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1085:1: ( rule__RangeExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1086:1: ( rule__RangeExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1086:2: rule__RangeExpression__Group__0
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group__0_in_ruleRangeExpression2261);
            rule__RangeExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRangeExpression"


    // $ANTLR start "entryRuleImpliesExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1098:1: entryRuleImpliesExpression : ruleImpliesExpression EOF ;
    public final void entryRuleImpliesExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1099:1: ( ruleImpliesExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1100:1: ruleImpliesExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleImpliesExpression_in_entryRuleImpliesExpression2288);
            ruleImpliesExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImpliesExpression"


    // $ANTLR start "ruleImpliesExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1107:1: ruleImpliesExpression : ( ( rule__ImpliesExpression__Group__0 ) ) ;
    public final void ruleImpliesExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1111:2: ( ( ( rule__ImpliesExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1112:1: ( ( rule__ImpliesExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1112:1: ( ( rule__ImpliesExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1113:1: ( rule__ImpliesExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1114:1: ( rule__ImpliesExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1114:2: rule__ImpliesExpression__Group__0
            {
            pushFollow(FOLLOW_rule__ImpliesExpression__Group__0_in_ruleImpliesExpression2321);
            rule__ImpliesExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImpliesExpression"


    // $ANTLR start "entryRuleLogicalOrExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1126:1: entryRuleLogicalOrExpression : ruleLogicalOrExpression EOF ;
    public final void entryRuleLogicalOrExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1127:1: ( ruleLogicalOrExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1128:1: ruleLogicalOrExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleLogicalOrExpression_in_entryRuleLogicalOrExpression2348);
            ruleLogicalOrExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLogicalOrExpression"


    // $ANTLR start "ruleLogicalOrExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1135:1: ruleLogicalOrExpression : ( ( rule__LogicalOrExpression__Group__0 ) ) ;
    public final void ruleLogicalOrExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1139:2: ( ( ( rule__LogicalOrExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1140:1: ( ( rule__LogicalOrExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1140:1: ( ( rule__LogicalOrExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1141:1: ( rule__LogicalOrExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1142:1: ( rule__LogicalOrExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1142:2: rule__LogicalOrExpression__Group__0
            {
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group__0_in_ruleLogicalOrExpression2381);
            rule__LogicalOrExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLogicalOrExpression"


    // $ANTLR start "entryRuleLogicalAndExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1154:1: entryRuleLogicalAndExpression : ruleLogicalAndExpression EOF ;
    public final void entryRuleLogicalAndExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1155:1: ( ruleLogicalAndExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1156:1: ruleLogicalAndExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleLogicalAndExpression_in_entryRuleLogicalAndExpression2408);
            ruleLogicalAndExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLogicalAndExpression"


    // $ANTLR start "ruleLogicalAndExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1163:1: ruleLogicalAndExpression : ( ( rule__LogicalAndExpression__Group__0 ) ) ;
    public final void ruleLogicalAndExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1167:2: ( ( ( rule__LogicalAndExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1168:1: ( ( rule__LogicalAndExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1168:1: ( ( rule__LogicalAndExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1169:1: ( rule__LogicalAndExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1170:1: ( rule__LogicalAndExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1170:2: rule__LogicalAndExpression__Group__0
            {
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group__0_in_ruleLogicalAndExpression2441);
            rule__LogicalAndExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLogicalAndExpression"


    // $ANTLR start "entryRuleEqualityExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1182:1: entryRuleEqualityExpression : ruleEqualityExpression EOF ;
    public final void entryRuleEqualityExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1183:1: ( ruleEqualityExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1184:1: ruleEqualityExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleEqualityExpression_in_entryRuleEqualityExpression2468);
            ruleEqualityExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEqualityExpression"


    // $ANTLR start "ruleEqualityExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1191:1: ruleEqualityExpression : ( ( rule__EqualityExpression__Group__0 ) ) ;
    public final void ruleEqualityExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1195:2: ( ( ( rule__EqualityExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1196:1: ( ( rule__EqualityExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1196:1: ( ( rule__EqualityExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1197:1: ( rule__EqualityExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1198:1: ( rule__EqualityExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1198:2: rule__EqualityExpression__Group__0
            {
            pushFollow(FOLLOW_rule__EqualityExpression__Group__0_in_ruleEqualityExpression2501);
            rule__EqualityExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEqualityExpression"


    // $ANTLR start "entryRuleRelationalExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1210:1: entryRuleRelationalExpression : ruleRelationalExpression EOF ;
    public final void entryRuleRelationalExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1211:1: ( ruleRelationalExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1212:1: ruleRelationalExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleRelationalExpression_in_entryRuleRelationalExpression2528);
            ruleRelationalExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRelationalExpression"


    // $ANTLR start "ruleRelationalExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1219:1: ruleRelationalExpression : ( ( rule__RelationalExpression__Group__0 ) ) ;
    public final void ruleRelationalExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1223:2: ( ( ( rule__RelationalExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1224:1: ( ( rule__RelationalExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1224:1: ( ( rule__RelationalExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1225:1: ( rule__RelationalExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1226:1: ( rule__RelationalExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1226:2: rule__RelationalExpression__Group__0
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group__0_in_ruleRelationalExpression2561);
            rule__RelationalExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRelationalExpression"


    // $ANTLR start "entryRuleAdditiveExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1238:1: entryRuleAdditiveExpression : ruleAdditiveExpression EOF ;
    public final void entryRuleAdditiveExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1239:1: ( ruleAdditiveExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1240:1: ruleAdditiveExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleAdditiveExpression_in_entryRuleAdditiveExpression2588);
            ruleAdditiveExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAdditiveExpression"


    // $ANTLR start "ruleAdditiveExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1247:1: ruleAdditiveExpression : ( ( rule__AdditiveExpression__Group__0 ) ) ;
    public final void ruleAdditiveExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1251:2: ( ( ( rule__AdditiveExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1252:1: ( ( rule__AdditiveExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1252:1: ( ( rule__AdditiveExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1253:1: ( rule__AdditiveExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1254:1: ( rule__AdditiveExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1254:2: rule__AdditiveExpression__Group__0
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__Group__0_in_ruleAdditiveExpression2621);
            rule__AdditiveExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAdditiveExpression"


    // $ANTLR start "entryRuleMultiplicativeExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1266:1: entryRuleMultiplicativeExpression : ruleMultiplicativeExpression EOF ;
    public final void entryRuleMultiplicativeExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1267:1: ( ruleMultiplicativeExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1268:1: ruleMultiplicativeExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleMultiplicativeExpression_in_entryRuleMultiplicativeExpression2648);
            ruleMultiplicativeExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMultiplicativeExpression"


    // $ANTLR start "ruleMultiplicativeExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1275:1: ruleMultiplicativeExpression : ( ( rule__MultiplicativeExpression__Group__0 ) ) ;
    public final void ruleMultiplicativeExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1279:2: ( ( ( rule__MultiplicativeExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1280:1: ( ( rule__MultiplicativeExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1280:1: ( ( rule__MultiplicativeExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1281:1: ( rule__MultiplicativeExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1282:1: ( rule__MultiplicativeExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1282:2: rule__MultiplicativeExpression__Group__0
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group__0_in_ruleMultiplicativeExpression2681);
            rule__MultiplicativeExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMultiplicativeExpression"


    // $ANTLR start "entryRulePowerExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1294:1: entryRulePowerExpression : rulePowerExpression EOF ;
    public final void entryRulePowerExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1295:1: ( rulePowerExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1296:1: rulePowerExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionRule()); 
            }
            pushFollow(FOLLOW_rulePowerExpression_in_entryRulePowerExpression2708);
            rulePowerExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePowerExpression"


    // $ANTLR start "rulePowerExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1303:1: rulePowerExpression : ( ( rule__PowerExpression__Group__0 ) ) ;
    public final void rulePowerExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1307:2: ( ( ( rule__PowerExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1308:1: ( ( rule__PowerExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1308:1: ( ( rule__PowerExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1309:1: ( rule__PowerExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1310:1: ( rule__PowerExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1310:2: rule__PowerExpression__Group__0
            {
            pushFollow(FOLLOW_rule__PowerExpression__Group__0_in_rulePowerExpression2741);
            rule__PowerExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePowerExpression"


    // $ANTLR start "entryRuleUnaryExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1322:1: entryRuleUnaryExpression : ruleUnaryExpression EOF ;
    public final void entryRuleUnaryExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1323:1: ( ruleUnaryExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1324:1: ruleUnaryExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleUnaryExpression_in_entryRuleUnaryExpression2768);
            ruleUnaryExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnaryExpression"


    // $ANTLR start "ruleUnaryExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1331:1: ruleUnaryExpression : ( ( rule__UnaryExpression__Alternatives ) ) ;
    public final void ruleUnaryExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1335:2: ( ( ( rule__UnaryExpression__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1336:1: ( ( rule__UnaryExpression__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1336:1: ( ( rule__UnaryExpression__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1337:1: ( rule__UnaryExpression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryExpressionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1338:1: ( rule__UnaryExpression__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1338:2: rule__UnaryExpression__Alternatives
            {
            pushFollow(FOLLOW_rule__UnaryExpression__Alternatives_in_ruleUnaryExpression2801);
            rule__UnaryExpression__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnaryExpression"


    // $ANTLR start "entryRulePostfixExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1350:1: entryRulePostfixExpression : rulePostfixExpression EOF ;
    public final void entryRulePostfixExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1351:1: ( rulePostfixExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1352:1: rulePostfixExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixExpressionRule()); 
            }
            pushFollow(FOLLOW_rulePostfixExpression_in_entryRulePostfixExpression2828);
            rulePostfixExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePostfixExpression"


    // $ANTLR start "rulePostfixExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1359:1: rulePostfixExpression : ( ( rule__PostfixExpression__Group__0 ) ) ;
    public final void rulePostfixExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1363:2: ( ( ( rule__PostfixExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1364:1: ( ( rule__PostfixExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1364:1: ( ( rule__PostfixExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1365:1: ( rule__PostfixExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1366:1: ( rule__PostfixExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1366:2: rule__PostfixExpression__Group__0
            {
            pushFollow(FOLLOW_rule__PostfixExpression__Group__0_in_rulePostfixExpression2861);
            rule__PostfixExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePostfixExpression"


    // $ANTLR start "entryRuleArrayElementAccess"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1378:1: entryRuleArrayElementAccess : ruleArrayElementAccess EOF ;
    public final void entryRuleArrayElementAccess() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1379:1: ( ruleArrayElementAccess EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1380:1: ruleArrayElementAccess EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessRule()); 
            }
            pushFollow(FOLLOW_ruleArrayElementAccess_in_entryRuleArrayElementAccess2888);
            ruleArrayElementAccess();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArrayElementAccess"


    // $ANTLR start "ruleArrayElementAccess"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1387:1: ruleArrayElementAccess : ( ( rule__ArrayElementAccess__Group__0 ) ) ;
    public final void ruleArrayElementAccess() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1391:2: ( ( ( rule__ArrayElementAccess__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1392:1: ( ( rule__ArrayElementAccess__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1392:1: ( ( rule__ArrayElementAccess__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1393:1: ( rule__ArrayElementAccess__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1394:1: ( rule__ArrayElementAccess__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1394:2: rule__ArrayElementAccess__Group__0
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group__0_in_ruleArrayElementAccess2921);
            rule__ArrayElementAccess__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArrayElementAccess"


    // $ANTLR start "entryRuleMemberFeatureCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1406:1: entryRuleMemberFeatureCall : ruleMemberFeatureCall EOF ;
    public final void entryRuleMemberFeatureCall() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1407:1: ( ruleMemberFeatureCall EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1408:1: ruleMemberFeatureCall EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallRule()); 
            }
            pushFollow(FOLLOW_ruleMemberFeatureCall_in_entryRuleMemberFeatureCall2948);
            ruleMemberFeatureCall();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMemberFeatureCall"


    // $ANTLR start "ruleMemberFeatureCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1415:1: ruleMemberFeatureCall : ( ( rule__MemberFeatureCall__Group__0 ) ) ;
    public final void ruleMemberFeatureCall() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1419:2: ( ( ( rule__MemberFeatureCall__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1420:1: ( ( rule__MemberFeatureCall__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1420:1: ( ( rule__MemberFeatureCall__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1421:1: ( rule__MemberFeatureCall__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1422:1: ( rule__MemberFeatureCall__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1422:2: rule__MemberFeatureCall__Group__0
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group__0_in_ruleMemberFeatureCall2981);
            rule__MemberFeatureCall__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMemberFeatureCall"


    // $ANTLR start "entryRuleAssignableMemberFeatureCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1434:1: entryRuleAssignableMemberFeatureCall : ruleAssignableMemberFeatureCall EOF ;
    public final void entryRuleAssignableMemberFeatureCall() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1435:1: ( ruleAssignableMemberFeatureCall EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1436:1: ruleAssignableMemberFeatureCall EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallRule()); 
            }
            pushFollow(FOLLOW_ruleAssignableMemberFeatureCall_in_entryRuleAssignableMemberFeatureCall3008);
            ruleAssignableMemberFeatureCall();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAssignableMemberFeatureCall"


    // $ANTLR start "ruleAssignableMemberFeatureCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1443:1: ruleAssignableMemberFeatureCall : ( ( rule__AssignableMemberFeatureCall__Group__0 ) ) ;
    public final void ruleAssignableMemberFeatureCall() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1447:2: ( ( ( rule__AssignableMemberFeatureCall__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1448:1: ( ( rule__AssignableMemberFeatureCall__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1448:1: ( ( rule__AssignableMemberFeatureCall__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1449:1: ( rule__AssignableMemberFeatureCall__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1450:1: ( rule__AssignableMemberFeatureCall__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1450:2: rule__AssignableMemberFeatureCall__Group__0
            {
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group__0_in_ruleAssignableMemberFeatureCall3041);
            rule__AssignableMemberFeatureCall__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAssignableMemberFeatureCall"


    // $ANTLR start "entryRuleIterationVariable"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1462:1: entryRuleIterationVariable : ruleIterationVariable EOF ;
    public final void entryRuleIterationVariable() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1463:1: ( ruleIterationVariable EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1464:1: ruleIterationVariable EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationVariableRule()); 
            }
            pushFollow(FOLLOW_ruleIterationVariable_in_entryRuleIterationVariable3068);
            ruleIterationVariable();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIterationVariable"


    // $ANTLR start "ruleIterationVariable"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1471:1: ruleIterationVariable : ( ( rule__IterationVariable__NameAssignment ) ) ;
    public final void ruleIterationVariable() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1475:2: ( ( ( rule__IterationVariable__NameAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1476:1: ( ( rule__IterationVariable__NameAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1476:1: ( ( rule__IterationVariable__NameAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1477:1: ( rule__IterationVariable__NameAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationVariableAccess().getNameAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1478:1: ( rule__IterationVariable__NameAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1478:2: rule__IterationVariable__NameAssignment
            {
            pushFollow(FOLLOW_rule__IterationVariable__NameAssignment_in_ruleIterationVariable3101);
            rule__IterationVariable__NameAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIterationVariableAccess().getNameAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIterationVariable"


    // $ANTLR start "entryRuleIterationAccumulator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1490:1: entryRuleIterationAccumulator : ruleIterationAccumulator EOF ;
    public final void entryRuleIterationAccumulator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1491:1: ( ruleIterationAccumulator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1492:1: ruleIterationAccumulator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationAccumulatorRule()); 
            }
            pushFollow(FOLLOW_ruleIterationAccumulator_in_entryRuleIterationAccumulator3128);
            ruleIterationAccumulator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIterationAccumulator"


    // $ANTLR start "ruleIterationAccumulator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1499:1: ruleIterationAccumulator : ( ( rule__IterationAccumulator__Group__0 ) ) ;
    public final void ruleIterationAccumulator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1503:2: ( ( ( rule__IterationAccumulator__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1504:1: ( ( rule__IterationAccumulator__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1504:1: ( ( rule__IterationAccumulator__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1505:1: ( rule__IterationAccumulator__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationAccumulatorAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1506:1: ( rule__IterationAccumulator__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1506:2: rule__IterationAccumulator__Group__0
            {
            pushFollow(FOLLOW_rule__IterationAccumulator__Group__0_in_ruleIterationAccumulator3161);
            rule__IterationAccumulator__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIterationAccumulator"


    // $ANTLR start "entryRuleArraySubscript"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1518:1: entryRuleArraySubscript : ruleArraySubscript EOF ;
    public final void entryRuleArraySubscript() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1519:1: ( ruleArraySubscript EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1520:1: ruleArraySubscript EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArraySubscriptRule()); 
            }
            pushFollow(FOLLOW_ruleArraySubscript_in_entryRuleArraySubscript3188);
            ruleArraySubscript();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArraySubscript"


    // $ANTLR start "ruleArraySubscript"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1527:1: ruleArraySubscript : ( ( rule__ArraySubscript__Alternatives ) ) ;
    public final void ruleArraySubscript() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1531:2: ( ( ( rule__ArraySubscript__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1532:1: ( ( rule__ArraySubscript__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1532:1: ( ( rule__ArraySubscript__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1533:1: ( rule__ArraySubscript__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArraySubscriptAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1534:1: ( rule__ArraySubscript__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1534:2: rule__ArraySubscript__Alternatives
            {
            pushFollow(FOLLOW_rule__ArraySubscript__Alternatives_in_ruleArraySubscript3221);
            rule__ArraySubscript__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArraySubscript"


    // $ANTLR start "entryRulePrimaryExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1546:1: entryRulePrimaryExpression : rulePrimaryExpression EOF ;
    public final void entryRulePrimaryExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1547:1: ( rulePrimaryExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1548:1: rulePrimaryExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPrimaryExpressionRule()); 
            }
            pushFollow(FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression3248);
            rulePrimaryExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePrimaryExpression"


    // $ANTLR start "rulePrimaryExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1555:1: rulePrimaryExpression : ( ( rule__PrimaryExpression__Alternatives ) ) ;
    public final void rulePrimaryExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1559:2: ( ( ( rule__PrimaryExpression__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1560:1: ( ( rule__PrimaryExpression__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1560:1: ( ( rule__PrimaryExpression__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1561:1: ( rule__PrimaryExpression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPrimaryExpressionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1562:1: ( rule__PrimaryExpression__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1562:2: rule__PrimaryExpression__Alternatives
            {
            pushFollow(FOLLOW_rule__PrimaryExpression__Alternatives_in_rulePrimaryExpression3281);
            rule__PrimaryExpression__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePrimaryExpression"


    // $ANTLR start "entryRuleAssignablePrimaryExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1574:1: entryRuleAssignablePrimaryExpression : ruleAssignablePrimaryExpression EOF ;
    public final void entryRuleAssignablePrimaryExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1575:1: ( ruleAssignablePrimaryExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1576:1: ruleAssignablePrimaryExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignablePrimaryExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleAssignablePrimaryExpression_in_entryRuleAssignablePrimaryExpression3308);
            ruleAssignablePrimaryExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAssignablePrimaryExpression"


    // $ANTLR start "ruleAssignablePrimaryExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1583:1: ruleAssignablePrimaryExpression : ( ( rule__AssignablePrimaryExpression__Alternatives ) ) ;
    public final void ruleAssignablePrimaryExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1587:2: ( ( ( rule__AssignablePrimaryExpression__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1588:1: ( ( rule__AssignablePrimaryExpression__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1588:1: ( ( rule__AssignablePrimaryExpression__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1589:1: ( rule__AssignablePrimaryExpression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignablePrimaryExpressionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1590:1: ( rule__AssignablePrimaryExpression__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1590:2: rule__AssignablePrimaryExpression__Alternatives
            {
            pushFollow(FOLLOW_rule__AssignablePrimaryExpression__Alternatives_in_ruleAssignablePrimaryExpression3341);
            rule__AssignablePrimaryExpression__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAssignablePrimaryExpression"


    // $ANTLR start "entryRuleLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1602:1: entryRuleLiteral : ruleLiteral EOF ;
    public final void entryRuleLiteral() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1603:1: ( ruleLiteral EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1604:1: ruleLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLiteralRule()); 
            }
            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral3368);
            ruleLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLiteral"


    // $ANTLR start "ruleLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1611:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
    public final void ruleLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1615:2: ( ( ( rule__Literal__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1616:1: ( ( rule__Literal__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1616:1: ( ( rule__Literal__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1617:1: ( rule__Literal__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLiteralAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1618:1: ( rule__Literal__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1618:2: rule__Literal__Alternatives
            {
            pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral3401);
            rule__Literal__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLiteral"


    // $ANTLR start "entryRuleNumericLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1630:1: entryRuleNumericLiteral : ruleNumericLiteral EOF ;
    public final void entryRuleNumericLiteral() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1631:1: ( ruleNumericLiteral EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1632:1: ruleNumericLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNumericLiteralRule()); 
            }
            pushFollow(FOLLOW_ruleNumericLiteral_in_entryRuleNumericLiteral3428);
            ruleNumericLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumericLiteral"


    // $ANTLR start "ruleNumericLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1639:1: ruleNumericLiteral : ( ( rule__NumericLiteral__Alternatives ) ) ;
    public final void ruleNumericLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1643:2: ( ( ( rule__NumericLiteral__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1644:1: ( ( rule__NumericLiteral__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1644:1: ( ( rule__NumericLiteral__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1645:1: ( rule__NumericLiteral__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNumericLiteralAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1646:1: ( rule__NumericLiteral__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1646:2: rule__NumericLiteral__Alternatives
            {
            pushFollow(FOLLOW_rule__NumericLiteral__Alternatives_in_ruleNumericLiteral3461);
            rule__NumericLiteral__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumericLiteral"


    // $ANTLR start "entryRuleRealLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1658:1: entryRuleRealLiteral : ruleRealLiteral EOF ;
    public final void entryRuleRealLiteral() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1659:1: ( ruleRealLiteral EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1660:1: ruleRealLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralRule()); 
            }
            pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral3488);
            ruleRealLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRealLiteral"


    // $ANTLR start "ruleRealLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1667:1: ruleRealLiteral : ( ( rule__RealLiteral__Group__0 ) ) ;
    public final void ruleRealLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1671:2: ( ( ( rule__RealLiteral__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1672:1: ( ( rule__RealLiteral__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1672:1: ( ( rule__RealLiteral__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1673:1: ( rule__RealLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1674:1: ( rule__RealLiteral__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1674:2: rule__RealLiteral__Group__0
            {
            pushFollow(FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral3521);
            rule__RealLiteral__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRealLiteral"


    // $ANTLR start "entryRuleIntegerLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1686:1: entryRuleIntegerLiteral : ruleIntegerLiteral EOF ;
    public final void entryRuleIntegerLiteral() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1687:1: ( ruleIntegerLiteral EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1688:1: ruleIntegerLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralRule()); 
            }
            pushFollow(FOLLOW_ruleIntegerLiteral_in_entryRuleIntegerLiteral3548);
            ruleIntegerLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIntegerLiteral"


    // $ANTLR start "ruleIntegerLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1695:1: ruleIntegerLiteral : ( ( rule__IntegerLiteral__Group__0 ) ) ;
    public final void ruleIntegerLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1699:2: ( ( ( rule__IntegerLiteral__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1700:1: ( ( rule__IntegerLiteral__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1700:1: ( ( rule__IntegerLiteral__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1701:1: ( rule__IntegerLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1702:1: ( rule__IntegerLiteral__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1702:2: rule__IntegerLiteral__Group__0
            {
            pushFollow(FOLLOW_rule__IntegerLiteral__Group__0_in_ruleIntegerLiteral3581);
            rule__IntegerLiteral__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIntegerLiteral"


    // $ANTLR start "entryRuleBooleanLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1714:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ;
    public final void entryRuleBooleanLiteral() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1715:1: ( ruleBooleanLiteral EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1716:1: ruleBooleanLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanLiteralRule()); 
            }
            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral3608);
            ruleBooleanLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBooleanLiteral"


    // $ANTLR start "ruleBooleanLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1723:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__Group__0 ) ) ;
    public final void ruleBooleanLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1727:2: ( ( ( rule__BooleanLiteral__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1728:1: ( ( rule__BooleanLiteral__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1728:1: ( ( rule__BooleanLiteral__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1729:1: ( rule__BooleanLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanLiteralAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1730:1: ( rule__BooleanLiteral__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1730:2: rule__BooleanLiteral__Group__0
            {
            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral3641);
            rule__BooleanLiteral__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBooleanLiteral"


    // $ANTLR start "entryRuleStringLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1742:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
    public final void entryRuleStringLiteral() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1743:1: ( ruleStringLiteral EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1744:1: ruleStringLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStringLiteralRule()); 
            }
            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral3668);
            ruleStringLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStringLiteral"


    // $ANTLR start "ruleStringLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1751:1: ruleStringLiteral : ( ( rule__StringLiteral__ValueAssignment ) ) ;
    public final void ruleStringLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1755:2: ( ( ( rule__StringLiteral__ValueAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1756:1: ( ( rule__StringLiteral__ValueAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1756:1: ( ( rule__StringLiteral__ValueAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1757:1: ( rule__StringLiteral__ValueAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStringLiteralAccess().getValueAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1758:1: ( rule__StringLiteral__ValueAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1758:2: rule__StringLiteral__ValueAssignment
            {
            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_in_ruleStringLiteral3701);
            rule__StringLiteral__ValueAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getStringLiteralAccess().getValueAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStringLiteral"


    // $ANTLR start "entryRuleFeatureCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1770:1: entryRuleFeatureCall : ruleFeatureCall EOF ;
    public final void entryRuleFeatureCall() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1771:1: ( ruleFeatureCall EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1772:1: ruleFeatureCall EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFeatureCallRule()); 
            }
            pushFollow(FOLLOW_ruleFeatureCall_in_entryRuleFeatureCall3728);
            ruleFeatureCall();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFeatureCall"


    // $ANTLR start "ruleFeatureCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1779:1: ruleFeatureCall : ( ( rule__FeatureCall__Alternatives ) ) ;
    public final void ruleFeatureCall() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1783:2: ( ( ( rule__FeatureCall__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1784:1: ( ( rule__FeatureCall__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1784:1: ( ( rule__FeatureCall__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1785:1: ( rule__FeatureCall__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFeatureCallAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1786:1: ( rule__FeatureCall__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1786:2: rule__FeatureCall__Alternatives
            {
            pushFollow(FOLLOW_rule__FeatureCall__Alternatives_in_ruleFeatureCall3761);
            rule__FeatureCall__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFeatureCall"


    // $ANTLR start "entryRuleVariableAccess"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1798:1: entryRuleVariableAccess : ruleVariableAccess EOF ;
    public final void entryRuleVariableAccess() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1799:1: ( ruleVariableAccess EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1800:1: ruleVariableAccess EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessRule()); 
            }
            pushFollow(FOLLOW_ruleVariableAccess_in_entryRuleVariableAccess3788);
            ruleVariableAccess();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleVariableAccess"


    // $ANTLR start "ruleVariableAccess"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1807:1: ruleVariableAccess : ( ( rule__VariableAccess__Group__0 ) ) ;
    public final void ruleVariableAccess() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1811:2: ( ( ( rule__VariableAccess__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1812:1: ( ( rule__VariableAccess__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1812:1: ( ( rule__VariableAccess__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1813:1: ( rule__VariableAccess__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1814:1: ( rule__VariableAccess__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1814:2: rule__VariableAccess__Group__0
            {
            pushFollow(FOLLOW_rule__VariableAccess__Group__0_in_ruleVariableAccess3821);
            rule__VariableAccess__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleVariableAccess"


    // $ANTLR start "entryRuleFunctionCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1826:1: entryRuleFunctionCall : ruleFunctionCall EOF ;
    public final void entryRuleFunctionCall() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1827:1: ( ruleFunctionCall EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1828:1: ruleFunctionCall EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallRule()); 
            }
            pushFollow(FOLLOW_ruleFunctionCall_in_entryRuleFunctionCall3848);
            ruleFunctionCall();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFunctionCall"


    // $ANTLR start "ruleFunctionCall"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1835:1: ruleFunctionCall : ( ( rule__FunctionCall__Group__0 ) ) ;
    public final void ruleFunctionCall() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1839:2: ( ( ( rule__FunctionCall__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1840:1: ( ( rule__FunctionCall__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1840:1: ( ( rule__FunctionCall__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1841:1: ( rule__FunctionCall__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1842:1: ( rule__FunctionCall__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1842:2: rule__FunctionCall__Group__0
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group__0_in_ruleFunctionCall3881);
            rule__FunctionCall__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFunctionCall"


    // $ANTLR start "entryRuleStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1854:1: entryRuleStepExpression : ruleStepExpression EOF ;
    public final void entryRuleStepExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1855:1: ( ruleStepExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1856:1: ruleStepExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleStepExpression_in_entryRuleStepExpression3908);
            ruleStepExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStepExpression"


    // $ANTLR start "ruleStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1863:1: ruleStepExpression : ( ruleRangeStepExpression ) ;
    public final void ruleStepExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1867:2: ( ( ruleRangeStepExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1868:1: ( ruleRangeStepExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1868:1: ( ruleRangeStepExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1869:1: ruleRangeStepExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepExpressionAccess().getRangeStepExpressionParserRuleCall()); 
            }
            pushFollow(FOLLOW_ruleRangeStepExpression_in_ruleStepExpression3941);
            ruleRangeStepExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStepExpressionAccess().getRangeStepExpressionParserRuleCall()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStepExpression"


    // $ANTLR start "entryRuleRangeStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1882:1: entryRuleRangeStepExpression : ruleRangeStepExpression EOF ;
    public final void entryRuleRangeStepExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1883:1: ( ruleRangeStepExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1884:1: ruleRangeStepExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleRangeStepExpression_in_entryRuleRangeStepExpression3967);
            ruleRangeStepExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRangeStepExpression"


    // $ANTLR start "ruleRangeStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1891:1: ruleRangeStepExpression : ( ( rule__RangeStepExpression__Group__0 ) ) ;
    public final void ruleRangeStepExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1895:2: ( ( ( rule__RangeStepExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1896:1: ( ( rule__RangeStepExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1896:1: ( ( rule__RangeStepExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1897:1: ( rule__RangeStepExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1898:1: ( rule__RangeStepExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1898:2: rule__RangeStepExpression__Group__0
            {
            pushFollow(FOLLOW_rule__RangeStepExpression__Group__0_in_ruleRangeStepExpression4000);
            rule__RangeStepExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRangeStepExpression"


    // $ANTLR start "entryRuleAdditiveStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1910:1: entryRuleAdditiveStepExpression : ruleAdditiveStepExpression EOF ;
    public final void entryRuleAdditiveStepExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1911:1: ( ruleAdditiveStepExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1912:1: ruleAdditiveStepExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleAdditiveStepExpression_in_entryRuleAdditiveStepExpression4027);
            ruleAdditiveStepExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAdditiveStepExpression"


    // $ANTLR start "ruleAdditiveStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1919:1: ruleAdditiveStepExpression : ( ( rule__AdditiveStepExpression__Group__0 ) ) ;
    public final void ruleAdditiveStepExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1923:2: ( ( ( rule__AdditiveStepExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1924:1: ( ( rule__AdditiveStepExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1924:1: ( ( rule__AdditiveStepExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1925:1: ( rule__AdditiveStepExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1926:1: ( rule__AdditiveStepExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1926:2: rule__AdditiveStepExpression__Group__0
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group__0_in_ruleAdditiveStepExpression4060);
            rule__AdditiveStepExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAdditiveStepExpression"


    // $ANTLR start "entryRuleNegateStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1938:1: entryRuleNegateStepExpression : ruleNegateStepExpression EOF ;
    public final void entryRuleNegateStepExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1939:1: ( ruleNegateStepExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1940:1: ruleNegateStepExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNegateStepExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleNegateStepExpression_in_entryRuleNegateStepExpression4087);
            ruleNegateStepExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNegateStepExpression"


    // $ANTLR start "ruleNegateStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1947:1: ruleNegateStepExpression : ( ( rule__NegateStepExpression__Alternatives ) ) ;
    public final void ruleNegateStepExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1951:2: ( ( ( rule__NegateStepExpression__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1952:1: ( ( rule__NegateStepExpression__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1952:1: ( ( rule__NegateStepExpression__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1953:1: ( rule__NegateStepExpression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNegateStepExpressionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1954:1: ( rule__NegateStepExpression__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1954:2: rule__NegateStepExpression__Alternatives
            {
            pushFollow(FOLLOW_rule__NegateStepExpression__Alternatives_in_ruleNegateStepExpression4120);
            rule__NegateStepExpression__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNegateStepExpression"


    // $ANTLR start "entryRulePrimitiveStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1966:1: entryRulePrimitiveStepExpression : rulePrimitiveStepExpression EOF ;
    public final void entryRulePrimitiveStepExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1967:1: ( rulePrimitiveStepExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1968:1: rulePrimitiveStepExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPrimitiveStepExpressionRule()); 
            }
            pushFollow(FOLLOW_rulePrimitiveStepExpression_in_entryRulePrimitiveStepExpression4147);
            rulePrimitiveStepExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePrimitiveStepExpression"


    // $ANTLR start "rulePrimitiveStepExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1975:1: rulePrimitiveStepExpression : ( ( rule__PrimitiveStepExpression__Alternatives ) ) ;
    public final void rulePrimitiveStepExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1979:2: ( ( ( rule__PrimitiveStepExpression__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1980:1: ( ( rule__PrimitiveStepExpression__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1980:1: ( ( rule__PrimitiveStepExpression__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1981:1: ( rule__PrimitiveStepExpression__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPrimitiveStepExpressionAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1982:1: ( rule__PrimitiveStepExpression__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1982:2: rule__PrimitiveStepExpression__Alternatives
            {
            pushFollow(FOLLOW_rule__PrimitiveStepExpression__Alternatives_in_rulePrimitiveStepExpression4180);
            rule__PrimitiveStepExpression__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePrimitiveStepExpression"


    // $ANTLR start "entryRuleStepLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1994:1: entryRuleStepLiteral : ruleStepLiteral EOF ;
    public final void entryRuleStepLiteral() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1995:1: ( ruleStepLiteral EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:1996:1: ruleStepLiteral EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepLiteralRule()); 
            }
            pushFollow(FOLLOW_ruleStepLiteral_in_entryRuleStepLiteral4207);
            ruleStepLiteral();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStepLiteral"


    // $ANTLR start "ruleStepLiteral"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2003:1: ruleStepLiteral : ( ( rule__StepLiteral__ValueAssignment ) ) ;
    public final void ruleStepLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2007:2: ( ( ( rule__StepLiteral__ValueAssignment ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2008:1: ( ( rule__StepLiteral__ValueAssignment ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2008:1: ( ( rule__StepLiteral__ValueAssignment ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2009:1: ( rule__StepLiteral__ValueAssignment )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepLiteralAccess().getValueAssignment()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2010:1: ( rule__StepLiteral__ValueAssignment )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2010:2: rule__StepLiteral__ValueAssignment
            {
            pushFollow(FOLLOW_rule__StepLiteral__ValueAssignment_in_ruleStepLiteral4240);
            rule__StepLiteral__ValueAssignment();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getStepLiteralAccess().getValueAssignment()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStepLiteral"


    // $ANTLR start "entryRuleStepN"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2022:1: entryRuleStepN : ruleStepN EOF ;
    public final void entryRuleStepN() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2023:1: ( ruleStepN EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2024:1: ruleStepN EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepNRule()); 
            }
            pushFollow(FOLLOW_ruleStepN_in_entryRuleStepN4267);
            ruleStepN();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStepN"


    // $ANTLR start "ruleStepN"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2031:1: ruleStepN : ( ( rule__StepN__Group__0 ) ) ;
    public final void ruleStepN() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2035:2: ( ( ( rule__StepN__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2036:1: ( ( rule__StepN__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2036:1: ( ( rule__StepN__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2037:1: ( rule__StepN__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepNAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2038:1: ( rule__StepN__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2038:2: rule__StepN__Group__0
            {
            pushFollow(FOLLOW_rule__StepN__Group__0_in_ruleStepN4300);
            rule__StepN__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStepN"


    // $ANTLR start "entryRuleDerivativeOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2050:1: entryRuleDerivativeOperator : ruleDerivativeOperator EOF ;
    public final void entryRuleDerivativeOperator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2051:1: ( ruleDerivativeOperator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2052:1: ruleDerivativeOperator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDerivativeOperatorRule()); 
            }
            pushFollow(FOLLOW_ruleDerivativeOperator_in_entryRuleDerivativeOperator4327);
            ruleDerivativeOperator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDerivativeOperator"


    // $ANTLR start "ruleDerivativeOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2059:1: ruleDerivativeOperator : ( ( rule__DerivativeOperator__Group__0 ) ) ;
    public final void ruleDerivativeOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2063:2: ( ( ( rule__DerivativeOperator__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2064:1: ( ( rule__DerivativeOperator__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2064:1: ( ( rule__DerivativeOperator__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2065:1: ( rule__DerivativeOperator__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDerivativeOperatorAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2066:1: ( rule__DerivativeOperator__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2066:2: rule__DerivativeOperator__Group__0
            {
            pushFollow(FOLLOW_rule__DerivativeOperator__Group__0_in_ruleDerivativeOperator4360);
            rule__DerivativeOperator__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDerivativeOperator"


    // $ANTLR start "entryRuleArrayConstructionOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2078:1: entryRuleArrayConstructionOperator : ruleArrayConstructionOperator EOF ;
    public final void entryRuleArrayConstructionOperator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2079:1: ( ruleArrayConstructionOperator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2080:1: ruleArrayConstructionOperator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorRule()); 
            }
            pushFollow(FOLLOW_ruleArrayConstructionOperator_in_entryRuleArrayConstructionOperator4387);
            ruleArrayConstructionOperator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArrayConstructionOperator"


    // $ANTLR start "ruleArrayConstructionOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2087:1: ruleArrayConstructionOperator : ( ( rule__ArrayConstructionOperator__Group__0 ) ) ;
    public final void ruleArrayConstructionOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2091:2: ( ( ( rule__ArrayConstructionOperator__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2092:1: ( ( rule__ArrayConstructionOperator__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2092:1: ( ( rule__ArrayConstructionOperator__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2093:1: ( rule__ArrayConstructionOperator__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2094:1: ( rule__ArrayConstructionOperator__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2094:2: rule__ArrayConstructionOperator__Group__0
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__0_in_ruleArrayConstructionOperator4420);
            rule__ArrayConstructionOperator__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArrayConstructionOperator"


    // $ANTLR start "entryRuleArrayConstructionIterationClause"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2106:1: entryRuleArrayConstructionIterationClause : ruleArrayConstructionIterationClause EOF ;
    public final void entryRuleArrayConstructionIterationClause() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2107:1: ( ruleArrayConstructionIterationClause EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2108:1: ruleArrayConstructionIterationClause EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionIterationClauseRule()); 
            }
            pushFollow(FOLLOW_ruleArrayConstructionIterationClause_in_entryRuleArrayConstructionIterationClause4447);
            ruleArrayConstructionIterationClause();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArrayConstructionIterationClause"


    // $ANTLR start "ruleArrayConstructionIterationClause"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2115:1: ruleArrayConstructionIterationClause : ( ( rule__ArrayConstructionIterationClause__Group__0 ) ) ;
    public final void ruleArrayConstructionIterationClause() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2119:2: ( ( ( rule__ArrayConstructionIterationClause__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2120:1: ( ( rule__ArrayConstructionIterationClause__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2120:1: ( ( rule__ArrayConstructionIterationClause__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2121:1: ( rule__ArrayConstructionIterationClause__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionIterationClauseAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2122:1: ( rule__ArrayConstructionIterationClause__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2122:2: rule__ArrayConstructionIterationClause__Group__0
            {
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__Group__0_in_ruleArrayConstructionIterationClause4480);
            rule__ArrayConstructionIterationClause__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArrayConstructionIterationClause"


    // $ANTLR start "entryRuleArrayConcatenationOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2134:1: entryRuleArrayConcatenationOperator : ruleArrayConcatenationOperator EOF ;
    public final void entryRuleArrayConcatenationOperator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2135:1: ( ruleArrayConcatenationOperator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2136:1: ruleArrayConcatenationOperator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorRule()); 
            }
            pushFollow(FOLLOW_ruleArrayConcatenationOperator_in_entryRuleArrayConcatenationOperator4507);
            ruleArrayConcatenationOperator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleArrayConcatenationOperator"


    // $ANTLR start "ruleArrayConcatenationOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2143:1: ruleArrayConcatenationOperator : ( ( rule__ArrayConcatenationOperator__Group__0 ) ) ;
    public final void ruleArrayConcatenationOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2147:2: ( ( ( rule__ArrayConcatenationOperator__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2148:1: ( ( rule__ArrayConcatenationOperator__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2148:1: ( ( rule__ArrayConcatenationOperator__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2149:1: ( rule__ArrayConcatenationOperator__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2150:1: ( rule__ArrayConcatenationOperator__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2150:2: rule__ArrayConcatenationOperator__Group__0
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__0_in_ruleArrayConcatenationOperator4540);
            rule__ArrayConcatenationOperator__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArrayConcatenationOperator"


    // $ANTLR start "entryRuleExpressionList"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2162:1: entryRuleExpressionList : ruleExpressionList EOF ;
    public final void entryRuleExpressionList() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2163:1: ( ruleExpressionList EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2164:1: ruleExpressionList EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListRule()); 
            }
            pushFollow(FOLLOW_ruleExpressionList_in_entryRuleExpressionList4567);
            ruleExpressionList();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExpressionList"


    // $ANTLR start "ruleExpressionList"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2171:1: ruleExpressionList : ( ( rule__ExpressionList__Group__0 ) ) ;
    public final void ruleExpressionList() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2175:2: ( ( ( rule__ExpressionList__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2176:1: ( ( rule__ExpressionList__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2176:1: ( ( rule__ExpressionList__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2177:1: ( rule__ExpressionList__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2178:1: ( rule__ExpressionList__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2178:2: rule__ExpressionList__Group__0
            {
            pushFollow(FOLLOW_rule__ExpressionList__Group__0_in_ruleExpressionList4600);
            rule__ExpressionList__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExpressionList"


    // $ANTLR start "entryRuleUnitConstructionOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2190:1: entryRuleUnitConstructionOperator : ruleUnitConstructionOperator EOF ;
    public final void entryRuleUnitConstructionOperator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2191:1: ( ruleUnitConstructionOperator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2192:1: ruleUnitConstructionOperator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitConstructionOperatorRule()); 
            }
            pushFollow(FOLLOW_ruleUnitConstructionOperator_in_entryRuleUnitConstructionOperator4627);
            ruleUnitConstructionOperator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnitConstructionOperator"


    // $ANTLR start "ruleUnitConstructionOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2199:1: ruleUnitConstructionOperator : ( ( rule__UnitConstructionOperator__Group__0 ) ) ;
    public final void ruleUnitConstructionOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2203:2: ( ( ( rule__UnitConstructionOperator__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2204:1: ( ( rule__UnitConstructionOperator__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2204:1: ( ( rule__UnitConstructionOperator__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2205:1: ( rule__UnitConstructionOperator__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitConstructionOperatorAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2206:1: ( rule__UnitConstructionOperator__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2206:2: rule__UnitConstructionOperator__Group__0
            {
            pushFollow(FOLLOW_rule__UnitConstructionOperator__Group__0_in_ruleUnitConstructionOperator4660);
            rule__UnitConstructionOperator__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnitConstructionOperator"


    // $ANTLR start "entryRuleParenthesizedExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2218:1: entryRuleParenthesizedExpression : ruleParenthesizedExpression EOF ;
    public final void entryRuleParenthesizedExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2219:1: ( ruleParenthesizedExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2220:1: ruleParenthesizedExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleParenthesizedExpression_in_entryRuleParenthesizedExpression4687);
            ruleParenthesizedExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleParenthesizedExpression"


    // $ANTLR start "ruleParenthesizedExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2227:1: ruleParenthesizedExpression : ( ( rule__ParenthesizedExpression__Group__0 ) ) ;
    public final void ruleParenthesizedExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2231:2: ( ( ( rule__ParenthesizedExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2232:1: ( ( rule__ParenthesizedExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2232:1: ( ( rule__ParenthesizedExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2233:1: ( rule__ParenthesizedExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2234:1: ( rule__ParenthesizedExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2234:2: rule__ParenthesizedExpression__Group__0
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__0_in_ruleParenthesizedExpression4720);
            rule__ParenthesizedExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleParenthesizedExpression"


    // $ANTLR start "entryRuleEndExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2246:1: entryRuleEndExpression : ruleEndExpression EOF ;
    public final void entryRuleEndExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2247:1: ( ruleEndExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2248:1: ruleEndExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEndExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleEndExpression_in_entryRuleEndExpression4747);
            ruleEndExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEndExpression"


    // $ANTLR start "ruleEndExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2255:1: ruleEndExpression : ( ( rule__EndExpression__Group__0 ) ) ;
    public final void ruleEndExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2259:2: ( ( ( rule__EndExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2260:1: ( ( rule__EndExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2260:1: ( ( rule__EndExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2261:1: ( rule__EndExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEndExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2262:1: ( rule__EndExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2262:2: rule__EndExpression__Group__0
            {
            pushFollow(FOLLOW_rule__EndExpression__Group__0_in_ruleEndExpression4780);
            rule__EndExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEndExpression"


    // $ANTLR start "entryRuleAlgorithmExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2274:1: entryRuleAlgorithmExpression : ruleAlgorithmExpression EOF ;
    public final void entryRuleAlgorithmExpression() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2275:1: ( ruleAlgorithmExpression EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2276:1: ruleAlgorithmExpression EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAlgorithmExpressionRule()); 
            }
            pushFollow(FOLLOW_ruleAlgorithmExpression_in_entryRuleAlgorithmExpression4807);
            ruleAlgorithmExpression();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAlgorithmExpression"


    // $ANTLR start "ruleAlgorithmExpression"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2283:1: ruleAlgorithmExpression : ( ( rule__AlgorithmExpression__Group__0 ) ) ;
    public final void ruleAlgorithmExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2287:2: ( ( ( rule__AlgorithmExpression__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2288:1: ( ( rule__AlgorithmExpression__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2288:1: ( ( rule__AlgorithmExpression__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2289:1: ( rule__AlgorithmExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAlgorithmExpressionAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2290:1: ( rule__AlgorithmExpression__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2290:2: rule__AlgorithmExpression__Group__0
            {
            pushFollow(FOLLOW_rule__AlgorithmExpression__Group__0_in_ruleAlgorithmExpression4840);
            rule__AlgorithmExpression__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAlgorithmExpression"


    // $ANTLR start "entryRuleCompound"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2302:1: entryRuleCompound : ruleCompound EOF ;
    public final void entryRuleCompound() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2303:1: ( ruleCompound EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2304:1: ruleCompound EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCompoundRule()); 
            }
            pushFollow(FOLLOW_ruleCompound_in_entryRuleCompound4867);
            ruleCompound();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCompound"


    // $ANTLR start "ruleCompound"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2311:1: ruleCompound : ( ( rule__Compound__Group__0 ) ) ;
    public final void ruleCompound() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2315:2: ( ( ( rule__Compound__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2316:1: ( ( rule__Compound__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2316:1: ( ( rule__Compound__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2317:1: ( rule__Compound__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCompoundAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2318:1: ( rule__Compound__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2318:2: rule__Compound__Group__0
            {
            pushFollow(FOLLOW_rule__Compound__Group__0_in_ruleCompound4900);
            rule__Compound__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCompound"


    // $ANTLR start "entryRuleStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2330:1: entryRuleStatement : ruleStatement EOF ;
    public final void entryRuleStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2331:1: ( ruleStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2332:1: ruleStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStatementRule()); 
            }
            pushFollow(FOLLOW_ruleStatement_in_entryRuleStatement4927);
            ruleStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStatement"


    // $ANTLR start "ruleStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2339:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ;
    public final void ruleStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2343:2: ( ( ( rule__Statement__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2344:1: ( ( rule__Statement__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2344:1: ( ( rule__Statement__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2345:1: ( rule__Statement__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStatementAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2346:1: ( rule__Statement__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2346:2: rule__Statement__Alternatives
            {
            pushFollow(FOLLOW_rule__Statement__Alternatives_in_ruleStatement4960);
            rule__Statement__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStatement"


    // $ANTLR start "entryRuleAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2358:1: entryRuleAssignment : ruleAssignment EOF ;
    public final void entryRuleAssignment() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2359:1: ( ruleAssignment EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2360:1: ruleAssignment EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentRule()); 
            }
            pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment4987);
            ruleAssignment();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAssignment"


    // $ANTLR start "ruleAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2367:1: ruleAssignment : ( ( rule__Assignment__Group__0 ) ) ;
    public final void ruleAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2371:2: ( ( ( rule__Assignment__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2372:1: ( ( rule__Assignment__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2372:1: ( ( rule__Assignment__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2373:1: ( rule__Assignment__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2374:1: ( rule__Assignment__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2374:2: rule__Assignment__Group__0
            {
            pushFollow(FOLLOW_rule__Assignment__Group__0_in_ruleAssignment5020);
            rule__Assignment__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAssignment"


    // $ANTLR start "entryRuleVariableDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2386:1: entryRuleVariableDeclaration : ruleVariableDeclaration EOF ;
    public final void entryRuleVariableDeclaration() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2387:1: ( ruleVariableDeclaration EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2388:1: ruleVariableDeclaration EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationRule()); 
            }
            pushFollow(FOLLOW_ruleVariableDeclaration_in_entryRuleVariableDeclaration5047);
            ruleVariableDeclaration();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleVariableDeclaration"


    // $ANTLR start "ruleVariableDeclaration"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2395:1: ruleVariableDeclaration : ( ( rule__VariableDeclaration__Group__0 ) ) ;
    public final void ruleVariableDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2399:2: ( ( ( rule__VariableDeclaration__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2400:1: ( ( rule__VariableDeclaration__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2400:1: ( ( rule__VariableDeclaration__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2401:1: ( rule__VariableDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2402:1: ( rule__VariableDeclaration__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2402:2: rule__VariableDeclaration__Group__0
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__0_in_ruleVariableDeclaration5080);
            rule__VariableDeclaration__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleVariableDeclaration"


    // $ANTLR start "entryRuleIfStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2414:1: entryRuleIfStatement : ruleIfStatement EOF ;
    public final void entryRuleIfStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2415:1: ( ruleIfStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2416:1: ruleIfStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementRule()); 
            }
            pushFollow(FOLLOW_ruleIfStatement_in_entryRuleIfStatement5107);
            ruleIfStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIfStatement"


    // $ANTLR start "ruleIfStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2423:1: ruleIfStatement : ( ( rule__IfStatement__Group__0 ) ) ;
    public final void ruleIfStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2427:2: ( ( ( rule__IfStatement__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2428:1: ( ( rule__IfStatement__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2428:1: ( ( rule__IfStatement__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2429:1: ( rule__IfStatement__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2430:1: ( rule__IfStatement__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2430:2: rule__IfStatement__Group__0
            {
            pushFollow(FOLLOW_rule__IfStatement__Group__0_in_ruleIfStatement5140);
            rule__IfStatement__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIfStatement"


    // $ANTLR start "entryRuleWhileStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2442:1: entryRuleWhileStatement : ruleWhileStatement EOF ;
    public final void entryRuleWhileStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2443:1: ( ruleWhileStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2444:1: ruleWhileStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementRule()); 
            }
            pushFollow(FOLLOW_ruleWhileStatement_in_entryRuleWhileStatement5167);
            ruleWhileStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleWhileStatement"


    // $ANTLR start "ruleWhileStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2451:1: ruleWhileStatement : ( ( rule__WhileStatement__Group__0 ) ) ;
    public final void ruleWhileStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2455:2: ( ( ( rule__WhileStatement__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2456:1: ( ( rule__WhileStatement__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2456:1: ( ( rule__WhileStatement__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2457:1: ( rule__WhileStatement__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2458:1: ( rule__WhileStatement__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2458:2: rule__WhileStatement__Group__0
            {
            pushFollow(FOLLOW_rule__WhileStatement__Group__0_in_ruleWhileStatement5200);
            rule__WhileStatement__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleWhileStatement"


    // $ANTLR start "entryRuleForStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2470:1: entryRuleForStatement : ruleForStatement EOF ;
    public final void entryRuleForStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2471:1: ( ruleForStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2472:1: ruleForStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementRule()); 
            }
            pushFollow(FOLLOW_ruleForStatement_in_entryRuleForStatement5227);
            ruleForStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleForStatement"


    // $ANTLR start "ruleForStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2479:1: ruleForStatement : ( ( rule__ForStatement__Group__0 ) ) ;
    public final void ruleForStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2483:2: ( ( ( rule__ForStatement__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2484:1: ( ( rule__ForStatement__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2484:1: ( ( rule__ForStatement__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2485:1: ( rule__ForStatement__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2486:1: ( rule__ForStatement__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2486:2: rule__ForStatement__Group__0
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__0_in_ruleForStatement5260);
            rule__ForStatement__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleForStatement"


    // $ANTLR start "entryRuleDoWhileStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2498:1: entryRuleDoWhileStatement : ruleDoWhileStatement EOF ;
    public final void entryRuleDoWhileStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2499:1: ( ruleDoWhileStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2500:1: ruleDoWhileStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementRule()); 
            }
            pushFollow(FOLLOW_ruleDoWhileStatement_in_entryRuleDoWhileStatement5287);
            ruleDoWhileStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDoWhileStatement"


    // $ANTLR start "ruleDoWhileStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2507:1: ruleDoWhileStatement : ( ( rule__DoWhileStatement__Group__0 ) ) ;
    public final void ruleDoWhileStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2511:2: ( ( ( rule__DoWhileStatement__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2512:1: ( ( rule__DoWhileStatement__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2512:1: ( ( rule__DoWhileStatement__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2513:1: ( rule__DoWhileStatement__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2514:1: ( rule__DoWhileStatement__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2514:2: rule__DoWhileStatement__Group__0
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__0_in_ruleDoWhileStatement5320);
            rule__DoWhileStatement__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDoWhileStatement"


    // $ANTLR start "entryRuleContinueStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2526:1: entryRuleContinueStatement : ruleContinueStatement EOF ;
    public final void entryRuleContinueStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2527:1: ( ruleContinueStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2528:1: ruleContinueStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getContinueStatementRule()); 
            }
            pushFollow(FOLLOW_ruleContinueStatement_in_entryRuleContinueStatement5347);
            ruleContinueStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleContinueStatement"


    // $ANTLR start "ruleContinueStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2535:1: ruleContinueStatement : ( ( rule__ContinueStatement__Group__0 ) ) ;
    public final void ruleContinueStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2539:2: ( ( ( rule__ContinueStatement__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2540:1: ( ( rule__ContinueStatement__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2540:1: ( ( rule__ContinueStatement__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2541:1: ( rule__ContinueStatement__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getContinueStatementAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2542:1: ( rule__ContinueStatement__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2542:2: rule__ContinueStatement__Group__0
            {
            pushFollow(FOLLOW_rule__ContinueStatement__Group__0_in_ruleContinueStatement5380);
            rule__ContinueStatement__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleContinueStatement"


    // $ANTLR start "entryRuleBreakStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2554:1: entryRuleBreakStatement : ruleBreakStatement EOF ;
    public final void entryRuleBreakStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2555:1: ( ruleBreakStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2556:1: ruleBreakStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBreakStatementRule()); 
            }
            pushFollow(FOLLOW_ruleBreakStatement_in_entryRuleBreakStatement5407);
            ruleBreakStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBreakStatement"


    // $ANTLR start "ruleBreakStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2563:1: ruleBreakStatement : ( ( rule__BreakStatement__Group__0 ) ) ;
    public final void ruleBreakStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2567:2: ( ( ( rule__BreakStatement__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2568:1: ( ( rule__BreakStatement__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2568:1: ( ( rule__BreakStatement__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2569:1: ( rule__BreakStatement__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBreakStatementAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2570:1: ( rule__BreakStatement__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2570:2: rule__BreakStatement__Group__0
            {
            pushFollow(FOLLOW_rule__BreakStatement__Group__0_in_ruleBreakStatement5440);
            rule__BreakStatement__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBreakStatement"


    // $ANTLR start "entryRuleReturnStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2582:1: entryRuleReturnStatement : ruleReturnStatement EOF ;
    public final void entryRuleReturnStatement() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2583:1: ( ruleReturnStatement EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2584:1: ruleReturnStatement EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getReturnStatementRule()); 
            }
            pushFollow(FOLLOW_ruleReturnStatement_in_entryRuleReturnStatement5467);
            ruleReturnStatement();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleReturnStatement"


    // $ANTLR start "ruleReturnStatement"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2591:1: ruleReturnStatement : ( ( rule__ReturnStatement__Group__0 ) ) ;
    public final void ruleReturnStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2595:2: ( ( ( rule__ReturnStatement__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2596:1: ( ( rule__ReturnStatement__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2596:1: ( ( rule__ReturnStatement__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2597:1: ( rule__ReturnStatement__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2598:1: ( rule__ReturnStatement__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2598:2: rule__ReturnStatement__Group__0
            {
            pushFollow(FOLLOW_rule__ReturnStatement__Group__0_in_ruleReturnStatement5500);
            rule__ReturnStatement__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleReturnStatement"


    // $ANTLR start "entryRuleUnit"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2610:1: entryRuleUnit : ruleUnit EOF ;
    public final void entryRuleUnit() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2611:1: ( ruleUnit EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2612:1: ruleUnit EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitRule()); 
            }
            pushFollow(FOLLOW_ruleUnit_in_entryRuleUnit5527);
            ruleUnit();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnit"


    // $ANTLR start "ruleUnit"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2619:1: ruleUnit : ( ( rule__Unit__Group__0 ) ) ;
    public final void ruleUnit() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2623:2: ( ( ( rule__Unit__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2624:1: ( ( rule__Unit__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2624:1: ( ( rule__Unit__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2625:1: ( rule__Unit__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2626:1: ( rule__Unit__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2626:2: rule__Unit__Group__0
            {
            pushFollow(FOLLOW_rule__Unit__Group__0_in_ruleUnit5560);
            rule__Unit__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnit"


    // $ANTLR start "entryRuleExplicitUnit"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2638:1: entryRuleExplicitUnit : ruleExplicitUnit EOF ;
    public final void entryRuleExplicitUnit() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2639:1: ( ruleExplicitUnit EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2640:1: ruleExplicitUnit EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitRule()); 
            }
            pushFollow(FOLLOW_ruleExplicitUnit_in_entryRuleExplicitUnit5587);
            ruleExplicitUnit();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExplicitUnit"


    // $ANTLR start "ruleExplicitUnit"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2647:1: ruleExplicitUnit : ( ( rule__ExplicitUnit__Group__0 ) ) ;
    public final void ruleExplicitUnit() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2651:2: ( ( ( rule__ExplicitUnit__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2652:1: ( ( rule__ExplicitUnit__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2652:1: ( ( rule__ExplicitUnit__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2653:1: ( rule__ExplicitUnit__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2654:1: ( rule__ExplicitUnit__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2654:2: rule__ExplicitUnit__Group__0
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__0_in_ruleExplicitUnit5620);
            rule__ExplicitUnit__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExplicitUnit"


    // $ANTLR start "entryRuleUnitNumerator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2666:1: entryRuleUnitNumerator : ruleUnitNumerator EOF ;
    public final void entryRuleUnitNumerator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2667:1: ( ruleUnitNumerator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2668:1: ruleUnitNumerator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorRule()); 
            }
            pushFollow(FOLLOW_ruleUnitNumerator_in_entryRuleUnitNumerator5647);
            ruleUnitNumerator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnitNumerator"


    // $ANTLR start "ruleUnitNumerator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2675:1: ruleUnitNumerator : ( ( rule__UnitNumerator__Alternatives ) ) ;
    public final void ruleUnitNumerator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2679:2: ( ( ( rule__UnitNumerator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2680:1: ( ( rule__UnitNumerator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2680:1: ( ( rule__UnitNumerator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2681:1: ( rule__UnitNumerator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2682:1: ( rule__UnitNumerator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2682:2: rule__UnitNumerator__Alternatives
            {
            pushFollow(FOLLOW_rule__UnitNumerator__Alternatives_in_ruleUnitNumerator5680);
            rule__UnitNumerator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnitNumerator"


    // $ANTLR start "entryRuleImplicitUnitNumerator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2694:1: entryRuleImplicitUnitNumerator : ruleImplicitUnitNumerator EOF ;
    public final void entryRuleImplicitUnitNumerator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2695:1: ( ruleImplicitUnitNumerator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2696:1: ruleImplicitUnitNumerator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImplicitUnitNumeratorRule()); 
            }
            pushFollow(FOLLOW_ruleImplicitUnitNumerator_in_entryRuleImplicitUnitNumerator5707);
            ruleImplicitUnitNumerator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleImplicitUnitNumerator"


    // $ANTLR start "ruleImplicitUnitNumerator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2703:1: ruleImplicitUnitNumerator : ( () ) ;
    public final void ruleImplicitUnitNumerator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2707:2: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2708:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2708:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2709:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImplicitUnitNumeratorAccess().getUnitNumeratorAction()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2710:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2712:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getImplicitUnitNumeratorAccess().getUnitNumeratorAction()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleImplicitUnitNumerator"


    // $ANTLR start "entryRuleUnitDenominator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2724:1: entryRuleUnitDenominator : ruleUnitDenominator EOF ;
    public final void entryRuleUnitDenominator() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2725:1: ( ruleUnitDenominator EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2726:1: ruleUnitDenominator EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorRule()); 
            }
            pushFollow(FOLLOW_ruleUnitDenominator_in_entryRuleUnitDenominator5768);
            ruleUnitDenominator();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnitDenominator"


    // $ANTLR start "ruleUnitDenominator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2733:1: ruleUnitDenominator : ( ( rule__UnitDenominator__Alternatives ) ) ;
    public final void ruleUnitDenominator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2737:2: ( ( ( rule__UnitDenominator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2738:1: ( ( rule__UnitDenominator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2738:1: ( ( rule__UnitDenominator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2739:1: ( rule__UnitDenominator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2740:1: ( rule__UnitDenominator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2740:2: rule__UnitDenominator__Alternatives
            {
            pushFollow(FOLLOW_rule__UnitDenominator__Alternatives_in_ruleUnitDenominator5801);
            rule__UnitDenominator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnitDenominator"


    // $ANTLR start "entryRuleUnitFactor"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2752:1: entryRuleUnitFactor : ruleUnitFactor EOF ;
    public final void entryRuleUnitFactor() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2753:1: ( ruleUnitFactor EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2754:1: ruleUnitFactor EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorRule()); 
            }
            pushFollow(FOLLOW_ruleUnitFactor_in_entryRuleUnitFactor5828);
            ruleUnitFactor();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnitFactor"


    // $ANTLR start "ruleUnitFactor"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2761:1: ruleUnitFactor : ( ( rule__UnitFactor__Group__0 ) ) ;
    public final void ruleUnitFactor() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2765:2: ( ( ( rule__UnitFactor__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2766:1: ( ( rule__UnitFactor__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2766:1: ( ( rule__UnitFactor__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2767:1: ( rule__UnitFactor__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2768:1: ( rule__UnitFactor__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2768:2: rule__UnitFactor__Group__0
            {
            pushFollow(FOLLOW_rule__UnitFactor__Group__0_in_ruleUnitFactor5861);
            rule__UnitFactor__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnitFactor"


    // $ANTLR start "entryRuleUnitExponent"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2780:1: entryRuleUnitExponent : ruleUnitExponent EOF ;
    public final void entryRuleUnitExponent() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2781:1: ( ruleUnitExponent EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2782:1: ruleUnitExponent EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitExponentRule()); 
            }
            pushFollow(FOLLOW_ruleUnitExponent_in_entryRuleUnitExponent5888);
            ruleUnitExponent();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleUnitExponent"


    // $ANTLR start "ruleUnitExponent"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2789:1: ruleUnitExponent : ( ( rule__UnitExponent__Group__0 ) ) ;
    public final void ruleUnitExponent() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2793:2: ( ( ( rule__UnitExponent__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2794:1: ( ( rule__UnitExponent__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2794:1: ( ( rule__UnitExponent__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2795:1: ( rule__UnitExponent__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitExponentAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2796:1: ( rule__UnitExponent__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2796:2: rule__UnitExponent__Group__0
            {
            pushFollow(FOLLOW_rule__UnitExponent__Group__0_in_ruleUnitExponent5921);
            rule__UnitExponent__Group__0();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnitExponent"


    // $ANTLR start "entryRuleQualifiedName"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2808:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2809:1: ( ruleQualifiedName EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2810:1: ruleQualifiedName EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameRule()); 
            }
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName5948);
            ruleQualifiedName();

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

            }

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


    // $ANTLR start "ruleQualifiedName"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2817:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2821:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2822:1: ( ( rule__QualifiedName__Group__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2822:1: ( ( rule__QualifiedName__Group__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2823:1: ( rule__QualifiedName__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2824:1: ( rule__QualifiedName__Group__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2824:2: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName5981);
            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 "entryRuleValidDouble"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2836:1: entryRuleValidDouble : ruleValidDouble EOF ;
    public final void entryRuleValidDouble() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2837:1: ( ruleValidDouble EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2838:1: ruleValidDouble EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidDoubleRule()); 
            }
            pushFollow(FOLLOW_ruleValidDouble_in_entryRuleValidDouble6008);
            ruleValidDouble();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleValidDouble"


    // $ANTLR start "ruleValidDouble"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2845:1: ruleValidDouble : ( RULE_REAL ) ;
    public final void ruleValidDouble() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2849:2: ( ( RULE_REAL ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2850:1: ( RULE_REAL )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2850:1: ( RULE_REAL )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2851:1: RULE_REAL
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidDoubleAccess().getREALTerminalRuleCall()); 
            }
            match(input,RULE_REAL,FOLLOW_RULE_REAL_in_ruleValidDouble6041); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getValidDoubleAccess().getREALTerminalRuleCall()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleValidDouble"


    // $ANTLR start "entryRuleValidInt"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2864:1: entryRuleValidInt : ruleValidInt EOF ;
    public final void entryRuleValidInt() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2865:1: ( ruleValidInt EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2866:1: ruleValidInt EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidIntRule()); 
            }
            pushFollow(FOLLOW_ruleValidInt_in_entryRuleValidInt6067);
            ruleValidInt();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleValidInt"


    // $ANTLR start "ruleValidInt"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2873:1: ruleValidInt : ( ( rule__ValidInt__Alternatives ) ) ;
    public final void ruleValidInt() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2877:2: ( ( ( rule__ValidInt__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2878:1: ( ( rule__ValidInt__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2878:1: ( ( rule__ValidInt__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2879:1: ( rule__ValidInt__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidIntAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2880:1: ( rule__ValidInt__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2880:2: rule__ValidInt__Alternatives
            {
            pushFollow(FOLLOW_rule__ValidInt__Alternatives_in_ruleValidInt6100);
            rule__ValidInt__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleValidInt"


    // $ANTLR start "entryRuleValidLong"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2892:1: entryRuleValidLong : ruleValidLong EOF ;
    public final void entryRuleValidLong() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2893:1: ( ruleValidLong EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2894:1: ruleValidLong EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidLongRule()); 
            }
            pushFollow(FOLLOW_ruleValidLong_in_entryRuleValidLong6127);
            ruleValidLong();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleValidLong"


    // $ANTLR start "ruleValidLong"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2901:1: ruleValidLong : ( ( rule__ValidLong__Alternatives ) ) ;
    public final void ruleValidLong() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2905:2: ( ( ( rule__ValidLong__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2906:1: ( ( rule__ValidLong__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2906:1: ( ( rule__ValidLong__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2907:1: ( rule__ValidLong__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidLongAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2908:1: ( rule__ValidLong__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2908:2: rule__ValidLong__Alternatives
            {
            pushFollow(FOLLOW_rule__ValidLong__Alternatives_in_ruleValidLong6160);
            rule__ValidLong__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleValidLong"


    // $ANTLR start "entryRuleValidID"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2920:1: entryRuleValidID : ruleValidID EOF ;
    public final void entryRuleValidID() throws RecognitionException {
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2921:1: ( ruleValidID EOF )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2922:1: ruleValidID EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidIDRule()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_entryRuleValidID6187);
            ruleValidID();

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

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleValidID"


    // $ANTLR start "ruleValidID"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2929:1: ruleValidID : ( ( rule__ValidID__Alternatives ) ) ;
    public final void ruleValidID() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2933:2: ( ( ( rule__ValidID__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2934:1: ( ( rule__ValidID__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2934:1: ( ( rule__ValidID__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2935:1: ( rule__ValidID__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValidIDAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2936:1: ( rule__ValidID__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2936:2: rule__ValidID__Alternatives
            {
            pushFollow(FOLLOW_rule__ValidID__Alternatives_in_ruleValidID6220);
            rule__ValidID__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleValidID"


    // $ANTLR start "ruleFunctionKind"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2949:1: ruleFunctionKind : ( ( rule__FunctionKind__Alternatives ) ) ;
    public final void ruleFunctionKind() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2953:1: ( ( ( rule__FunctionKind__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2954:1: ( ( rule__FunctionKind__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2954:1: ( ( rule__FunctionKind__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2955:1: ( rule__FunctionKind__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionKindAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2956:1: ( rule__FunctionKind__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2956:2: rule__FunctionKind__Alternatives
            {
            pushFollow(FOLLOW_rule__FunctionKind__Alternatives_in_ruleFunctionKind6257);
            rule__FunctionKind__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFunctionKind"


    // $ANTLR start "ruleAssertionStatusKind"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2968:1: ruleAssertionStatusKind : ( ( rule__AssertionStatusKind__Alternatives ) ) ;
    public final void ruleAssertionStatusKind() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2972:1: ( ( ( rule__AssertionStatusKind__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2973:1: ( ( rule__AssertionStatusKind__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2973:1: ( ( rule__AssertionStatusKind__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2974:1: ( rule__AssertionStatusKind__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionStatusKindAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2975:1: ( rule__AssertionStatusKind__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2975:2: rule__AssertionStatusKind__Alternatives
            {
            pushFollow(FOLLOW_rule__AssertionStatusKind__Alternatives_in_ruleAssertionStatusKind6293);
            rule__AssertionStatusKind__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAssertionStatusKind"


    // $ANTLR start "ruleEqualityOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2987:1: ruleEqualityOperator : ( ( rule__EqualityOperator__Alternatives ) ) ;
    public final void ruleEqualityOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2991:1: ( ( ( rule__EqualityOperator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2992:1: ( ( rule__EqualityOperator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2992:1: ( ( rule__EqualityOperator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2993:1: ( rule__EqualityOperator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityOperatorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2994:1: ( rule__EqualityOperator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:2994:2: rule__EqualityOperator__Alternatives
            {
            pushFollow(FOLLOW_rule__EqualityOperator__Alternatives_in_ruleEqualityOperator6329);
            rule__EqualityOperator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEqualityOperator"


    // $ANTLR start "ruleRelationalOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3006:1: ruleRelationalOperator : ( ( rule__RelationalOperator__Alternatives ) ) ;
    public final void ruleRelationalOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3010:1: ( ( ( rule__RelationalOperator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3011:1: ( ( rule__RelationalOperator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3011:1: ( ( rule__RelationalOperator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3012:1: ( rule__RelationalOperator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalOperatorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3013:1: ( rule__RelationalOperator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3013:2: rule__RelationalOperator__Alternatives
            {
            pushFollow(FOLLOW_rule__RelationalOperator__Alternatives_in_ruleRelationalOperator6365);
            rule__RelationalOperator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRelationalOperator"


    // $ANTLR start "ruleAdditiveOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3025:1: ruleAdditiveOperator : ( ( rule__AdditiveOperator__Alternatives ) ) ;
    public final void ruleAdditiveOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3029:1: ( ( ( rule__AdditiveOperator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3030:1: ( ( rule__AdditiveOperator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3030:1: ( ( rule__AdditiveOperator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3031:1: ( rule__AdditiveOperator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveOperatorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3032:1: ( rule__AdditiveOperator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3032:2: rule__AdditiveOperator__Alternatives
            {
            pushFollow(FOLLOW_rule__AdditiveOperator__Alternatives_in_ruleAdditiveOperator6401);
            rule__AdditiveOperator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAdditiveOperator"


    // $ANTLR start "ruleMultiplicativeOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3044:1: ruleMultiplicativeOperator : ( ( rule__MultiplicativeOperator__Alternatives ) ) ;
    public final void ruleMultiplicativeOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3048:1: ( ( ( rule__MultiplicativeOperator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3049:1: ( ( rule__MultiplicativeOperator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3049:1: ( ( rule__MultiplicativeOperator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3050:1: ( rule__MultiplicativeOperator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeOperatorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3051:1: ( rule__MultiplicativeOperator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3051:2: rule__MultiplicativeOperator__Alternatives
            {
            pushFollow(FOLLOW_rule__MultiplicativeOperator__Alternatives_in_ruleMultiplicativeOperator6437);
            rule__MultiplicativeOperator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMultiplicativeOperator"


    // $ANTLR start "rulePowerOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3063:1: rulePowerOperator : ( ( rule__PowerOperator__Alternatives ) ) ;
    public final void rulePowerOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3067:1: ( ( ( rule__PowerOperator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3068:1: ( ( rule__PowerOperator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3068:1: ( ( rule__PowerOperator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3069:1: ( rule__PowerOperator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerOperatorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3070:1: ( rule__PowerOperator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3070:2: rule__PowerOperator__Alternatives
            {
            pushFollow(FOLLOW_rule__PowerOperator__Alternatives_in_rulePowerOperator6473);
            rule__PowerOperator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePowerOperator"


    // $ANTLR start "ruleUnaryOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3082:1: ruleUnaryOperator : ( ( rule__UnaryOperator__Alternatives ) ) ;
    public final void ruleUnaryOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3086:1: ( ( ( rule__UnaryOperator__Alternatives ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3087:1: ( ( rule__UnaryOperator__Alternatives ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3087:1: ( ( rule__UnaryOperator__Alternatives ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3088:1: ( rule__UnaryOperator__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryOperatorAccess().getAlternatives()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3089:1: ( rule__UnaryOperator__Alternatives )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3089:2: rule__UnaryOperator__Alternatives
            {
            pushFollow(FOLLOW_rule__UnaryOperator__Alternatives_in_ruleUnaryOperator6509);
            rule__UnaryOperator__Alternatives();

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

            }

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

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleUnaryOperator"


    // $ANTLR start "rulePostfixOperator"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3101:1: rulePostfixOperator : ( ( '\\'' ) ) ;
    public final void rulePostfixOperator() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3105:1: ( ( ( '\\'' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3106:1: ( ( '\\'' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3106:1: ( ( '\\'' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3107:1: ( '\\'' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixOperatorAccess().getTransposeEnumLiteralDeclaration()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3108:1: ( '\\'' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3108:3: '\\''
            {
            match(input,14,FOLLOW_14_in_rulePostfixOperator6546); if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPostfixOperatorAccess().getTransposeEnumLiteralDeclaration()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePostfixOperator"


    // $ANTLR start "rule__Definition__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3120:1: rule__Definition__Alternatives : ( ( ruleDataTypeDefinition ) | ( ruleFunctionDefinition ) );
    public final void rule__Definition__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3124:1: ( ( ruleDataTypeDefinition ) | ( ruleFunctionDefinition ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==37||LA2_0==41||LA2_0==44) ) {
                alt2=1;
            }
            else if ( ((LA2_0>=16 && LA2_0<=17)||LA2_0==46) ) {
                alt2=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3125:1: ( ruleDataTypeDefinition )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3125:1: ( ruleDataTypeDefinition )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3126:1: ruleDataTypeDefinition
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDefinitionAccess().getDataTypeDefinitionParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleDataTypeDefinition_in_rule__Definition__Alternatives6583);
                    ruleDataTypeDefinition();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDefinitionAccess().getDataTypeDefinitionParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3131:6: ( ruleFunctionDefinition )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3131:6: ( ruleFunctionDefinition )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3132:1: ruleFunctionDefinition
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDefinitionAccess().getFunctionDefinitionParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleFunctionDefinition_in_rule__Definition__Alternatives6600);
                    ruleFunctionDefinition();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDefinitionAccess().getFunctionDefinitionParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Definition__Alternatives"


    // $ANTLR start "rule__DataTypeDefinition__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3142:1: rule__DataTypeDefinition__Alternatives : ( ( ruleEnumerationDefinition ) | ( ruleRecordDefinition ) | ( ruleTypeAliasDefinition ) );
    public final void rule__DataTypeDefinition__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3146:1: ( ( ruleEnumerationDefinition ) | ( ruleRecordDefinition ) | ( ruleTypeAliasDefinition ) )
            int alt3=3;
            switch ( input.LA(1) ) {
            case 37:
                {
                alt3=1;
                }
                break;
            case 44:
                {
                alt3=2;
                }
                break;
            case 41:
                {
                alt3=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3147:1: ( ruleEnumerationDefinition )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3147:1: ( ruleEnumerationDefinition )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3148:1: ruleEnumerationDefinition
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataTypeDefinitionAccess().getEnumerationDefinitionParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleEnumerationDefinition_in_rule__DataTypeDefinition__Alternatives6632);
                    ruleEnumerationDefinition();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataTypeDefinitionAccess().getEnumerationDefinitionParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3153:6: ( ruleRecordDefinition )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3153:6: ( ruleRecordDefinition )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3154:1: ruleRecordDefinition
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataTypeDefinitionAccess().getRecordDefinitionParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleRecordDefinition_in_rule__DataTypeDefinition__Alternatives6649);
                    ruleRecordDefinition();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataTypeDefinitionAccess().getRecordDefinitionParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3159:6: ( ruleTypeAliasDefinition )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3159:6: ( ruleTypeAliasDefinition )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3160:1: ruleTypeAliasDefinition
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataTypeDefinitionAccess().getTypeAliasDefinitionParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleTypeAliasDefinition_in_rule__DataTypeDefinition__Alternatives6666);
                    ruleTypeAliasDefinition();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataTypeDefinitionAccess().getTypeAliasDefinitionParserRuleCall_2()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DataTypeDefinition__Alternatives"


    // $ANTLR start "rule__FunctionDefinition__Alternatives_11"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3170:1: rule__FunctionDefinition__Alternatives_11 : ( ( ( rule__FunctionDefinition__ChecksAssignment_11_0 ) ) | ( ( rule__FunctionDefinition__AssertionsAssignment_11_1 ) ) | ( ( rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2 ) ) | ( ( rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3 ) ) | ( ( rule__FunctionDefinition__EquationsAssignment_11_4 ) ) );
    public final void rule__FunctionDefinition__Alternatives_11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3174:1: ( ( ( rule__FunctionDefinition__ChecksAssignment_11_0 ) ) | ( ( rule__FunctionDefinition__AssertionsAssignment_11_1 ) ) | ( ( rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2 ) ) | ( ( rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3 ) ) | ( ( rule__FunctionDefinition__EquationsAssignment_11_4 ) ) )
            int alt4=5;
            switch ( input.LA(1) ) {
            case 50:
                {
                alt4=1;
                }
                break;
            case 88:
                {
                int LA4_2 = input.LA(2);

                if ( (LA4_2==51) ) {
                    alt4=2;
                }
                else if ( (LA4_2==64||LA4_2==67) ) {
                    alt4=5;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 4, 2, input);

                    throw nvae;
                }
                }
                break;
            case 51:
                {
                alt4=2;
                }
                break;
            case 53:
                {
                alt4=3;
                }
                break;
            case 52:
                {
                alt4=4;
                }
                break;
            case RULE_REAL:
            case RULE_ONE:
            case RULE_INT:
            case RULE_N:
            case RULE_ID:
            case RULE_STRING:
            case 15:
            case 29:
            case 36:
            case 38:
            case 47:
            case 60:
            case 62:
            case 64:
            case 67:
            case 77:
            case 79:
            case 80:
            case 81:
            case 89:
            case 90:
                {
                alt4=5;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3175:1: ( ( rule__FunctionDefinition__ChecksAssignment_11_0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3175:1: ( ( rule__FunctionDefinition__ChecksAssignment_11_0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3176:1: ( rule__FunctionDefinition__ChecksAssignment_11_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionDefinitionAccess().getChecksAssignment_11_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3177:1: ( rule__FunctionDefinition__ChecksAssignment_11_0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3177:2: rule__FunctionDefinition__ChecksAssignment_11_0
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__ChecksAssignment_11_0_in_rule__FunctionDefinition__Alternatives_116698);
                    rule__FunctionDefinition__ChecksAssignment_11_0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionDefinitionAccess().getChecksAssignment_11_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3181:6: ( ( rule__FunctionDefinition__AssertionsAssignment_11_1 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3181:6: ( ( rule__FunctionDefinition__AssertionsAssignment_11_1 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3182:1: ( rule__FunctionDefinition__AssertionsAssignment_11_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionDefinitionAccess().getAssertionsAssignment_11_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3183:1: ( rule__FunctionDefinition__AssertionsAssignment_11_1 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3183:2: rule__FunctionDefinition__AssertionsAssignment_11_1
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__AssertionsAssignment_11_1_in_rule__FunctionDefinition__Alternatives_116716);
                    rule__FunctionDefinition__AssertionsAssignment_11_1();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionDefinitionAccess().getAssertionsAssignment_11_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3187:6: ( ( rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3187:6: ( ( rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3188:1: ( rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionDefinitionAccess().getFunctionObjectDeclarationsAssignment_11_2()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3189:1: ( rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3189:2: rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2_in_rule__FunctionDefinition__Alternatives_116734);
                    rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionDefinitionAccess().getFunctionObjectDeclarationsAssignment_11_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3193:6: ( ( rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3193:6: ( ( rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3194:1: ( rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionDefinitionAccess().getStateVariableDeclarationsAssignment_11_3()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3195:1: ( rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3195:2: rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3_in_rule__FunctionDefinition__Alternatives_116752);
                    rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionDefinitionAccess().getStateVariableDeclarationsAssignment_11_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3199:6: ( ( rule__FunctionDefinition__EquationsAssignment_11_4 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3199:6: ( ( rule__FunctionDefinition__EquationsAssignment_11_4 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3200:1: ( rule__FunctionDefinition__EquationsAssignment_11_4 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionDefinitionAccess().getEquationsAssignment_11_4()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3201:1: ( rule__FunctionDefinition__EquationsAssignment_11_4 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3201:2: rule__FunctionDefinition__EquationsAssignment_11_4
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__EquationsAssignment_11_4_in_rule__FunctionDefinition__Alternatives_116770);
                    rule__FunctionDefinition__EquationsAssignment_11_4();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionDefinitionAccess().getEquationsAssignment_11_4()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Alternatives_11"


    // $ANTLR start "rule__DataTypeSpecifier__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3210:1: rule__DataTypeSpecifier__Alternatives : ( ( ( rule__DataTypeSpecifier__DefinedTypeAssignment_0 ) ) | ( ( rule__DataTypeSpecifier__TypeAssignment_1 ) ) );
    public final void rule__DataTypeSpecifier__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3214:1: ( ( ( rule__DataTypeSpecifier__DefinedTypeAssignment_0 ) ) | ( ( rule__DataTypeSpecifier__TypeAssignment_1 ) ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( ((LA5_0>=54 && LA5_0<=59)) ) {
                alt5=1;
            }
            else if ( (LA5_0==RULE_ID) ) {
                int LA5_2 = input.LA(2);

                if ( (LA5_2==60) ) {
                    alt5=1;
                }
                else if ( (LA5_2==EOF||(LA5_2>=22 && LA5_2<=23)||LA5_2==26||(LA5_2>=39 && LA5_2<=40)||(LA5_2>=42 && LA5_2<=43)||LA5_2==45||LA5_2==48||LA5_2==61||LA5_2==63||(LA5_2>=65 && LA5_2<=66)||(LA5_2>=68 && LA5_2<=72)||LA5_2==75||LA5_2==78) ) {
                    alt5=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 5, 2, input);

                    throw nvae;
                }
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3215:1: ( ( rule__DataTypeSpecifier__DefinedTypeAssignment_0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3215:1: ( ( rule__DataTypeSpecifier__DefinedTypeAssignment_0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3216:1: ( rule__DataTypeSpecifier__DefinedTypeAssignment_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypeAssignment_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3217:1: ( rule__DataTypeSpecifier__DefinedTypeAssignment_0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3217:2: rule__DataTypeSpecifier__DefinedTypeAssignment_0
                    {
                    pushFollow(FOLLOW_rule__DataTypeSpecifier__DefinedTypeAssignment_0_in_rule__DataTypeSpecifier__Alternatives6803);
                    rule__DataTypeSpecifier__DefinedTypeAssignment_0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypeAssignment_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3221:6: ( ( rule__DataTypeSpecifier__TypeAssignment_1 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3221:6: ( ( rule__DataTypeSpecifier__TypeAssignment_1 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3222:1: ( rule__DataTypeSpecifier__TypeAssignment_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataTypeSpecifierAccess().getTypeAssignment_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3223:1: ( rule__DataTypeSpecifier__TypeAssignment_1 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3223:2: rule__DataTypeSpecifier__TypeAssignment_1
                    {
                    pushFollow(FOLLOW_rule__DataTypeSpecifier__TypeAssignment_1_in_rule__DataTypeSpecifier__Alternatives6821);
                    rule__DataTypeSpecifier__TypeAssignment_1();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataTypeSpecifierAccess().getTypeAssignment_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DataTypeSpecifier__Alternatives"


    // $ANTLR start "rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3232:1: rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 : ( ( rulePrimitiveType ) | ( ruleArrayType ) );
    public final void rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3236:1: ( ( rulePrimitiveType ) | ( ruleArrayType ) )
            int alt6=2;
            alt6 = dfa6.predict(input);
            switch (alt6) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3237:1: ( rulePrimitiveType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3237:1: ( rulePrimitiveType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3238:1: rulePrimitiveType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypePrimitiveTypeParserRuleCall_0_0_0()); 
                    }
                    pushFollow(FOLLOW_rulePrimitiveType_in_rule__DataTypeSpecifier__DefinedTypeAlternatives_0_06854);
                    rulePrimitiveType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypePrimitiveTypeParserRuleCall_0_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3243:6: ( ruleArrayType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3243:6: ( ruleArrayType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3244:1: ruleArrayType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypeArrayTypeParserRuleCall_0_0_1()); 
                    }
                    pushFollow(FOLLOW_ruleArrayType_in_rule__DataTypeSpecifier__DefinedTypeAlternatives_0_06871);
                    ruleArrayType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypeArrayTypeParserRuleCall_0_0_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0"


    // $ANTLR start "rule__PrimitiveType__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3254:1: rule__PrimitiveType__Alternatives : ( ( ruleNumericType ) | ( ruleBooleanType ) | ( ruleStringType ) );
    public final void rule__PrimitiveType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3258:1: ( ( ruleNumericType ) | ( ruleBooleanType ) | ( ruleStringType ) )
            int alt7=3;
            switch ( input.LA(1) ) {
            case 54:
            case 55:
            case 56:
            case 57:
                {
                alt7=1;
                }
                break;
            case 58:
                {
                alt7=2;
                }
                break;
            case 59:
                {
                alt7=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }

            switch (alt7) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3259:1: ( ruleNumericType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3259:1: ( ruleNumericType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3260:1: ruleNumericType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimitiveTypeAccess().getNumericTypeParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleNumericType_in_rule__PrimitiveType__Alternatives6903);
                    ruleNumericType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimitiveTypeAccess().getNumericTypeParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3265:6: ( ruleBooleanType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3265:6: ( ruleBooleanType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3266:1: ruleBooleanType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimitiveTypeAccess().getBooleanTypeParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleBooleanType_in_rule__PrimitiveType__Alternatives6920);
                    ruleBooleanType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimitiveTypeAccess().getBooleanTypeParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3271:6: ( ruleStringType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3271:6: ( ruleStringType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3272:1: ruleStringType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimitiveTypeAccess().getStringTypeParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleStringType_in_rule__PrimitiveType__Alternatives6937);
                    ruleStringType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimitiveTypeAccess().getStringTypeParserRuleCall_2()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PrimitiveType__Alternatives"


    // $ANTLR start "rule__NumericType__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3282:1: rule__NumericType__Alternatives : ( ( ruleRealType ) | ( ruleIntegerType ) | ( ruleComplexType ) | ( ruleGaussianType ) );
    public final void rule__NumericType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3286:1: ( ( ruleRealType ) | ( ruleIntegerType ) | ( ruleComplexType ) | ( ruleGaussianType ) )
            int alt8=4;
            switch ( input.LA(1) ) {
            case 54:
                {
                alt8=1;
                }
                break;
            case 55:
                {
                alt8=2;
                }
                break;
            case 56:
                {
                alt8=3;
                }
                break;
            case 57:
                {
                alt8=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;
            }

            switch (alt8) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3287:1: ( ruleRealType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3287:1: ( ruleRealType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3288:1: ruleRealType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNumericTypeAccess().getRealTypeParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleRealType_in_rule__NumericType__Alternatives6969);
                    ruleRealType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNumericTypeAccess().getRealTypeParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3293:6: ( ruleIntegerType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3293:6: ( ruleIntegerType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3294:1: ruleIntegerType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNumericTypeAccess().getIntegerTypeParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleIntegerType_in_rule__NumericType__Alternatives6986);
                    ruleIntegerType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNumericTypeAccess().getIntegerTypeParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3299:6: ( ruleComplexType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3299:6: ( ruleComplexType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3300:1: ruleComplexType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNumericTypeAccess().getComplexTypeParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleComplexType_in_rule__NumericType__Alternatives7003);
                    ruleComplexType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNumericTypeAccess().getComplexTypeParserRuleCall_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3305:6: ( ruleGaussianType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3305:6: ( ruleGaussianType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3306:1: ruleGaussianType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNumericTypeAccess().getGaussianTypeParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_ruleGaussianType_in_rule__NumericType__Alternatives7020);
                    ruleGaussianType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNumericTypeAccess().getGaussianTypeParserRuleCall_3()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumericType__Alternatives"


    // $ANTLR start "rule__ArrayType__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3316:1: rule__ArrayType__Alternatives : ( ( ruleTensorType ) | ( ( rule__ArrayType__Group_1__0 ) ) );
    public final void rule__ArrayType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3320:1: ( ( ruleTensorType ) | ( ( rule__ArrayType__Group_1__0 ) ) )
            int alt9=2;
            switch ( input.LA(1) ) {
            case 54:
                {
                int LA9_1 = input.LA(2);

                if ( (synpred16_InternalMscript()) ) {
                    alt9=1;
                }
                else if ( (true) ) {
                    alt9=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 9, 1, input);

                    throw nvae;
                }
                }
                break;
            case 55:
                {
                int LA9_2 = input.LA(2);

                if ( (synpred16_InternalMscript()) ) {
                    alt9=1;
                }
                else if ( (true) ) {
                    alt9=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 9, 2, input);

                    throw nvae;
                }
                }
                break;
            case 56:
                {
                int LA9_3 = input.LA(2);

                if ( (synpred16_InternalMscript()) ) {
                    alt9=1;
                }
                else if ( (true) ) {
                    alt9=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 9, 3, input);

                    throw nvae;
                }
                }
                break;
            case 57:
                {
                int LA9_4 = input.LA(2);

                if ( (synpred16_InternalMscript()) ) {
                    alt9=1;
                }
                else if ( (true) ) {
                    alt9=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 9, 4, input);

                    throw nvae;
                }
                }
                break;
            case RULE_ID:
            case 58:
            case 59:
                {
                alt9=2;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }

            switch (alt9) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3321:1: ( ruleTensorType )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3321:1: ( ruleTensorType )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3322:1: ruleTensorType
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArrayTypeAccess().getTensorTypeParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleTensorType_in_rule__ArrayType__Alternatives7052);
                    ruleTensorType();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArrayTypeAccess().getTensorTypeParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3327:6: ( ( rule__ArrayType__Group_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3327:6: ( ( rule__ArrayType__Group_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3328:1: ( rule__ArrayType__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArrayTypeAccess().getGroup_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3329:1: ( rule__ArrayType__Group_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3329:2: rule__ArrayType__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__ArrayType__Group_1__0_in_rule__ArrayType__Alternatives7069);
                    rule__ArrayType__Group_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArrayTypeAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Alternatives"


    // $ANTLR start "rule__ArrayType__Alternatives_1_0_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3338:1: rule__ArrayType__Alternatives_1_0_0 : ( ( ( rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0 ) ) | ( ( rule__ArrayType__ElementTypeAssignment_1_0_0_1 ) ) );
    public final void rule__ArrayType__Alternatives_1_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3342:1: ( ( ( rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0 ) ) | ( ( rule__ArrayType__ElementTypeAssignment_1_0_0_1 ) ) )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( ((LA10_0>=54 && LA10_0<=59)) ) {
                alt10=1;
            }
            else if ( (LA10_0==RULE_ID) ) {
                alt10=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3343:1: ( ( rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3343:1: ( ( rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3344:1: ( rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArrayTypeAccess().getDefinedElementTypeAssignment_1_0_0_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3345:1: ( rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3345:2: rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0
                    {
                    pushFollow(FOLLOW_rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0_in_rule__ArrayType__Alternatives_1_0_07102);
                    rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArrayTypeAccess().getDefinedElementTypeAssignment_1_0_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3349:6: ( ( rule__ArrayType__ElementTypeAssignment_1_0_0_1 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3349:6: ( ( rule__ArrayType__ElementTypeAssignment_1_0_0_1 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3350:1: ( rule__ArrayType__ElementTypeAssignment_1_0_0_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArrayTypeAccess().getElementTypeAssignment_1_0_0_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3351:1: ( rule__ArrayType__ElementTypeAssignment_1_0_0_1 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3351:2: rule__ArrayType__ElementTypeAssignment_1_0_0_1
                    {
                    pushFollow(FOLLOW_rule__ArrayType__ElementTypeAssignment_1_0_0_1_in_rule__ArrayType__Alternatives_1_0_07120);
                    rule__ArrayType__ElementTypeAssignment_1_0_0_1();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArrayTypeAccess().getElementTypeAssignment_1_0_0_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Alternatives_1_0_0"


    // $ANTLR start "rule__Expression__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3360:1: rule__Expression__Alternatives : ( ( ruleLetExpression ) | ( ruleIfExpression ) | ( ruleSwitchExpression ) | ( ruleRangeExpression ) );
    public final void rule__Expression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3364:1: ( ( ruleLetExpression ) | ( ruleIfExpression ) | ( ruleSwitchExpression ) | ( ruleRangeExpression ) )
            int alt11=4;
            switch ( input.LA(1) ) {
            case 62:
                {
                alt11=1;
                }
                break;
            case 88:
                {
                int LA11_2 = input.LA(2);

                if ( (LA11_2==67) ) {
                    alt11=3;
                }
                else if ( (LA11_2==64) ) {
                    alt11=2;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 11, 2, input);

                    throw nvae;
                }
                }
                break;
            case 64:
                {
                alt11=2;
                }
                break;
            case 67:
                {
                alt11=3;
                }
                break;
            case RULE_REAL:
            case RULE_ONE:
            case RULE_INT:
            case RULE_N:
            case RULE_ID:
            case RULE_STRING:
            case 15:
            case 29:
            case 36:
            case 38:
            case 47:
            case 60:
            case 77:
            case 79:
            case 80:
            case 81:
            case 90:
                {
                alt11=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }

            switch (alt11) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3365:1: ( ruleLetExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3365:1: ( ruleLetExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3366:1: ruleLetExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleLetExpression_in_rule__Expression__Alternatives7153);
                    ruleLetExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3371:6: ( ruleIfExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3371:6: ( ruleIfExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3372:1: ruleIfExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExpressionAccess().getIfExpressionParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleIfExpression_in_rule__Expression__Alternatives7170);
                    ruleIfExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExpressionAccess().getIfExpressionParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3377:6: ( ruleSwitchExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3377:6: ( ruleSwitchExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3378:1: ruleSwitchExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExpressionAccess().getSwitchExpressionParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleSwitchExpression_in_rule__Expression__Alternatives7187);
                    ruleSwitchExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExpressionAccess().getSwitchExpressionParserRuleCall_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3383:6: ( ruleRangeExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3383:6: ( ruleRangeExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3384:1: ruleRangeExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getExpressionAccess().getRangeExpressionParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_ruleRangeExpression_in_rule__Expression__Alternatives7204);
                    ruleRangeExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getExpressionAccess().getRangeExpressionParserRuleCall_3()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Expression__Alternatives"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Alternatives_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3394:1: rule__LetExpressionVariableDeclaration__Alternatives_0 : ( ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_0 ) ) | ( ( rule__LetExpressionVariableDeclaration__Group_0_1__0 ) ) );
    public final void rule__LetExpressionVariableDeclaration__Alternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3398:1: ( ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_0 ) ) | ( ( rule__LetExpressionVariableDeclaration__Group_0_1__0 ) ) )
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( ((LA12_0>=RULE_N && LA12_0<=RULE_ID)) ) {
                alt12=1;
            }
            else if ( (LA12_0==47) ) {
                alt12=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }
            switch (alt12) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3399:1: ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3399:1: ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3400:1: ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsAssignment_0_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3401:1: ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3401:2: rule__LetExpressionVariableDeclaration__PartsAssignment_0_0
                    {
                    pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__PartsAssignment_0_0_in_rule__LetExpressionVariableDeclaration__Alternatives_07236);
                    rule__LetExpressionVariableDeclaration__PartsAssignment_0_0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsAssignment_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3405:6: ( ( rule__LetExpressionVariableDeclaration__Group_0_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3405:6: ( ( rule__LetExpressionVariableDeclaration__Group_0_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3406:1: ( rule__LetExpressionVariableDeclaration__Group_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getLetExpressionVariableDeclarationAccess().getGroup_0_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3407:1: ( rule__LetExpressionVariableDeclaration__Group_0_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3407:2: rule__LetExpressionVariableDeclaration__Group_0_1__0
                    {
                    pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__0_in_rule__LetExpressionVariableDeclaration__Alternatives_07254);
                    rule__LetExpressionVariableDeclaration__Group_0_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getLetExpressionVariableDeclarationAccess().getGroup_0_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Alternatives_0"


    // $ANTLR start "rule__RelationalExpression__Alternatives_1_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3416:1: rule__RelationalExpression__Alternatives_1_0 : ( ( ( rule__RelationalExpression__Group_1_0_0__0 ) ) | ( ( rule__RelationalExpression__Group_1_0_1__0 ) ) );
    public final void rule__RelationalExpression__Alternatives_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3420:1: ( ( ( rule__RelationalExpression__Group_1_0_0__0 ) ) | ( ( rule__RelationalExpression__Group_1_0_1__0 ) ) )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( ((LA13_0>=24 && LA13_0<=27)) ) {
                alt13=1;
            }
            else if ( (LA13_0==73) ) {
                alt13=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3421:1: ( ( rule__RelationalExpression__Group_1_0_0__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3421:1: ( ( rule__RelationalExpression__Group_1_0_0__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3422:1: ( rule__RelationalExpression__Group_1_0_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRelationalExpressionAccess().getGroup_1_0_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3423:1: ( rule__RelationalExpression__Group_1_0_0__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3423:2: rule__RelationalExpression__Group_1_0_0__0
                    {
                    pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_0__0_in_rule__RelationalExpression__Alternatives_1_07287);
                    rule__RelationalExpression__Group_1_0_0__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRelationalExpressionAccess().getGroup_1_0_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3427:6: ( ( rule__RelationalExpression__Group_1_0_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3427:6: ( ( rule__RelationalExpression__Group_1_0_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3428:1: ( rule__RelationalExpression__Group_1_0_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRelationalExpressionAccess().getGroup_1_0_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3429:1: ( rule__RelationalExpression__Group_1_0_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3429:2: rule__RelationalExpression__Group_1_0_1__0
                    {
                    pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_1__0_in_rule__RelationalExpression__Alternatives_1_07305);
                    rule__RelationalExpression__Group_1_0_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRelationalExpressionAccess().getGroup_1_0_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Alternatives_1_0"


    // $ANTLR start "rule__UnaryExpression__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3438:1: rule__UnaryExpression__Alternatives : ( ( rulePostfixExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) );
    public final void rule__UnaryExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3442:1: ( ( rulePostfixExpression ) | ( ( rule__UnaryExpression__Group_1__0 ) ) )
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( ((LA14_0>=RULE_REAL && LA14_0<=RULE_STRING)||LA14_0==15||LA14_0==38||LA14_0==47||LA14_0==60||LA14_0==77||(LA14_0>=79 && LA14_0<=81)||LA14_0==90) ) {
                alt14=1;
            }
            else if ( (LA14_0==29||LA14_0==36) ) {
                alt14=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;
            }
            switch (alt14) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3443:1: ( rulePostfixExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3443:1: ( rulePostfixExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3444:1: rulePostfixExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryExpressionAccess().getPostfixExpressionParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_rulePostfixExpression_in_rule__UnaryExpression__Alternatives7338);
                    rulePostfixExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryExpressionAccess().getPostfixExpressionParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3449:6: ( ( rule__UnaryExpression__Group_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3449:6: ( ( rule__UnaryExpression__Group_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3450:1: ( rule__UnaryExpression__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryExpressionAccess().getGroup_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3451:1: ( rule__UnaryExpression__Group_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3451:2: rule__UnaryExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__UnaryExpression__Group_1__0_in_rule__UnaryExpression__Alternatives7355);
                    rule__UnaryExpression__Group_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryExpressionAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__Alternatives"


    // $ANTLR start "rule__MemberFeatureCall__Alternatives_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3460:1: rule__MemberFeatureCall__Alternatives_1 : ( ( ( rule__MemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__MemberFeatureCall__Group_1_1__0 ) ) | ( ( rule__MemberFeatureCall__Group_1_2__0 ) ) );
    public final void rule__MemberFeatureCall__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3464:1: ( ( ( rule__MemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__MemberFeatureCall__Group_1_1__0 ) ) | ( ( rule__MemberFeatureCall__Group_1_2__0 ) ) )
            int alt15=3;
            alt15 = dfa15.predict(input);
            switch (alt15) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3465:1: ( ( rule__MemberFeatureCall__Group_1_0__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3465:1: ( ( rule__MemberFeatureCall__Group_1_0__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3466:1: ( rule__MemberFeatureCall__Group_1_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3467:1: ( rule__MemberFeatureCall__Group_1_0__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3467:2: rule__MemberFeatureCall__Group_1_0__0
                    {
                    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_0__0_in_rule__MemberFeatureCall__Alternatives_17388);
                    rule__MemberFeatureCall__Group_1_0__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3471:6: ( ( rule__MemberFeatureCall__Group_1_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3471:6: ( ( rule__MemberFeatureCall__Group_1_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3472:1: ( rule__MemberFeatureCall__Group_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3473:1: ( rule__MemberFeatureCall__Group_1_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3473:2: rule__MemberFeatureCall__Group_1_1__0
                    {
                    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__0_in_rule__MemberFeatureCall__Alternatives_17406);
                    rule__MemberFeatureCall__Group_1_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3477:6: ( ( rule__MemberFeatureCall__Group_1_2__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3477:6: ( ( rule__MemberFeatureCall__Group_1_2__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3478:1: ( rule__MemberFeatureCall__Group_1_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3479:1: ( rule__MemberFeatureCall__Group_1_2__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3479:2: rule__MemberFeatureCall__Group_1_2__0
                    {
                    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__0_in_rule__MemberFeatureCall__Alternatives_17424);
                    rule__MemberFeatureCall__Group_1_2__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Alternatives_1"


    // $ANTLR start "rule__ArraySubscript__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3488:1: rule__ArraySubscript__Alternatives : ( ( ( rule__ArraySubscript__SliceAssignment_0 ) ) | ( ( rule__ArraySubscript__ExpressionAssignment_1 ) ) );
    public final void rule__ArraySubscript__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3492:1: ( ( ( rule__ArraySubscript__SliceAssignment_0 ) ) | ( ( rule__ArraySubscript__ExpressionAssignment_1 ) ) )
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==45) ) {
                alt16=1;
            }
            else if ( ((LA16_0>=RULE_REAL && LA16_0<=RULE_STRING)||LA16_0==15||LA16_0==29||LA16_0==36||LA16_0==38||LA16_0==47||LA16_0==60||LA16_0==62||LA16_0==64||LA16_0==67||LA16_0==77||(LA16_0>=79 && LA16_0<=81)||LA16_0==88||LA16_0==90) ) {
                alt16=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;
            }
            switch (alt16) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3493:1: ( ( rule__ArraySubscript__SliceAssignment_0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3493:1: ( ( rule__ArraySubscript__SliceAssignment_0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3494:1: ( rule__ArraySubscript__SliceAssignment_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArraySubscriptAccess().getSliceAssignment_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3495:1: ( rule__ArraySubscript__SliceAssignment_0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3495:2: rule__ArraySubscript__SliceAssignment_0
                    {
                    pushFollow(FOLLOW_rule__ArraySubscript__SliceAssignment_0_in_rule__ArraySubscript__Alternatives7457);
                    rule__ArraySubscript__SliceAssignment_0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArraySubscriptAccess().getSliceAssignment_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3499:6: ( ( rule__ArraySubscript__ExpressionAssignment_1 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3499:6: ( ( rule__ArraySubscript__ExpressionAssignment_1 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3500:1: ( rule__ArraySubscript__ExpressionAssignment_1 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArraySubscriptAccess().getExpressionAssignment_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3501:1: ( rule__ArraySubscript__ExpressionAssignment_1 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3501:2: rule__ArraySubscript__ExpressionAssignment_1
                    {
                    pushFollow(FOLLOW_rule__ArraySubscript__ExpressionAssignment_1_in_rule__ArraySubscript__Alternatives7475);
                    rule__ArraySubscript__ExpressionAssignment_1();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArraySubscriptAccess().getExpressionAssignment_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArraySubscript__Alternatives"


    // $ANTLR start "rule__PrimaryExpression__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3510:1: rule__PrimaryExpression__Alternatives : ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleDerivativeOperator ) | ( ruleUnitConstructionOperator ) | ( ruleArrayConstructionOperator ) | ( ruleArrayConcatenationOperator ) | ( ruleParenthesizedExpression ) | ( ruleEndExpression ) | ( ruleAlgorithmExpression ) );
    public final void rule__PrimaryExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3514:1: ( ( ruleLiteral ) | ( ruleFeatureCall ) | ( ruleDerivativeOperator ) | ( ruleUnitConstructionOperator ) | ( ruleArrayConstructionOperator ) | ( ruleArrayConcatenationOperator ) | ( ruleParenthesizedExpression ) | ( ruleEndExpression ) | ( ruleAlgorithmExpression ) )
            int alt17=9;
            switch ( input.LA(1) ) {
            case RULE_REAL:
            case RULE_ONE:
            case RULE_INT:
            case RULE_STRING:
            case 15:
            case 90:
                {
                alt17=1;
                }
                break;
            case RULE_N:
            case RULE_ID:
                {
                alt17=2;
                }
                break;
            case 77:
                {
                alt17=3;
                }
                break;
            case 79:
                {
                alt17=4;
                }
                break;
            case 38:
                {
                alt17=5;
                }
                break;
            case 60:
                {
                alt17=6;
                }
                break;
            case 47:
                {
                alt17=7;
                }
                break;
            case 80:
                {
                alt17=8;
                }
                break;
            case 81:
                {
                alt17=9;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);

                throw nvae;
            }

            switch (alt17) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3515:1: ( ruleLiteral )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3515:1: ( ruleLiteral )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3516:1: ruleLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleLiteral_in_rule__PrimaryExpression__Alternatives7508);
                    ruleLiteral();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getLiteralParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3521:6: ( ruleFeatureCall )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3521:6: ( ruleFeatureCall )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3522:1: ruleFeatureCall
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleFeatureCall_in_rule__PrimaryExpression__Alternatives7525);
                    ruleFeatureCall();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getFeatureCallParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3527:6: ( ruleDerivativeOperator )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3527:6: ( ruleDerivativeOperator )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3528:1: ruleDerivativeOperator
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getDerivativeOperatorParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleDerivativeOperator_in_rule__PrimaryExpression__Alternatives7542);
                    ruleDerivativeOperator();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getDerivativeOperatorParserRuleCall_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3533:6: ( ruleUnitConstructionOperator )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3533:6: ( ruleUnitConstructionOperator )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3534:1: ruleUnitConstructionOperator
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getUnitConstructionOperatorParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_ruleUnitConstructionOperator_in_rule__PrimaryExpression__Alternatives7559);
                    ruleUnitConstructionOperator();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getUnitConstructionOperatorParserRuleCall_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3539:6: ( ruleArrayConstructionOperator )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3539:6: ( ruleArrayConstructionOperator )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3540:1: ruleArrayConstructionOperator
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getArrayConstructionOperatorParserRuleCall_4()); 
                    }
                    pushFollow(FOLLOW_ruleArrayConstructionOperator_in_rule__PrimaryExpression__Alternatives7576);
                    ruleArrayConstructionOperator();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getArrayConstructionOperatorParserRuleCall_4()); 
                    }

                    }


                    }
                    break;
                case 6 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3545:6: ( ruleArrayConcatenationOperator )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3545:6: ( ruleArrayConcatenationOperator )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3546:1: ruleArrayConcatenationOperator
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getArrayConcatenationOperatorParserRuleCall_5()); 
                    }
                    pushFollow(FOLLOW_ruleArrayConcatenationOperator_in_rule__PrimaryExpression__Alternatives7593);
                    ruleArrayConcatenationOperator();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getArrayConcatenationOperatorParserRuleCall_5()); 
                    }

                    }


                    }
                    break;
                case 7 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3551:6: ( ruleParenthesizedExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3551:6: ( ruleParenthesizedExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3552:1: ruleParenthesizedExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getParenthesizedExpressionParserRuleCall_6()); 
                    }
                    pushFollow(FOLLOW_ruleParenthesizedExpression_in_rule__PrimaryExpression__Alternatives7610);
                    ruleParenthesizedExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getParenthesizedExpressionParserRuleCall_6()); 
                    }

                    }


                    }
                    break;
                case 8 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3557:6: ( ruleEndExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3557:6: ( ruleEndExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3558:1: ruleEndExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getEndExpressionParserRuleCall_7()); 
                    }
                    pushFollow(FOLLOW_ruleEndExpression_in_rule__PrimaryExpression__Alternatives7627);
                    ruleEndExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getEndExpressionParserRuleCall_7()); 
                    }

                    }


                    }
                    break;
                case 9 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3563:6: ( ruleAlgorithmExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3563:6: ( ruleAlgorithmExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3564:1: ruleAlgorithmExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimaryExpressionAccess().getAlgorithmExpressionParserRuleCall_8()); 
                    }
                    pushFollow(FOLLOW_ruleAlgorithmExpression_in_rule__PrimaryExpression__Alternatives7644);
                    ruleAlgorithmExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimaryExpressionAccess().getAlgorithmExpressionParserRuleCall_8()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PrimaryExpression__Alternatives"


    // $ANTLR start "rule__AssignablePrimaryExpression__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3574:1: rule__AssignablePrimaryExpression__Alternatives : ( ( ruleFeatureCall ) | ( ruleParenthesizedExpression ) );
    public final void rule__AssignablePrimaryExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3578:1: ( ( ruleFeatureCall ) | ( ruleParenthesizedExpression ) )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( ((LA18_0>=RULE_N && LA18_0<=RULE_ID)) ) {
                alt18=1;
            }
            else if ( (LA18_0==47) ) {
                alt18=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;
            }
            switch (alt18) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3579:1: ( ruleFeatureCall )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3579:1: ( ruleFeatureCall )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3580:1: ruleFeatureCall
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAssignablePrimaryExpressionAccess().getFeatureCallParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleFeatureCall_in_rule__AssignablePrimaryExpression__Alternatives7676);
                    ruleFeatureCall();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAssignablePrimaryExpressionAccess().getFeatureCallParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3585:6: ( ruleParenthesizedExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3585:6: ( ruleParenthesizedExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3586:1: ruleParenthesizedExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAssignablePrimaryExpressionAccess().getParenthesizedExpressionParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleParenthesizedExpression_in_rule__AssignablePrimaryExpression__Alternatives7693);
                    ruleParenthesizedExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAssignablePrimaryExpressionAccess().getParenthesizedExpressionParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignablePrimaryExpression__Alternatives"


    // $ANTLR start "rule__Literal__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3596:1: rule__Literal__Alternatives : ( ( ruleNumericLiteral ) | ( ruleBooleanLiteral ) | ( ruleStringLiteral ) );
    public final void rule__Literal__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3600:1: ( ( ruleNumericLiteral ) | ( ruleBooleanLiteral ) | ( ruleStringLiteral ) )
            int alt19=3;
            switch ( input.LA(1) ) {
            case RULE_REAL:
            case RULE_ONE:
            case RULE_INT:
                {
                alt19=1;
                }
                break;
            case 15:
            case 90:
                {
                alt19=2;
                }
                break;
            case RULE_STRING:
                {
                alt19=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 19, 0, input);

                throw nvae;
            }

            switch (alt19) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3601:1: ( ruleNumericLiteral )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3601:1: ( ruleNumericLiteral )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3602:1: ruleNumericLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleNumericLiteral_in_rule__Literal__Alternatives7725);
                    ruleNumericLiteral();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3607:6: ( ruleBooleanLiteral )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3607:6: ( ruleBooleanLiteral )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3608:1: ruleBooleanLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives7742);
                    ruleBooleanLiteral();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3613:6: ( ruleStringLiteral )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3613:6: ( ruleStringLiteral )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3614:1: ruleStringLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives7759);
                    ruleStringLiteral();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Literal__Alternatives"


    // $ANTLR start "rule__NumericLiteral__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3624:1: rule__NumericLiteral__Alternatives : ( ( ruleRealLiteral ) | ( ruleIntegerLiteral ) );
    public final void rule__NumericLiteral__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3628:1: ( ( ruleRealLiteral ) | ( ruleIntegerLiteral ) )
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==RULE_REAL) ) {
                alt20=1;
            }
            else if ( ((LA20_0>=RULE_ONE && LA20_0<=RULE_INT)) ) {
                alt20=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 20, 0, input);

                throw nvae;
            }
            switch (alt20) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3629:1: ( ruleRealLiteral )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3629:1: ( ruleRealLiteral )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3630:1: ruleRealLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNumericLiteralAccess().getRealLiteralParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumericLiteral__Alternatives7791);
                    ruleRealLiteral();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNumericLiteralAccess().getRealLiteralParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3635:6: ( ruleIntegerLiteral )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3635:6: ( ruleIntegerLiteral )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3636:1: ruleIntegerLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNumericLiteralAccess().getIntegerLiteralParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleIntegerLiteral_in_rule__NumericLiteral__Alternatives7808);
                    ruleIntegerLiteral();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNumericLiteralAccess().getIntegerLiteralParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumericLiteral__Alternatives"


    // $ANTLR start "rule__BooleanLiteral__Alternatives_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3646:1: rule__BooleanLiteral__Alternatives_1 : ( ( ( rule__BooleanLiteral__TrueAssignment_1_0 ) ) | ( 'false' ) );
    public final void rule__BooleanLiteral__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3650:1: ( ( ( rule__BooleanLiteral__TrueAssignment_1_0 ) ) | ( 'false' ) )
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==90) ) {
                alt21=1;
            }
            else if ( (LA21_0==15) ) {
                alt21=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 21, 0, input);

                throw nvae;
            }
            switch (alt21) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3651:1: ( ( rule__BooleanLiteral__TrueAssignment_1_0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3651:1: ( ( rule__BooleanLiteral__TrueAssignment_1_0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3652:1: ( rule__BooleanLiteral__TrueAssignment_1_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBooleanLiteralAccess().getTrueAssignment_1_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3653:1: ( rule__BooleanLiteral__TrueAssignment_1_0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3653:2: rule__BooleanLiteral__TrueAssignment_1_0
                    {
                    pushFollow(FOLLOW_rule__BooleanLiteral__TrueAssignment_1_0_in_rule__BooleanLiteral__Alternatives_17840);
                    rule__BooleanLiteral__TrueAssignment_1_0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBooleanLiteralAccess().getTrueAssignment_1_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3657:6: ( 'false' )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3657:6: ( 'false' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3658:1: 'false'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); 
                    }
                    match(input,15,FOLLOW_15_in_rule__BooleanLiteral__Alternatives_17859); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanLiteral__Alternatives_1"


    // $ANTLR start "rule__FeatureCall__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3670:1: rule__FeatureCall__Alternatives : ( ( ruleVariableAccess ) | ( ruleFunctionCall ) );
    public final void rule__FeatureCall__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3674:1: ( ( ruleVariableAccess ) | ( ruleFunctionCall ) )
            int alt22=2;
            alt22 = dfa22.predict(input);
            switch (alt22) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3675:1: ( ruleVariableAccess )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3675:1: ( ruleVariableAccess )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3676:1: ruleVariableAccess
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFeatureCallAccess().getVariableAccessParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleVariableAccess_in_rule__FeatureCall__Alternatives7893);
                    ruleVariableAccess();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFeatureCallAccess().getVariableAccessParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3681:6: ( ruleFunctionCall )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3681:6: ( ruleFunctionCall )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3682:1: ruleFunctionCall
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFeatureCallAccess().getFunctionCallParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleFunctionCall_in_rule__FeatureCall__Alternatives7910);
                    ruleFunctionCall();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFeatureCallAccess().getFunctionCallParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FeatureCall__Alternatives"


    // $ANTLR start "rule__NegateStepExpression__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3692:1: rule__NegateStepExpression__Alternatives : ( ( rulePrimitiveStepExpression ) | ( ( rule__NegateStepExpression__Group_1__0 ) ) );
    public final void rule__NegateStepExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3696:1: ( ( rulePrimitiveStepExpression ) | ( ( rule__NegateStepExpression__Group_1__0 ) ) )
            int alt23=2;
            int LA23_0 = input.LA(1);

            if ( ((LA23_0>=RULE_ONE && LA23_0<=RULE_N)) ) {
                alt23=1;
            }
            else if ( (LA23_0==29) ) {
                alt23=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 23, 0, input);

                throw nvae;
            }
            switch (alt23) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3697:1: ( rulePrimitiveStepExpression )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3697:1: ( rulePrimitiveStepExpression )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3698:1: rulePrimitiveStepExpression
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNegateStepExpressionAccess().getPrimitiveStepExpressionParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_rulePrimitiveStepExpression_in_rule__NegateStepExpression__Alternatives7942);
                    rulePrimitiveStepExpression();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNegateStepExpressionAccess().getPrimitiveStepExpressionParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3703:6: ( ( rule__NegateStepExpression__Group_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3703:6: ( ( rule__NegateStepExpression__Group_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3704:1: ( rule__NegateStepExpression__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getNegateStepExpressionAccess().getGroup_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3705:1: ( rule__NegateStepExpression__Group_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3705:2: rule__NegateStepExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__NegateStepExpression__Group_1__0_in_rule__NegateStepExpression__Alternatives7959);
                    rule__NegateStepExpression__Group_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getNegateStepExpressionAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__Alternatives"


    // $ANTLR start "rule__PrimitiveStepExpression__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3714:1: rule__PrimitiveStepExpression__Alternatives : ( ( ruleStepLiteral ) | ( ruleStepN ) );
    public final void rule__PrimitiveStepExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3718:1: ( ( ruleStepLiteral ) | ( ruleStepN ) )
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( ((LA24_0>=RULE_ONE && LA24_0<=RULE_INT)) ) {
                alt24=1;
            }
            else if ( (LA24_0==RULE_N) ) {
                alt24=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 24, 0, input);

                throw nvae;
            }
            switch (alt24) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3719:1: ( ruleStepLiteral )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3719:1: ( ruleStepLiteral )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3720:1: ruleStepLiteral
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimitiveStepExpressionAccess().getStepLiteralParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleStepLiteral_in_rule__PrimitiveStepExpression__Alternatives7992);
                    ruleStepLiteral();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimitiveStepExpressionAccess().getStepLiteralParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3725:6: ( ruleStepN )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3725:6: ( ruleStepN )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3726:1: ruleStepN
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPrimitiveStepExpressionAccess().getStepNParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleStepN_in_rule__PrimitiveStepExpression__Alternatives8009);
                    ruleStepN();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPrimitiveStepExpressionAccess().getStepNParserRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PrimitiveStepExpression__Alternatives"


    // $ANTLR start "rule__ArrayConstructionOperator__Alternatives_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3736:1: rule__ArrayConstructionOperator__Alternatives_2 : ( ( ( rule__ArrayConstructionOperator__Group_2_0__0 )* ) | ( ( rule__ArrayConstructionOperator__Group_2_1__0 ) ) );
    public final void rule__ArrayConstructionOperator__Alternatives_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3740:1: ( ( ( rule__ArrayConstructionOperator__Group_2_0__0 )* ) | ( ( rule__ArrayConstructionOperator__Group_2_1__0 ) ) )
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( ((LA26_0>=39 && LA26_0<=40)) ) {
                alt26=1;
            }
            else if ( (LA26_0==78) ) {
                alt26=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 26, 0, input);

                throw nvae;
            }
            switch (alt26) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3741:1: ( ( rule__ArrayConstructionOperator__Group_2_0__0 )* )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3741:1: ( ( rule__ArrayConstructionOperator__Group_2_0__0 )* )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3742:1: ( rule__ArrayConstructionOperator__Group_2_0__0 )*
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArrayConstructionOperatorAccess().getGroup_2_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3743:1: ( rule__ArrayConstructionOperator__Group_2_0__0 )*
                    loop25:
                    do {
                        int alt25=2;
                        int LA25_0 = input.LA(1);

                        if ( (LA25_0==40) ) {
                            alt25=1;
                        }


                        switch (alt25) {
                    	case 1 :
                    	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3743:2: rule__ArrayConstructionOperator__Group_2_0__0
                    	    {
                    	    pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_0__0_in_rule__ArrayConstructionOperator__Alternatives_28041);
                    	    rule__ArrayConstructionOperator__Group_2_0__0();

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

                    	    }
                    	    break;

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

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArrayConstructionOperatorAccess().getGroup_2_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3747:6: ( ( rule__ArrayConstructionOperator__Group_2_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3747:6: ( ( rule__ArrayConstructionOperator__Group_2_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3748:1: ( rule__ArrayConstructionOperator__Group_2_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getArrayConstructionOperatorAccess().getGroup_2_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3749:1: ( rule__ArrayConstructionOperator__Group_2_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3749:2: rule__ArrayConstructionOperator__Group_2_1__0
                    {
                    pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1__0_in_rule__ArrayConstructionOperator__Alternatives_28060);
                    rule__ArrayConstructionOperator__Group_2_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getArrayConstructionOperatorAccess().getGroup_2_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Alternatives_2"


    // $ANTLR start "rule__Statement__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3758:1: rule__Statement__Alternatives : ( ( ruleCompound ) | ( ruleAssignment ) | ( ruleVariableDeclaration ) | ( ruleIfStatement ) | ( ruleWhileStatement ) | ( ruleDoWhileStatement ) | ( ruleForStatement ) | ( ruleContinueStatement ) | ( ruleBreakStatement ) | ( ruleReturnStatement ) );
    public final void rule__Statement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3762:1: ( ( ruleCompound ) | ( ruleAssignment ) | ( ruleVariableDeclaration ) | ( ruleIfStatement ) | ( ruleWhileStatement ) | ( ruleDoWhileStatement ) | ( ruleForStatement ) | ( ruleContinueStatement ) | ( ruleBreakStatement ) | ( ruleReturnStatement ) )
            int alt27=10;
            switch ( input.LA(1) ) {
            case 38:
                {
                alt27=1;
                }
                break;
            case RULE_N:
            case RULE_ID:
            case 47:
                {
                alt27=2;
                }
                break;
            case 52:
                {
                alt27=3;
                }
                break;
            case 64:
                {
                alt27=4;
                }
                break;
            case 82:
                {
                alt27=5;
                }
                break;
            case 83:
                {
                alt27=6;
                }
                break;
            case 78:
                {
                alt27=7;
                }
                break;
            case 84:
                {
                alt27=8;
                }
                break;
            case 85:
                {
                alt27=9;
                }
                break;
            case 86:
                {
                alt27=10;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 27, 0, input);

                throw nvae;
            }

            switch (alt27) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3763:1: ( ruleCompound )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3763:1: ( ruleCompound )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3764:1: ruleCompound
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getCompoundParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleCompound_in_rule__Statement__Alternatives8093);
                    ruleCompound();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getCompoundParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3769:6: ( ruleAssignment )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3769:6: ( ruleAssignment )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3770:1: ruleAssignment
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getAssignmentParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleAssignment_in_rule__Statement__Alternatives8110);
                    ruleAssignment();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getAssignmentParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3775:6: ( ruleVariableDeclaration )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3775:6: ( ruleVariableDeclaration )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3776:1: ruleVariableDeclaration
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getVariableDeclarationParserRuleCall_2()); 
                    }
                    pushFollow(FOLLOW_ruleVariableDeclaration_in_rule__Statement__Alternatives8127);
                    ruleVariableDeclaration();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getVariableDeclarationParserRuleCall_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3781:6: ( ruleIfStatement )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3781:6: ( ruleIfStatement )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3782:1: ruleIfStatement
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getIfStatementParserRuleCall_3()); 
                    }
                    pushFollow(FOLLOW_ruleIfStatement_in_rule__Statement__Alternatives8144);
                    ruleIfStatement();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getIfStatementParserRuleCall_3()); 
                    }

                    }


                    }
                    break;
                case 5 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3787:6: ( ruleWhileStatement )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3787:6: ( ruleWhileStatement )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3788:1: ruleWhileStatement
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_4()); 
                    }
                    pushFollow(FOLLOW_ruleWhileStatement_in_rule__Statement__Alternatives8161);
                    ruleWhileStatement();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_4()); 
                    }

                    }


                    }
                    break;
                case 6 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3793:6: ( ruleDoWhileStatement )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3793:6: ( ruleDoWhileStatement )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3794:1: ruleDoWhileStatement
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getDoWhileStatementParserRuleCall_5()); 
                    }
                    pushFollow(FOLLOW_ruleDoWhileStatement_in_rule__Statement__Alternatives8178);
                    ruleDoWhileStatement();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getDoWhileStatementParserRuleCall_5()); 
                    }

                    }


                    }
                    break;
                case 7 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3799:6: ( ruleForStatement )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3799:6: ( ruleForStatement )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3800:1: ruleForStatement
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getForStatementParserRuleCall_6()); 
                    }
                    pushFollow(FOLLOW_ruleForStatement_in_rule__Statement__Alternatives8195);
                    ruleForStatement();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getForStatementParserRuleCall_6()); 
                    }

                    }


                    }
                    break;
                case 8 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3805:6: ( ruleContinueStatement )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3805:6: ( ruleContinueStatement )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3806:1: ruleContinueStatement
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getContinueStatementParserRuleCall_7()); 
                    }
                    pushFollow(FOLLOW_ruleContinueStatement_in_rule__Statement__Alternatives8212);
                    ruleContinueStatement();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getContinueStatementParserRuleCall_7()); 
                    }

                    }


                    }
                    break;
                case 9 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3811:6: ( ruleBreakStatement )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3811:6: ( ruleBreakStatement )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3812:1: ruleBreakStatement
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getBreakStatementParserRuleCall_8()); 
                    }
                    pushFollow(FOLLOW_ruleBreakStatement_in_rule__Statement__Alternatives8229);
                    ruleBreakStatement();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getBreakStatementParserRuleCall_8()); 
                    }

                    }


                    }
                    break;
                case 10 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3817:6: ( ruleReturnStatement )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3817:6: ( ruleReturnStatement )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3818:1: ruleReturnStatement
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_9()); 
                    }
                    pushFollow(FOLLOW_ruleReturnStatement_in_rule__Statement__Alternatives8246);
                    ruleReturnStatement();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_9()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Statement__Alternatives"


    // $ANTLR start "rule__Unit__Alternatives_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3828:1: rule__Unit__Alternatives_1 : ( ( ( rule__Unit__Group_1_0__0 ) ) | ( ( rule__Unit__Group_1_1__0 ) ) | ( ( rule__Unit__NumeratorAssignment_1_2 ) ) );
    public final void rule__Unit__Alternatives_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3832:1: ( ( ( rule__Unit__Group_1_0__0 ) ) | ( ( rule__Unit__Group_1_1__0 ) ) | ( ( rule__Unit__NumeratorAssignment_1_2 ) ) )
            int alt28=3;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==47) ) {
                int LA28_1 = input.LA(2);

                if ( (LA28_1==RULE_ONE||(LA28_1>=RULE_N && LA28_1<=RULE_ID)) ) {
                    alt28=2;
                }
                else if ( (LA28_1==48) ) {
                    alt28=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 28, 1, input);

                    throw nvae;
                }
            }
            else if ( (LA28_0==EOF||LA28_0==14||(LA28_0>=22 && LA28_0<=35)||(LA28_0>=39 && LA28_0<=40)||(LA28_0>=42 && LA28_0<=43)||LA28_0==45||LA28_0==48||(LA28_0>=60 && LA28_0<=61)||LA28_0==63||(LA28_0>=65 && LA28_0<=66)||(LA28_0>=68 && LA28_0<=75)||LA28_0==78) ) {
                alt28=3;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 28, 0, input);

                throw nvae;
            }
            switch (alt28) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3833:1: ( ( rule__Unit__Group_1_0__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3833:1: ( ( rule__Unit__Group_1_0__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3834:1: ( rule__Unit__Group_1_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnitAccess().getGroup_1_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3835:1: ( rule__Unit__Group_1_0__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3835:2: rule__Unit__Group_1_0__0
                    {
                    pushFollow(FOLLOW_rule__Unit__Group_1_0__0_in_rule__Unit__Alternatives_18278);
                    rule__Unit__Group_1_0__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnitAccess().getGroup_1_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3839:6: ( ( rule__Unit__Group_1_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3839:6: ( ( rule__Unit__Group_1_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3840:1: ( rule__Unit__Group_1_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnitAccess().getGroup_1_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3841:1: ( rule__Unit__Group_1_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3841:2: rule__Unit__Group_1_1__0
                    {
                    pushFollow(FOLLOW_rule__Unit__Group_1_1__0_in_rule__Unit__Alternatives_18296);
                    rule__Unit__Group_1_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnitAccess().getGroup_1_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3845:6: ( ( rule__Unit__NumeratorAssignment_1_2 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3845:6: ( ( rule__Unit__NumeratorAssignment_1_2 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3846:1: ( rule__Unit__NumeratorAssignment_1_2 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnitAccess().getNumeratorAssignment_1_2()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3847:1: ( rule__Unit__NumeratorAssignment_1_2 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3847:2: rule__Unit__NumeratorAssignment_1_2
                    {
                    pushFollow(FOLLOW_rule__Unit__NumeratorAssignment_1_2_in_rule__Unit__Alternatives_18314);
                    rule__Unit__NumeratorAssignment_1_2();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnitAccess().getNumeratorAssignment_1_2()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Alternatives_1"


    // $ANTLR start "rule__UnitNumerator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3856:1: rule__UnitNumerator__Alternatives : ( ( ( rule__UnitNumerator__Group_0__0 ) ) | ( ( rule__UnitNumerator__Group_1__0 ) ) );
    public final void rule__UnitNumerator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3860:1: ( ( ( rule__UnitNumerator__Group_0__0 ) ) | ( ( rule__UnitNumerator__Group_1__0 ) ) )
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==RULE_ONE) ) {
                alt29=1;
            }
            else if ( ((LA29_0>=RULE_N && LA29_0<=RULE_ID)) ) {
                alt29=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 29, 0, input);

                throw nvae;
            }
            switch (alt29) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3861:1: ( ( rule__UnitNumerator__Group_0__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3861:1: ( ( rule__UnitNumerator__Group_0__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3862:1: ( rule__UnitNumerator__Group_0__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnitNumeratorAccess().getGroup_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3863:1: ( rule__UnitNumerator__Group_0__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3863:2: rule__UnitNumerator__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__UnitNumerator__Group_0__0_in_rule__UnitNumerator__Alternatives8347);
                    rule__UnitNumerator__Group_0__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnitNumeratorAccess().getGroup_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3867:6: ( ( rule__UnitNumerator__Group_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3867:6: ( ( rule__UnitNumerator__Group_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3868:1: ( rule__UnitNumerator__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnitNumeratorAccess().getGroup_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3869:1: ( rule__UnitNumerator__Group_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3869:2: rule__UnitNumerator__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__UnitNumerator__Group_1__0_in_rule__UnitNumerator__Alternatives8365);
                    rule__UnitNumerator__Group_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnitNumeratorAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Alternatives"


    // $ANTLR start "rule__UnitDenominator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3878:1: rule__UnitDenominator__Alternatives : ( ( ( rule__UnitDenominator__FactorsAssignment_0 ) ) | ( ( rule__UnitDenominator__Group_1__0 ) ) );
    public final void rule__UnitDenominator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3882:1: ( ( ( rule__UnitDenominator__FactorsAssignment_0 ) ) | ( ( rule__UnitDenominator__Group_1__0 ) ) )
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( ((LA30_0>=RULE_N && LA30_0<=RULE_ID)) ) {
                alt30=1;
            }
            else if ( (LA30_0==47) ) {
                alt30=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 30, 0, input);

                throw nvae;
            }
            switch (alt30) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3883:1: ( ( rule__UnitDenominator__FactorsAssignment_0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3883:1: ( ( rule__UnitDenominator__FactorsAssignment_0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3884:1: ( rule__UnitDenominator__FactorsAssignment_0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnitDenominatorAccess().getFactorsAssignment_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3885:1: ( rule__UnitDenominator__FactorsAssignment_0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3885:2: rule__UnitDenominator__FactorsAssignment_0
                    {
                    pushFollow(FOLLOW_rule__UnitDenominator__FactorsAssignment_0_in_rule__UnitDenominator__Alternatives8398);
                    rule__UnitDenominator__FactorsAssignment_0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnitDenominatorAccess().getFactorsAssignment_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3889:6: ( ( rule__UnitDenominator__Group_1__0 ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3889:6: ( ( rule__UnitDenominator__Group_1__0 ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3890:1: ( rule__UnitDenominator__Group_1__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnitDenominatorAccess().getGroup_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3891:1: ( rule__UnitDenominator__Group_1__0 )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3891:2: rule__UnitDenominator__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__UnitDenominator__Group_1__0_in_rule__UnitDenominator__Alternatives8416);
                    rule__UnitDenominator__Group_1__0();

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

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnitDenominatorAccess().getGroup_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Alternatives"


    // $ANTLR start "rule__ValidInt__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3900:1: rule__ValidInt__Alternatives : ( ( RULE_ONE ) | ( RULE_INT ) );
    public final void rule__ValidInt__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3904:1: ( ( RULE_ONE ) | ( RULE_INT ) )
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0==RULE_ONE) ) {
                alt31=1;
            }
            else if ( (LA31_0==RULE_INT) ) {
                alt31=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 31, 0, input);

                throw nvae;
            }
            switch (alt31) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3905:1: ( RULE_ONE )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3905:1: ( RULE_ONE )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3906:1: RULE_ONE
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIntAccess().getONETerminalRuleCall_0()); 
                    }
                    match(input,RULE_ONE,FOLLOW_RULE_ONE_in_rule__ValidInt__Alternatives8449); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIntAccess().getONETerminalRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3911:6: ( RULE_INT )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3911:6: ( RULE_INT )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3912:1: RULE_INT
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIntAccess().getINTTerminalRuleCall_1()); 
                    }
                    match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ValidInt__Alternatives8466); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIntAccess().getINTTerminalRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ValidInt__Alternatives"


    // $ANTLR start "rule__ValidLong__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3922:1: rule__ValidLong__Alternatives : ( ( RULE_ONE ) | ( RULE_INT ) );
    public final void rule__ValidLong__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3926:1: ( ( RULE_ONE ) | ( RULE_INT ) )
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==RULE_ONE) ) {
                alt32=1;
            }
            else if ( (LA32_0==RULE_INT) ) {
                alt32=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 32, 0, input);

                throw nvae;
            }
            switch (alt32) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3927:1: ( RULE_ONE )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3927:1: ( RULE_ONE )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3928:1: RULE_ONE
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidLongAccess().getONETerminalRuleCall_0()); 
                    }
                    match(input,RULE_ONE,FOLLOW_RULE_ONE_in_rule__ValidLong__Alternatives8498); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidLongAccess().getONETerminalRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3933:6: ( RULE_INT )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3933:6: ( RULE_INT )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3934:1: RULE_INT
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidLongAccess().getINTTerminalRuleCall_1()); 
                    }
                    match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ValidLong__Alternatives8515); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidLongAccess().getINTTerminalRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ValidLong__Alternatives"


    // $ANTLR start "rule__ValidID__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3944:1: rule__ValidID__Alternatives : ( ( RULE_N ) | ( RULE_ID ) );
    public final void rule__ValidID__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3948:1: ( ( RULE_N ) | ( RULE_ID ) )
            int alt33=2;
            int LA33_0 = input.LA(1);

            if ( (LA33_0==RULE_N) ) {
                alt33=1;
            }
            else if ( (LA33_0==RULE_ID) ) {
                alt33=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 33, 0, input);

                throw nvae;
            }
            switch (alt33) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3949:1: ( RULE_N )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3949:1: ( RULE_N )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3950:1: RULE_N
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getNTerminalRuleCall_0()); 
                    }
                    match(input,RULE_N,FOLLOW_RULE_N_in_rule__ValidID__Alternatives8547); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getNTerminalRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3955:6: ( RULE_ID )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3955:6: ( RULE_ID )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3956:1: RULE_ID
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall_1()); 
                    }
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ValidID__Alternatives8564); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ValidID__Alternatives"


    // $ANTLR start "rule__FunctionKind__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3966:1: rule__FunctionKind__Alternatives : ( ( ( 'stateful' ) ) | ( ( 'continuous' ) ) );
    public final void rule__FunctionKind__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3970:1: ( ( ( 'stateful' ) ) | ( ( 'continuous' ) ) )
            int alt34=2;
            int LA34_0 = input.LA(1);

            if ( (LA34_0==16) ) {
                alt34=1;
            }
            else if ( (LA34_0==17) ) {
                alt34=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 34, 0, input);

                throw nvae;
            }
            switch (alt34) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3971:1: ( ( 'stateful' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3971:1: ( ( 'stateful' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3972:1: ( 'stateful' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionKindAccess().getStatefulEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3973:1: ( 'stateful' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3973:3: 'stateful'
                    {
                    match(input,16,FOLLOW_16_in_rule__FunctionKind__Alternatives8597); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionKindAccess().getStatefulEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3978:6: ( ( 'continuous' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3978:6: ( ( 'continuous' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3979:1: ( 'continuous' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getFunctionKindAccess().getContinuousEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3980:1: ( 'continuous' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3980:3: 'continuous'
                    {
                    match(input,17,FOLLOW_17_in_rule__FunctionKind__Alternatives8618); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getFunctionKindAccess().getContinuousEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionKind__Alternatives"


    // $ANTLR start "rule__AssertionStatusKind__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3990:1: rule__AssertionStatusKind__Alternatives : ( ( ( 'info' ) ) | ( ( 'warning' ) ) | ( ( 'error' ) ) | ( ( 'fatal' ) ) );
    public final void rule__AssertionStatusKind__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3994:1: ( ( ( 'info' ) ) | ( ( 'warning' ) ) | ( ( 'error' ) ) | ( ( 'fatal' ) ) )
            int alt35=4;
            switch ( input.LA(1) ) {
            case 18:
                {
                alt35=1;
                }
                break;
            case 19:
                {
                alt35=2;
                }
                break;
            case 20:
                {
                alt35=3;
                }
                break;
            case 21:
                {
                alt35=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 35, 0, input);

                throw nvae;
            }

            switch (alt35) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3995:1: ( ( 'info' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3995:1: ( ( 'info' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3996:1: ( 'info' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAssertionStatusKindAccess().getInfoEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3997:1: ( 'info' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3997:3: 'info'
                    {
                    match(input,18,FOLLOW_18_in_rule__AssertionStatusKind__Alternatives8654); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAssertionStatusKindAccess().getInfoEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4002:6: ( ( 'warning' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4002:6: ( ( 'warning' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4003:1: ( 'warning' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAssertionStatusKindAccess().getWarningEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4004:1: ( 'warning' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4004:3: 'warning'
                    {
                    match(input,19,FOLLOW_19_in_rule__AssertionStatusKind__Alternatives8675); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAssertionStatusKindAccess().getWarningEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4009:6: ( ( 'error' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4009:6: ( ( 'error' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4010:1: ( 'error' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAssertionStatusKindAccess().getErrorEnumLiteralDeclaration_2()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4011:1: ( 'error' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4011:3: 'error'
                    {
                    match(input,20,FOLLOW_20_in_rule__AssertionStatusKind__Alternatives8696); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAssertionStatusKindAccess().getErrorEnumLiteralDeclaration_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4016:6: ( ( 'fatal' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4016:6: ( ( 'fatal' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4017:1: ( 'fatal' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAssertionStatusKindAccess().getFatalEnumLiteralDeclaration_3()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4018:1: ( 'fatal' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4018:3: 'fatal'
                    {
                    match(input,21,FOLLOW_21_in_rule__AssertionStatusKind__Alternatives8717); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAssertionStatusKindAccess().getFatalEnumLiteralDeclaration_3()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssertionStatusKind__Alternatives"


    // $ANTLR start "rule__EqualityOperator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4028:1: rule__EqualityOperator__Alternatives : ( ( ( '==' ) ) | ( ( '!=' ) ) );
    public final void rule__EqualityOperator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4032:1: ( ( ( '==' ) ) | ( ( '!=' ) ) )
            int alt36=2;
            int LA36_0 = input.LA(1);

            if ( (LA36_0==22) ) {
                alt36=1;
            }
            else if ( (LA36_0==23) ) {
                alt36=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 36, 0, input);

                throw nvae;
            }
            switch (alt36) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4033:1: ( ( '==' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4033:1: ( ( '==' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4034:1: ( '==' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getEqualityOperatorAccess().getEqualToEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4035:1: ( '==' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4035:3: '=='
                    {
                    match(input,22,FOLLOW_22_in_rule__EqualityOperator__Alternatives8753); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getEqualityOperatorAccess().getEqualToEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4040:6: ( ( '!=' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4040:6: ( ( '!=' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4041:1: ( '!=' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getEqualityOperatorAccess().getNotEqualToEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4042:1: ( '!=' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4042:3: '!='
                    {
                    match(input,23,FOLLOW_23_in_rule__EqualityOperator__Alternatives8774); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getEqualityOperatorAccess().getNotEqualToEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityOperator__Alternatives"


    // $ANTLR start "rule__RelationalOperator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4052:1: rule__RelationalOperator__Alternatives : ( ( ( '<' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) );
    public final void rule__RelationalOperator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4056:1: ( ( ( '<' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) )
            int alt37=4;
            switch ( input.LA(1) ) {
            case 24:
                {
                alt37=1;
                }
                break;
            case 25:
                {
                alt37=2;
                }
                break;
            case 26:
                {
                alt37=3;
                }
                break;
            case 27:
                {
                alt37=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 37, 0, input);

                throw nvae;
            }

            switch (alt37) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4057:1: ( ( '<' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4057:1: ( ( '<' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4058:1: ( '<' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRelationalOperatorAccess().getLessThanEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4059:1: ( '<' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4059:3: '<'
                    {
                    match(input,24,FOLLOW_24_in_rule__RelationalOperator__Alternatives8810); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRelationalOperatorAccess().getLessThanEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4064:6: ( ( '<=' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4064:6: ( ( '<=' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4065:1: ( '<=' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRelationalOperatorAccess().getLessThanOrEqualToEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4066:1: ( '<=' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4066:3: '<='
                    {
                    match(input,25,FOLLOW_25_in_rule__RelationalOperator__Alternatives8831); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRelationalOperatorAccess().getLessThanOrEqualToEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4071:6: ( ( '>' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4071:6: ( ( '>' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4072:1: ( '>' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRelationalOperatorAccess().getGreaterThanEnumLiteralDeclaration_2()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4073:1: ( '>' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4073:3: '>'
                    {
                    match(input,26,FOLLOW_26_in_rule__RelationalOperator__Alternatives8852); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRelationalOperatorAccess().getGreaterThanEnumLiteralDeclaration_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4078:6: ( ( '>=' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4078:6: ( ( '>=' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4079:1: ( '>=' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getRelationalOperatorAccess().getGreaterThanOrEqualToEnumLiteralDeclaration_3()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4080:1: ( '>=' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4080:3: '>='
                    {
                    match(input,27,FOLLOW_27_in_rule__RelationalOperator__Alternatives8873); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getRelationalOperatorAccess().getGreaterThanOrEqualToEnumLiteralDeclaration_3()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalOperator__Alternatives"


    // $ANTLR start "rule__AdditiveOperator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4090:1: rule__AdditiveOperator__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) );
    public final void rule__AdditiveOperator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4094:1: ( ( ( '+' ) ) | ( ( '-' ) ) )
            int alt38=2;
            int LA38_0 = input.LA(1);

            if ( (LA38_0==28) ) {
                alt38=1;
            }
            else if ( (LA38_0==29) ) {
                alt38=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 38, 0, input);

                throw nvae;
            }
            switch (alt38) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4095:1: ( ( '+' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4095:1: ( ( '+' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4096:1: ( '+' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAdditiveOperatorAccess().getAddEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4097:1: ( '+' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4097:3: '+'
                    {
                    match(input,28,FOLLOW_28_in_rule__AdditiveOperator__Alternatives8909); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAdditiveOperatorAccess().getAddEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4102:6: ( ( '-' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4102:6: ( ( '-' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4103:1: ( '-' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getAdditiveOperatorAccess().getSubtractEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4104:1: ( '-' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4104:3: '-'
                    {
                    match(input,29,FOLLOW_29_in_rule__AdditiveOperator__Alternatives8930); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getAdditiveOperatorAccess().getSubtractEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveOperator__Alternatives"


    // $ANTLR start "rule__MultiplicativeOperator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4114:1: rule__MultiplicativeOperator__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '.*' ) ) | ( ( './' ) ) );
    public final void rule__MultiplicativeOperator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4118:1: ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '.*' ) ) | ( ( './' ) ) )
            int alt39=4;
            switch ( input.LA(1) ) {
            case 30:
                {
                alt39=1;
                }
                break;
            case 31:
                {
                alt39=2;
                }
                break;
            case 32:
                {
                alt39=3;
                }
                break;
            case 33:
                {
                alt39=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 39, 0, input);

                throw nvae;
            }

            switch (alt39) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4119:1: ( ( '*' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4119:1: ( ( '*' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4120:1: ( '*' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getMultiplicativeOperatorAccess().getMultiplyEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4121:1: ( '*' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4121:3: '*'
                    {
                    match(input,30,FOLLOW_30_in_rule__MultiplicativeOperator__Alternatives8966); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getMultiplicativeOperatorAccess().getMultiplyEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4126:6: ( ( '/' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4126:6: ( ( '/' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4127:1: ( '/' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getMultiplicativeOperatorAccess().getDivideEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4128:1: ( '/' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4128:3: '/'
                    {
                    match(input,31,FOLLOW_31_in_rule__MultiplicativeOperator__Alternatives8987); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getMultiplicativeOperatorAccess().getDivideEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4133:6: ( ( '.*' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4133:6: ( ( '.*' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4134:1: ( '.*' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getMultiplicativeOperatorAccess().getElementWiseMultiplyEnumLiteralDeclaration_2()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4135:1: ( '.*' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4135:3: '.*'
                    {
                    match(input,32,FOLLOW_32_in_rule__MultiplicativeOperator__Alternatives9008); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getMultiplicativeOperatorAccess().getElementWiseMultiplyEnumLiteralDeclaration_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4140:6: ( ( './' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4140:6: ( ( './' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4141:1: ( './' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getMultiplicativeOperatorAccess().getElementWiseDivideEnumLiteralDeclaration_3()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4142:1: ( './' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4142:3: './'
                    {
                    match(input,33,FOLLOW_33_in_rule__MultiplicativeOperator__Alternatives9029); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getMultiplicativeOperatorAccess().getElementWiseDivideEnumLiteralDeclaration_3()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeOperator__Alternatives"


    // $ANTLR start "rule__PowerOperator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4152:1: rule__PowerOperator__Alternatives : ( ( ( '^' ) ) | ( ( '.^' ) ) );
    public final void rule__PowerOperator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4156:1: ( ( ( '^' ) ) | ( ( '.^' ) ) )
            int alt40=2;
            int LA40_0 = input.LA(1);

            if ( (LA40_0==34) ) {
                alt40=1;
            }
            else if ( (LA40_0==35) ) {
                alt40=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 40, 0, input);

                throw nvae;
            }
            switch (alt40) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4157:1: ( ( '^' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4157:1: ( ( '^' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4158:1: ( '^' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPowerOperatorAccess().getPowerEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4159:1: ( '^' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4159:3: '^'
                    {
                    match(input,34,FOLLOW_34_in_rule__PowerOperator__Alternatives9065); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPowerOperatorAccess().getPowerEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4164:6: ( ( '.^' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4164:6: ( ( '.^' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4165:1: ( '.^' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getPowerOperatorAccess().getElementWisePowerEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4166:1: ( '.^' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4166:3: '.^'
                    {
                    match(input,35,FOLLOW_35_in_rule__PowerOperator__Alternatives9086); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getPowerOperatorAccess().getElementWisePowerEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerOperator__Alternatives"


    // $ANTLR start "rule__UnaryOperator__Alternatives"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4176:1: rule__UnaryOperator__Alternatives : ( ( ( '-' ) ) | ( ( '!' ) ) );
    public final void rule__UnaryOperator__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4180:1: ( ( ( '-' ) ) | ( ( '!' ) ) )
            int alt41=2;
            int LA41_0 = input.LA(1);

            if ( (LA41_0==29) ) {
                alt41=1;
            }
            else if ( (LA41_0==36) ) {
                alt41=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 41, 0, input);

                throw nvae;
            }
            switch (alt41) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4181:1: ( ( '-' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4181:1: ( ( '-' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4182:1: ( '-' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperatorAccess().getNegateEnumLiteralDeclaration_0()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4183:1: ( '-' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4183:3: '-'
                    {
                    match(input,29,FOLLOW_29_in_rule__UnaryOperator__Alternatives9122); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperatorAccess().getNegateEnumLiteralDeclaration_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4188:6: ( ( '!' ) )
                    {
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4188:6: ( ( '!' ) )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4189:1: ( '!' )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getUnaryOperatorAccess().getLogicalNotEnumLiteralDeclaration_1()); 
                    }
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4190:1: ( '!' )
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4190:3: '!'
                    {
                    match(input,36,FOLLOW_36_in_rule__UnaryOperator__Alternatives9143); if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getUnaryOperatorAccess().getLogicalNotEnumLiteralDeclaration_1()); 
                    }

                    }


                    }
                    break;

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryOperator__Alternatives"


    // $ANTLR start "rule__EnumerationDefinition__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4202:1: rule__EnumerationDefinition__Group__0 : rule__EnumerationDefinition__Group__0__Impl rule__EnumerationDefinition__Group__1 ;
    public final void rule__EnumerationDefinition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4206:1: ( rule__EnumerationDefinition__Group__0__Impl rule__EnumerationDefinition__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4207:2: rule__EnumerationDefinition__Group__0__Impl rule__EnumerationDefinition__Group__1
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__0__Impl_in_rule__EnumerationDefinition__Group__09176);
            rule__EnumerationDefinition__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__1_in_rule__EnumerationDefinition__Group__09179);
            rule__EnumerationDefinition__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__0"


    // $ANTLR start "rule__EnumerationDefinition__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4214:1: rule__EnumerationDefinition__Group__0__Impl : ( 'enum' ) ;
    public final void rule__EnumerationDefinition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4218:1: ( ( 'enum' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4219:1: ( 'enum' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4219:1: ( 'enum' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4220:1: 'enum'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getEnumKeyword_0()); 
            }
            match(input,37,FOLLOW_37_in_rule__EnumerationDefinition__Group__0__Impl9207); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getEnumKeyword_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__0__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4233:1: rule__EnumerationDefinition__Group__1 : rule__EnumerationDefinition__Group__1__Impl rule__EnumerationDefinition__Group__2 ;
    public final void rule__EnumerationDefinition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4237:1: ( rule__EnumerationDefinition__Group__1__Impl rule__EnumerationDefinition__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4238:2: rule__EnumerationDefinition__Group__1__Impl rule__EnumerationDefinition__Group__2
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__1__Impl_in_rule__EnumerationDefinition__Group__19238);
            rule__EnumerationDefinition__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__2_in_rule__EnumerationDefinition__Group__19241);
            rule__EnumerationDefinition__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__1"


    // $ANTLR start "rule__EnumerationDefinition__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4245:1: rule__EnumerationDefinition__Group__1__Impl : ( ( rule__EnumerationDefinition__NameAssignment_1 ) ) ;
    public final void rule__EnumerationDefinition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4249:1: ( ( ( rule__EnumerationDefinition__NameAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4250:1: ( ( rule__EnumerationDefinition__NameAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4250:1: ( ( rule__EnumerationDefinition__NameAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4251:1: ( rule__EnumerationDefinition__NameAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getNameAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4252:1: ( rule__EnumerationDefinition__NameAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4252:2: rule__EnumerationDefinition__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__NameAssignment_1_in_rule__EnumerationDefinition__Group__1__Impl9268);
            rule__EnumerationDefinition__NameAssignment_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getNameAssignment_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__1__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4262:1: rule__EnumerationDefinition__Group__2 : rule__EnumerationDefinition__Group__2__Impl rule__EnumerationDefinition__Group__3 ;
    public final void rule__EnumerationDefinition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4266:1: ( rule__EnumerationDefinition__Group__2__Impl rule__EnumerationDefinition__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4267:2: rule__EnumerationDefinition__Group__2__Impl rule__EnumerationDefinition__Group__3
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__2__Impl_in_rule__EnumerationDefinition__Group__29298);
            rule__EnumerationDefinition__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__3_in_rule__EnumerationDefinition__Group__29301);
            rule__EnumerationDefinition__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__2"


    // $ANTLR start "rule__EnumerationDefinition__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4274:1: rule__EnumerationDefinition__Group__2__Impl : ( '{' ) ;
    public final void rule__EnumerationDefinition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4278:1: ( ( '{' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4279:1: ( '{' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4279:1: ( '{' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4280:1: '{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getLeftCurlyBracketKeyword_2()); 
            }
            match(input,38,FOLLOW_38_in_rule__EnumerationDefinition__Group__2__Impl9329); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getLeftCurlyBracketKeyword_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__2__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4293:1: rule__EnumerationDefinition__Group__3 : rule__EnumerationDefinition__Group__3__Impl rule__EnumerationDefinition__Group__4 ;
    public final void rule__EnumerationDefinition__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4297:1: ( rule__EnumerationDefinition__Group__3__Impl rule__EnumerationDefinition__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4298:2: rule__EnumerationDefinition__Group__3__Impl rule__EnumerationDefinition__Group__4
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__3__Impl_in_rule__EnumerationDefinition__Group__39360);
            rule__EnumerationDefinition__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__4_in_rule__EnumerationDefinition__Group__39363);
            rule__EnumerationDefinition__Group__4();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__3"


    // $ANTLR start "rule__EnumerationDefinition__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4305:1: rule__EnumerationDefinition__Group__3__Impl : ( ( rule__EnumerationDefinition__Group_3__0 )? ) ;
    public final void rule__EnumerationDefinition__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4309:1: ( ( ( rule__EnumerationDefinition__Group_3__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4310:1: ( ( rule__EnumerationDefinition__Group_3__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4310:1: ( ( rule__EnumerationDefinition__Group_3__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4311:1: ( rule__EnumerationDefinition__Group_3__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getGroup_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4312:1: ( rule__EnumerationDefinition__Group_3__0 )?
            int alt42=2;
            int LA42_0 = input.LA(1);

            if ( ((LA42_0>=RULE_N && LA42_0<=RULE_ID)) ) {
                alt42=1;
            }
            switch (alt42) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4312:2: rule__EnumerationDefinition__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3__0_in_rule__EnumerationDefinition__Group__3__Impl9390);
                    rule__EnumerationDefinition__Group_3__0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getGroup_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__3__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4322:1: rule__EnumerationDefinition__Group__4 : rule__EnumerationDefinition__Group__4__Impl ;
    public final void rule__EnumerationDefinition__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4326:1: ( rule__EnumerationDefinition__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4327:2: rule__EnumerationDefinition__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group__4__Impl_in_rule__EnumerationDefinition__Group__49421);
            rule__EnumerationDefinition__Group__4__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__4"


    // $ANTLR start "rule__EnumerationDefinition__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4333:1: rule__EnumerationDefinition__Group__4__Impl : ( '}' ) ;
    public final void rule__EnumerationDefinition__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4337:1: ( ( '}' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4338:1: ( '}' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4338:1: ( '}' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4339:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getRightCurlyBracketKeyword_4()); 
            }
            match(input,39,FOLLOW_39_in_rule__EnumerationDefinition__Group__4__Impl9449); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getRightCurlyBracketKeyword_4()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group__4__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4362:1: rule__EnumerationDefinition__Group_3__0 : rule__EnumerationDefinition__Group_3__0__Impl rule__EnumerationDefinition__Group_3__1 ;
    public final void rule__EnumerationDefinition__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4366:1: ( rule__EnumerationDefinition__Group_3__0__Impl rule__EnumerationDefinition__Group_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4367:2: rule__EnumerationDefinition__Group_3__0__Impl rule__EnumerationDefinition__Group_3__1
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3__0__Impl_in_rule__EnumerationDefinition__Group_3__09490);
            rule__EnumerationDefinition__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3__1_in_rule__EnumerationDefinition__Group_3__09493);
            rule__EnumerationDefinition__Group_3__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3__0"


    // $ANTLR start "rule__EnumerationDefinition__Group_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4374:1: rule__EnumerationDefinition__Group_3__0__Impl : ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0 ) ) ;
    public final void rule__EnumerationDefinition__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4378:1: ( ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4379:1: ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4379:1: ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4380:1: ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsAssignment_3_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4381:1: ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4381:2: rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0_in_rule__EnumerationDefinition__Group_3__0__Impl9520);
            rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsAssignment_3_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3__0__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4391:1: rule__EnumerationDefinition__Group_3__1 : rule__EnumerationDefinition__Group_3__1__Impl ;
    public final void rule__EnumerationDefinition__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4395:1: ( rule__EnumerationDefinition__Group_3__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4396:2: rule__EnumerationDefinition__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3__1__Impl_in_rule__EnumerationDefinition__Group_3__19550);
            rule__EnumerationDefinition__Group_3__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3__1"


    // $ANTLR start "rule__EnumerationDefinition__Group_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4402:1: rule__EnumerationDefinition__Group_3__1__Impl : ( ( rule__EnumerationDefinition__Group_3_1__0 )* ) ;
    public final void rule__EnumerationDefinition__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4406:1: ( ( ( rule__EnumerationDefinition__Group_3_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4407:1: ( ( rule__EnumerationDefinition__Group_3_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4407:1: ( ( rule__EnumerationDefinition__Group_3_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4408:1: ( rule__EnumerationDefinition__Group_3_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getGroup_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4409:1: ( rule__EnumerationDefinition__Group_3_1__0 )*
            loop43:
            do {
                int alt43=2;
                int LA43_0 = input.LA(1);

                if ( (LA43_0==40) ) {
                    alt43=1;
                }


                switch (alt43) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4409:2: rule__EnumerationDefinition__Group_3_1__0
            	    {
            	    pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3_1__0_in_rule__EnumerationDefinition__Group_3__1__Impl9577);
            	    rule__EnumerationDefinition__Group_3_1__0();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getGroup_3_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3__1__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group_3_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4423:1: rule__EnumerationDefinition__Group_3_1__0 : rule__EnumerationDefinition__Group_3_1__0__Impl rule__EnumerationDefinition__Group_3_1__1 ;
    public final void rule__EnumerationDefinition__Group_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4427:1: ( rule__EnumerationDefinition__Group_3_1__0__Impl rule__EnumerationDefinition__Group_3_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4428:2: rule__EnumerationDefinition__Group_3_1__0__Impl rule__EnumerationDefinition__Group_3_1__1
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3_1__0__Impl_in_rule__EnumerationDefinition__Group_3_1__09612);
            rule__EnumerationDefinition__Group_3_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3_1__1_in_rule__EnumerationDefinition__Group_3_1__09615);
            rule__EnumerationDefinition__Group_3_1__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3_1__0"


    // $ANTLR start "rule__EnumerationDefinition__Group_3_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4435:1: rule__EnumerationDefinition__Group_3_1__0__Impl : ( ',' ) ;
    public final void rule__EnumerationDefinition__Group_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4439:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4440:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4440:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4441:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getCommaKeyword_3_1_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__EnumerationDefinition__Group_3_1__0__Impl9643); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getCommaKeyword_3_1_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3_1__0__Impl"


    // $ANTLR start "rule__EnumerationDefinition__Group_3_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4454:1: rule__EnumerationDefinition__Group_3_1__1 : rule__EnumerationDefinition__Group_3_1__1__Impl ;
    public final void rule__EnumerationDefinition__Group_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4458:1: ( rule__EnumerationDefinition__Group_3_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4459:2: rule__EnumerationDefinition__Group_3_1__1__Impl
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__Group_3_1__1__Impl_in_rule__EnumerationDefinition__Group_3_1__19674);
            rule__EnumerationDefinition__Group_3_1__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3_1__1"


    // $ANTLR start "rule__EnumerationDefinition__Group_3_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4465:1: rule__EnumerationDefinition__Group_3_1__1__Impl : ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1 ) ) ;
    public final void rule__EnumerationDefinition__Group_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4469:1: ( ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4470:1: ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4470:1: ( ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4471:1: ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsAssignment_3_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4472:1: ( rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4472:2: rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1
            {
            pushFollow(FOLLOW_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1_in_rule__EnumerationDefinition__Group_3_1__1__Impl9701);
            rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsAssignment_3_1_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__Group_3_1__1__Impl"


    // $ANTLR start "rule__TypeAliasDefinition__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4486:1: rule__TypeAliasDefinition__Group__0 : rule__TypeAliasDefinition__Group__0__Impl rule__TypeAliasDefinition__Group__1 ;
    public final void rule__TypeAliasDefinition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4490:1: ( rule__TypeAliasDefinition__Group__0__Impl rule__TypeAliasDefinition__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4491:2: rule__TypeAliasDefinition__Group__0__Impl rule__TypeAliasDefinition__Group__1
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__0__Impl_in_rule__TypeAliasDefinition__Group__09735);
            rule__TypeAliasDefinition__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__1_in_rule__TypeAliasDefinition__Group__09738);
            rule__TypeAliasDefinition__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__0"


    // $ANTLR start "rule__TypeAliasDefinition__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4498:1: rule__TypeAliasDefinition__Group__0__Impl : ( 'type' ) ;
    public final void rule__TypeAliasDefinition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4502:1: ( ( 'type' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4503:1: ( 'type' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4503:1: ( 'type' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4504:1: 'type'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getTypeKeyword_0()); 
            }
            match(input,41,FOLLOW_41_in_rule__TypeAliasDefinition__Group__0__Impl9766); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeAliasDefinitionAccess().getTypeKeyword_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__0__Impl"


    // $ANTLR start "rule__TypeAliasDefinition__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4517:1: rule__TypeAliasDefinition__Group__1 : rule__TypeAliasDefinition__Group__1__Impl rule__TypeAliasDefinition__Group__2 ;
    public final void rule__TypeAliasDefinition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4521:1: ( rule__TypeAliasDefinition__Group__1__Impl rule__TypeAliasDefinition__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4522:2: rule__TypeAliasDefinition__Group__1__Impl rule__TypeAliasDefinition__Group__2
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__1__Impl_in_rule__TypeAliasDefinition__Group__19797);
            rule__TypeAliasDefinition__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__2_in_rule__TypeAliasDefinition__Group__19800);
            rule__TypeAliasDefinition__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__1"


    // $ANTLR start "rule__TypeAliasDefinition__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4529:1: rule__TypeAliasDefinition__Group__1__Impl : ( ( rule__TypeAliasDefinition__NameAssignment_1 ) ) ;
    public final void rule__TypeAliasDefinition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4533:1: ( ( ( rule__TypeAliasDefinition__NameAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4534:1: ( ( rule__TypeAliasDefinition__NameAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4534:1: ( ( rule__TypeAliasDefinition__NameAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4535:1: ( rule__TypeAliasDefinition__NameAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getNameAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4536:1: ( rule__TypeAliasDefinition__NameAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4536:2: rule__TypeAliasDefinition__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__NameAssignment_1_in_rule__TypeAliasDefinition__Group__1__Impl9827);
            rule__TypeAliasDefinition__NameAssignment_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeAliasDefinitionAccess().getNameAssignment_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__1__Impl"


    // $ANTLR start "rule__TypeAliasDefinition__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4546:1: rule__TypeAliasDefinition__Group__2 : rule__TypeAliasDefinition__Group__2__Impl rule__TypeAliasDefinition__Group__3 ;
    public final void rule__TypeAliasDefinition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4550:1: ( rule__TypeAliasDefinition__Group__2__Impl rule__TypeAliasDefinition__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4551:2: rule__TypeAliasDefinition__Group__2__Impl rule__TypeAliasDefinition__Group__3
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__2__Impl_in_rule__TypeAliasDefinition__Group__29857);
            rule__TypeAliasDefinition__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__3_in_rule__TypeAliasDefinition__Group__29860);
            rule__TypeAliasDefinition__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__2"


    // $ANTLR start "rule__TypeAliasDefinition__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4558:1: rule__TypeAliasDefinition__Group__2__Impl : ( '=' ) ;
    public final void rule__TypeAliasDefinition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4562:1: ( ( '=' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4563:1: ( '=' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4563:1: ( '=' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4564:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getEqualsSignKeyword_2()); 
            }
            match(input,42,FOLLOW_42_in_rule__TypeAliasDefinition__Group__2__Impl9888); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeAliasDefinitionAccess().getEqualsSignKeyword_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__2__Impl"


    // $ANTLR start "rule__TypeAliasDefinition__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4577:1: rule__TypeAliasDefinition__Group__3 : rule__TypeAliasDefinition__Group__3__Impl rule__TypeAliasDefinition__Group__4 ;
    public final void rule__TypeAliasDefinition__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4581:1: ( rule__TypeAliasDefinition__Group__3__Impl rule__TypeAliasDefinition__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4582:2: rule__TypeAliasDefinition__Group__3__Impl rule__TypeAliasDefinition__Group__4
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__3__Impl_in_rule__TypeAliasDefinition__Group__39919);
            rule__TypeAliasDefinition__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__4_in_rule__TypeAliasDefinition__Group__39922);
            rule__TypeAliasDefinition__Group__4();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__3"


    // $ANTLR start "rule__TypeAliasDefinition__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4589:1: rule__TypeAliasDefinition__Group__3__Impl : ( ( rule__TypeAliasDefinition__TypeAssignment_3 ) ) ;
    public final void rule__TypeAliasDefinition__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4593:1: ( ( ( rule__TypeAliasDefinition__TypeAssignment_3 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4594:1: ( ( rule__TypeAliasDefinition__TypeAssignment_3 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4594:1: ( ( rule__TypeAliasDefinition__TypeAssignment_3 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4595:1: ( rule__TypeAliasDefinition__TypeAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getTypeAssignment_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4596:1: ( rule__TypeAliasDefinition__TypeAssignment_3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4596:2: rule__TypeAliasDefinition__TypeAssignment_3
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__TypeAssignment_3_in_rule__TypeAliasDefinition__Group__3__Impl9949);
            rule__TypeAliasDefinition__TypeAssignment_3();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeAliasDefinitionAccess().getTypeAssignment_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__3__Impl"


    // $ANTLR start "rule__TypeAliasDefinition__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4606:1: rule__TypeAliasDefinition__Group__4 : rule__TypeAliasDefinition__Group__4__Impl ;
    public final void rule__TypeAliasDefinition__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4610:1: ( rule__TypeAliasDefinition__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4611:2: rule__TypeAliasDefinition__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__TypeAliasDefinition__Group__4__Impl_in_rule__TypeAliasDefinition__Group__49979);
            rule__TypeAliasDefinition__Group__4__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__4"


    // $ANTLR start "rule__TypeAliasDefinition__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4617:1: rule__TypeAliasDefinition__Group__4__Impl : ( ';' ) ;
    public final void rule__TypeAliasDefinition__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4621:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4622:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4622:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4623:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getSemicolonKeyword_4()); 
            }
            match(input,43,FOLLOW_43_in_rule__TypeAliasDefinition__Group__4__Impl10007); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeAliasDefinitionAccess().getSemicolonKeyword_4()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__Group__4__Impl"


    // $ANTLR start "rule__RecordDefinition__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4646:1: rule__RecordDefinition__Group__0 : rule__RecordDefinition__Group__0__Impl rule__RecordDefinition__Group__1 ;
    public final void rule__RecordDefinition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4650:1: ( rule__RecordDefinition__Group__0__Impl rule__RecordDefinition__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4651:2: rule__RecordDefinition__Group__0__Impl rule__RecordDefinition__Group__1
            {
            pushFollow(FOLLOW_rule__RecordDefinition__Group__0__Impl_in_rule__RecordDefinition__Group__010048);
            rule__RecordDefinition__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RecordDefinition__Group__1_in_rule__RecordDefinition__Group__010051);
            rule__RecordDefinition__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__0"


    // $ANTLR start "rule__RecordDefinition__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4658:1: rule__RecordDefinition__Group__0__Impl : ( 'record' ) ;
    public final void rule__RecordDefinition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4662:1: ( ( 'record' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4663:1: ( 'record' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4663:1: ( 'record' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4664:1: 'record'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getRecordKeyword_0()); 
            }
            match(input,44,FOLLOW_44_in_rule__RecordDefinition__Group__0__Impl10079); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordDefinitionAccess().getRecordKeyword_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__0__Impl"


    // $ANTLR start "rule__RecordDefinition__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4677:1: rule__RecordDefinition__Group__1 : rule__RecordDefinition__Group__1__Impl rule__RecordDefinition__Group__2 ;
    public final void rule__RecordDefinition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4681:1: ( rule__RecordDefinition__Group__1__Impl rule__RecordDefinition__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4682:2: rule__RecordDefinition__Group__1__Impl rule__RecordDefinition__Group__2
            {
            pushFollow(FOLLOW_rule__RecordDefinition__Group__1__Impl_in_rule__RecordDefinition__Group__110110);
            rule__RecordDefinition__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RecordDefinition__Group__2_in_rule__RecordDefinition__Group__110113);
            rule__RecordDefinition__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__1"


    // $ANTLR start "rule__RecordDefinition__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4689:1: rule__RecordDefinition__Group__1__Impl : ( ( rule__RecordDefinition__NameAssignment_1 ) ) ;
    public final void rule__RecordDefinition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4693:1: ( ( ( rule__RecordDefinition__NameAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4694:1: ( ( rule__RecordDefinition__NameAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4694:1: ( ( rule__RecordDefinition__NameAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4695:1: ( rule__RecordDefinition__NameAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getNameAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4696:1: ( rule__RecordDefinition__NameAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4696:2: rule__RecordDefinition__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__RecordDefinition__NameAssignment_1_in_rule__RecordDefinition__Group__1__Impl10140);
            rule__RecordDefinition__NameAssignment_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordDefinitionAccess().getNameAssignment_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__1__Impl"


    // $ANTLR start "rule__RecordDefinition__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4706:1: rule__RecordDefinition__Group__2 : rule__RecordDefinition__Group__2__Impl rule__RecordDefinition__Group__3 ;
    public final void rule__RecordDefinition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4710:1: ( rule__RecordDefinition__Group__2__Impl rule__RecordDefinition__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4711:2: rule__RecordDefinition__Group__2__Impl rule__RecordDefinition__Group__3
            {
            pushFollow(FOLLOW_rule__RecordDefinition__Group__2__Impl_in_rule__RecordDefinition__Group__210170);
            rule__RecordDefinition__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RecordDefinition__Group__3_in_rule__RecordDefinition__Group__210173);
            rule__RecordDefinition__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__2"


    // $ANTLR start "rule__RecordDefinition__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4718:1: rule__RecordDefinition__Group__2__Impl : ( '{' ) ;
    public final void rule__RecordDefinition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4722:1: ( ( '{' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4723:1: ( '{' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4723:1: ( '{' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4724:1: '{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getLeftCurlyBracketKeyword_2()); 
            }
            match(input,38,FOLLOW_38_in_rule__RecordDefinition__Group__2__Impl10201); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordDefinitionAccess().getLeftCurlyBracketKeyword_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__2__Impl"


    // $ANTLR start "rule__RecordDefinition__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4737:1: rule__RecordDefinition__Group__3 : rule__RecordDefinition__Group__3__Impl rule__RecordDefinition__Group__4 ;
    public final void rule__RecordDefinition__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4741:1: ( rule__RecordDefinition__Group__3__Impl rule__RecordDefinition__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4742:2: rule__RecordDefinition__Group__3__Impl rule__RecordDefinition__Group__4
            {
            pushFollow(FOLLOW_rule__RecordDefinition__Group__3__Impl_in_rule__RecordDefinition__Group__310232);
            rule__RecordDefinition__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RecordDefinition__Group__4_in_rule__RecordDefinition__Group__310235);
            rule__RecordDefinition__Group__4();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__3"


    // $ANTLR start "rule__RecordDefinition__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4749:1: rule__RecordDefinition__Group__3__Impl : ( ( rule__RecordDefinition__FieldDeclarationsAssignment_3 )* ) ;
    public final void rule__RecordDefinition__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4753:1: ( ( ( rule__RecordDefinition__FieldDeclarationsAssignment_3 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4754:1: ( ( rule__RecordDefinition__FieldDeclarationsAssignment_3 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4754:1: ( ( rule__RecordDefinition__FieldDeclarationsAssignment_3 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4755:1: ( rule__RecordDefinition__FieldDeclarationsAssignment_3 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getFieldDeclarationsAssignment_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4756:1: ( rule__RecordDefinition__FieldDeclarationsAssignment_3 )*
            loop44:
            do {
                int alt44=2;
                int LA44_0 = input.LA(1);

                if ( ((LA44_0>=RULE_N && LA44_0<=RULE_ID)) ) {
                    alt44=1;
                }


                switch (alt44) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4756:2: rule__RecordDefinition__FieldDeclarationsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__RecordDefinition__FieldDeclarationsAssignment_3_in_rule__RecordDefinition__Group__3__Impl10262);
            	    rule__RecordDefinition__FieldDeclarationsAssignment_3();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordDefinitionAccess().getFieldDeclarationsAssignment_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__3__Impl"


    // $ANTLR start "rule__RecordDefinition__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4766:1: rule__RecordDefinition__Group__4 : rule__RecordDefinition__Group__4__Impl ;
    public final void rule__RecordDefinition__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4770:1: ( rule__RecordDefinition__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4771:2: rule__RecordDefinition__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__RecordDefinition__Group__4__Impl_in_rule__RecordDefinition__Group__410293);
            rule__RecordDefinition__Group__4__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__4"


    // $ANTLR start "rule__RecordDefinition__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4777:1: rule__RecordDefinition__Group__4__Impl : ( '}' ) ;
    public final void rule__RecordDefinition__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4781:1: ( ( '}' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4782:1: ( '}' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4782:1: ( '}' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4783:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getRightCurlyBracketKeyword_4()); 
            }
            match(input,39,FOLLOW_39_in_rule__RecordDefinition__Group__4__Impl10321); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordDefinitionAccess().getRightCurlyBracketKeyword_4()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__Group__4__Impl"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4806:1: rule__RecordFieldDeclaration__Group__0 : rule__RecordFieldDeclaration__Group__0__Impl rule__RecordFieldDeclaration__Group__1 ;
    public final void rule__RecordFieldDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4810:1: ( rule__RecordFieldDeclaration__Group__0__Impl rule__RecordFieldDeclaration__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4811:2: rule__RecordFieldDeclaration__Group__0__Impl rule__RecordFieldDeclaration__Group__1
            {
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__0__Impl_in_rule__RecordFieldDeclaration__Group__010362);
            rule__RecordFieldDeclaration__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__1_in_rule__RecordFieldDeclaration__Group__010365);
            rule__RecordFieldDeclaration__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__0"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4818:1: rule__RecordFieldDeclaration__Group__0__Impl : ( ( rule__RecordFieldDeclaration__NameAssignment_0 ) ) ;
    public final void rule__RecordFieldDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4822:1: ( ( ( rule__RecordFieldDeclaration__NameAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4823:1: ( ( rule__RecordFieldDeclaration__NameAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4823:1: ( ( rule__RecordFieldDeclaration__NameAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4824:1: ( rule__RecordFieldDeclaration__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationAccess().getNameAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4825:1: ( rule__RecordFieldDeclaration__NameAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4825:2: rule__RecordFieldDeclaration__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__NameAssignment_0_in_rule__RecordFieldDeclaration__Group__0__Impl10392);
            rule__RecordFieldDeclaration__NameAssignment_0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordFieldDeclarationAccess().getNameAssignment_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__0__Impl"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4835:1: rule__RecordFieldDeclaration__Group__1 : rule__RecordFieldDeclaration__Group__1__Impl rule__RecordFieldDeclaration__Group__2 ;
    public final void rule__RecordFieldDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4839:1: ( rule__RecordFieldDeclaration__Group__1__Impl rule__RecordFieldDeclaration__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4840:2: rule__RecordFieldDeclaration__Group__1__Impl rule__RecordFieldDeclaration__Group__2
            {
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__1__Impl_in_rule__RecordFieldDeclaration__Group__110422);
            rule__RecordFieldDeclaration__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__2_in_rule__RecordFieldDeclaration__Group__110425);
            rule__RecordFieldDeclaration__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__1"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4847:1: rule__RecordFieldDeclaration__Group__1__Impl : ( ':' ) ;
    public final void rule__RecordFieldDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4851:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4852:1: ( ':' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4852:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4853:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationAccess().getColonKeyword_1()); 
            }
            match(input,45,FOLLOW_45_in_rule__RecordFieldDeclaration__Group__1__Impl10453); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordFieldDeclarationAccess().getColonKeyword_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__1__Impl"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4866:1: rule__RecordFieldDeclaration__Group__2 : rule__RecordFieldDeclaration__Group__2__Impl rule__RecordFieldDeclaration__Group__3 ;
    public final void rule__RecordFieldDeclaration__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4870:1: ( rule__RecordFieldDeclaration__Group__2__Impl rule__RecordFieldDeclaration__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4871:2: rule__RecordFieldDeclaration__Group__2__Impl rule__RecordFieldDeclaration__Group__3
            {
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__2__Impl_in_rule__RecordFieldDeclaration__Group__210484);
            rule__RecordFieldDeclaration__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__3_in_rule__RecordFieldDeclaration__Group__210487);
            rule__RecordFieldDeclaration__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__2"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4878:1: rule__RecordFieldDeclaration__Group__2__Impl : ( ( rule__RecordFieldDeclaration__TypeAssignment_2 ) ) ;
    public final void rule__RecordFieldDeclaration__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4882:1: ( ( ( rule__RecordFieldDeclaration__TypeAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4883:1: ( ( rule__RecordFieldDeclaration__TypeAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4883:1: ( ( rule__RecordFieldDeclaration__TypeAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4884:1: ( rule__RecordFieldDeclaration__TypeAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationAccess().getTypeAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4885:1: ( rule__RecordFieldDeclaration__TypeAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4885:2: rule__RecordFieldDeclaration__TypeAssignment_2
            {
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__TypeAssignment_2_in_rule__RecordFieldDeclaration__Group__2__Impl10514);
            rule__RecordFieldDeclaration__TypeAssignment_2();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordFieldDeclarationAccess().getTypeAssignment_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__2__Impl"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4895:1: rule__RecordFieldDeclaration__Group__3 : rule__RecordFieldDeclaration__Group__3__Impl ;
    public final void rule__RecordFieldDeclaration__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4899:1: ( rule__RecordFieldDeclaration__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4900:2: rule__RecordFieldDeclaration__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__RecordFieldDeclaration__Group__3__Impl_in_rule__RecordFieldDeclaration__Group__310544);
            rule__RecordFieldDeclaration__Group__3__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__3"


    // $ANTLR start "rule__RecordFieldDeclaration__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4906:1: rule__RecordFieldDeclaration__Group__3__Impl : ( ';' ) ;
    public final void rule__RecordFieldDeclaration__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4910:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4911:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4911:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4912:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationAccess().getSemicolonKeyword_3()); 
            }
            match(input,43,FOLLOW_43_in_rule__RecordFieldDeclaration__Group__3__Impl10572); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordFieldDeclarationAccess().getSemicolonKeyword_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__Group__3__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4933:1: rule__FunctionDefinition__Group__0 : rule__FunctionDefinition__Group__0__Impl rule__FunctionDefinition__Group__1 ;
    public final void rule__FunctionDefinition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4937:1: ( rule__FunctionDefinition__Group__0__Impl rule__FunctionDefinition__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4938:2: rule__FunctionDefinition__Group__0__Impl rule__FunctionDefinition__Group__1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__0__Impl_in_rule__FunctionDefinition__Group__010611);
            rule__FunctionDefinition__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__1_in_rule__FunctionDefinition__Group__010614);
            rule__FunctionDefinition__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__0"


    // $ANTLR start "rule__FunctionDefinition__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4945:1: rule__FunctionDefinition__Group__0__Impl : ( ( rule__FunctionDefinition__KindAssignment_0 )? ) ;
    public final void rule__FunctionDefinition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4949:1: ( ( ( rule__FunctionDefinition__KindAssignment_0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4950:1: ( ( rule__FunctionDefinition__KindAssignment_0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4950:1: ( ( rule__FunctionDefinition__KindAssignment_0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4951:1: ( rule__FunctionDefinition__KindAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getKindAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4952:1: ( rule__FunctionDefinition__KindAssignment_0 )?
            int alt45=2;
            int LA45_0 = input.LA(1);

            if ( ((LA45_0>=16 && LA45_0<=17)) ) {
                alt45=1;
            }
            switch (alt45) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4952:2: rule__FunctionDefinition__KindAssignment_0
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__KindAssignment_0_in_rule__FunctionDefinition__Group__0__Impl10641);
                    rule__FunctionDefinition__KindAssignment_0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getKindAssignment_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__0__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4962:1: rule__FunctionDefinition__Group__1 : rule__FunctionDefinition__Group__1__Impl rule__FunctionDefinition__Group__2 ;
    public final void rule__FunctionDefinition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4966:1: ( rule__FunctionDefinition__Group__1__Impl rule__FunctionDefinition__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4967:2: rule__FunctionDefinition__Group__1__Impl rule__FunctionDefinition__Group__2
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__1__Impl_in_rule__FunctionDefinition__Group__110672);
            rule__FunctionDefinition__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__2_in_rule__FunctionDefinition__Group__110675);
            rule__FunctionDefinition__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__1"


    // $ANTLR start "rule__FunctionDefinition__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4974:1: rule__FunctionDefinition__Group__1__Impl : ( 'func' ) ;
    public final void rule__FunctionDefinition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4978:1: ( ( 'func' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4979:1: ( 'func' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4979:1: ( 'func' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4980:1: 'func'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getFuncKeyword_1()); 
            }
            match(input,46,FOLLOW_46_in_rule__FunctionDefinition__Group__1__Impl10703); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getFuncKeyword_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__1__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4993:1: rule__FunctionDefinition__Group__2 : rule__FunctionDefinition__Group__2__Impl rule__FunctionDefinition__Group__3 ;
    public final void rule__FunctionDefinition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4997:1: ( rule__FunctionDefinition__Group__2__Impl rule__FunctionDefinition__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:4998:2: rule__FunctionDefinition__Group__2__Impl rule__FunctionDefinition__Group__3
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__2__Impl_in_rule__FunctionDefinition__Group__210734);
            rule__FunctionDefinition__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__3_in_rule__FunctionDefinition__Group__210737);
            rule__FunctionDefinition__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__2"


    // $ANTLR start "rule__FunctionDefinition__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5005:1: rule__FunctionDefinition__Group__2__Impl : ( ( rule__FunctionDefinition__NameAssignment_2 ) ) ;
    public final void rule__FunctionDefinition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5009:1: ( ( ( rule__FunctionDefinition__NameAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5010:1: ( ( rule__FunctionDefinition__NameAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5010:1: ( ( rule__FunctionDefinition__NameAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5011:1: ( rule__FunctionDefinition__NameAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getNameAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5012:1: ( rule__FunctionDefinition__NameAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5012:2: rule__FunctionDefinition__NameAssignment_2
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__NameAssignment_2_in_rule__FunctionDefinition__Group__2__Impl10764);
            rule__FunctionDefinition__NameAssignment_2();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getNameAssignment_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__2__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5022:1: rule__FunctionDefinition__Group__3 : rule__FunctionDefinition__Group__3__Impl rule__FunctionDefinition__Group__4 ;
    public final void rule__FunctionDefinition__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5026:1: ( rule__FunctionDefinition__Group__3__Impl rule__FunctionDefinition__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5027:2: rule__FunctionDefinition__Group__3__Impl rule__FunctionDefinition__Group__4
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__3__Impl_in_rule__FunctionDefinition__Group__310794);
            rule__FunctionDefinition__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__4_in_rule__FunctionDefinition__Group__310797);
            rule__FunctionDefinition__Group__4();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__3"


    // $ANTLR start "rule__FunctionDefinition__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5034:1: rule__FunctionDefinition__Group__3__Impl : ( ( rule__FunctionDefinition__Group_3__0 )? ) ;
    public final void rule__FunctionDefinition__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5038:1: ( ( ( rule__FunctionDefinition__Group_3__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5039:1: ( ( rule__FunctionDefinition__Group_3__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5039:1: ( ( rule__FunctionDefinition__Group_3__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5040:1: ( rule__FunctionDefinition__Group_3__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getGroup_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5041:1: ( rule__FunctionDefinition__Group_3__0 )?
            int alt46=2;
            int LA46_0 = input.LA(1);

            if ( (LA46_0==24) ) {
                alt46=1;
            }
            switch (alt46) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5041:2: rule__FunctionDefinition__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__0_in_rule__FunctionDefinition__Group__3__Impl10824);
                    rule__FunctionDefinition__Group_3__0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getGroup_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__3__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5051:1: rule__FunctionDefinition__Group__4 : rule__FunctionDefinition__Group__4__Impl rule__FunctionDefinition__Group__5 ;
    public final void rule__FunctionDefinition__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5055:1: ( rule__FunctionDefinition__Group__4__Impl rule__FunctionDefinition__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5056:2: rule__FunctionDefinition__Group__4__Impl rule__FunctionDefinition__Group__5
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__4__Impl_in_rule__FunctionDefinition__Group__410855);
            rule__FunctionDefinition__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__5_in_rule__FunctionDefinition__Group__410858);
            rule__FunctionDefinition__Group__5();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__4"


    // $ANTLR start "rule__FunctionDefinition__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5063:1: rule__FunctionDefinition__Group__4__Impl : ( '(' ) ;
    public final void rule__FunctionDefinition__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5067:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5068:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5068:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5069:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getLeftParenthesisKeyword_4()); 
            }
            match(input,47,FOLLOW_47_in_rule__FunctionDefinition__Group__4__Impl10886); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getLeftParenthesisKeyword_4()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__4__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5082:1: rule__FunctionDefinition__Group__5 : rule__FunctionDefinition__Group__5__Impl rule__FunctionDefinition__Group__6 ;
    public final void rule__FunctionDefinition__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5086:1: ( rule__FunctionDefinition__Group__5__Impl rule__FunctionDefinition__Group__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5087:2: rule__FunctionDefinition__Group__5__Impl rule__FunctionDefinition__Group__6
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__5__Impl_in_rule__FunctionDefinition__Group__510917);
            rule__FunctionDefinition__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__6_in_rule__FunctionDefinition__Group__510920);
            rule__FunctionDefinition__Group__6();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__5"


    // $ANTLR start "rule__FunctionDefinition__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5094:1: rule__FunctionDefinition__Group__5__Impl : ( ( rule__FunctionDefinition__Group_5__0 )? ) ;
    public final void rule__FunctionDefinition__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5098:1: ( ( ( rule__FunctionDefinition__Group_5__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5099:1: ( ( rule__FunctionDefinition__Group_5__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5099:1: ( ( rule__FunctionDefinition__Group_5__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5100:1: ( rule__FunctionDefinition__Group_5__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getGroup_5()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5101:1: ( rule__FunctionDefinition__Group_5__0 )?
            int alt47=2;
            int LA47_0 = input.LA(1);

            if ( ((LA47_0>=RULE_N && LA47_0<=RULE_ID)) ) {
                alt47=1;
            }
            switch (alt47) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5101:2: rule__FunctionDefinition__Group_5__0
                    {
                    pushFollow(FOLLOW_rule__FunctionDefinition__Group_5__0_in_rule__FunctionDefinition__Group__5__Impl10947);
                    rule__FunctionDefinition__Group_5__0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getGroup_5()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__5__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5111:1: rule__FunctionDefinition__Group__6 : rule__FunctionDefinition__Group__6__Impl rule__FunctionDefinition__Group__7 ;
    public final void rule__FunctionDefinition__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5115:1: ( rule__FunctionDefinition__Group__6__Impl rule__FunctionDefinition__Group__7 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5116:2: rule__FunctionDefinition__Group__6__Impl rule__FunctionDefinition__Group__7
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__6__Impl_in_rule__FunctionDefinition__Group__610978);
            rule__FunctionDefinition__Group__6__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__7_in_rule__FunctionDefinition__Group__610981);
            rule__FunctionDefinition__Group__7();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__6"


    // $ANTLR start "rule__FunctionDefinition__Group__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5123:1: rule__FunctionDefinition__Group__6__Impl : ( ')' ) ;
    public final void rule__FunctionDefinition__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5127:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5128:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5128:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5129:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getRightParenthesisKeyword_6()); 
            }
            match(input,48,FOLLOW_48_in_rule__FunctionDefinition__Group__6__Impl11009); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getRightParenthesisKeyword_6()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__6__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__7"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5142:1: rule__FunctionDefinition__Group__7 : rule__FunctionDefinition__Group__7__Impl rule__FunctionDefinition__Group__8 ;
    public final void rule__FunctionDefinition__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5146:1: ( rule__FunctionDefinition__Group__7__Impl rule__FunctionDefinition__Group__8 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5147:2: rule__FunctionDefinition__Group__7__Impl rule__FunctionDefinition__Group__8
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__7__Impl_in_rule__FunctionDefinition__Group__711040);
            rule__FunctionDefinition__Group__7__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__8_in_rule__FunctionDefinition__Group__711043);
            rule__FunctionDefinition__Group__8();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__7"


    // $ANTLR start "rule__FunctionDefinition__Group__7__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5154:1: rule__FunctionDefinition__Group__7__Impl : ( '->' ) ;
    public final void rule__FunctionDefinition__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5158:1: ( ( '->' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5159:1: ( '->' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5159:1: ( '->' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5160:1: '->'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getHyphenMinusGreaterThanSignKeyword_7()); 
            }
            match(input,49,FOLLOW_49_in_rule__FunctionDefinition__Group__7__Impl11071); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getHyphenMinusGreaterThanSignKeyword_7()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__7__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__8"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5173:1: rule__FunctionDefinition__Group__8 : rule__FunctionDefinition__Group__8__Impl rule__FunctionDefinition__Group__9 ;
    public final void rule__FunctionDefinition__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5177:1: ( rule__FunctionDefinition__Group__8__Impl rule__FunctionDefinition__Group__9 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5178:2: rule__FunctionDefinition__Group__8__Impl rule__FunctionDefinition__Group__9
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__8__Impl_in_rule__FunctionDefinition__Group__811102);
            rule__FunctionDefinition__Group__8__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__9_in_rule__FunctionDefinition__Group__811105);
            rule__FunctionDefinition__Group__9();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__8"


    // $ANTLR start "rule__FunctionDefinition__Group__8__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5185:1: rule__FunctionDefinition__Group__8__Impl : ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8 ) ) ;
    public final void rule__FunctionDefinition__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5189:1: ( ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5190:1: ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5190:1: ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5191:1: ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsAssignment_8()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5192:1: ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5192:2: rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8_in_rule__FunctionDefinition__Group__8__Impl11132);
            rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsAssignment_8()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__8__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__9"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5202:1: rule__FunctionDefinition__Group__9 : rule__FunctionDefinition__Group__9__Impl rule__FunctionDefinition__Group__10 ;
    public final void rule__FunctionDefinition__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5206:1: ( rule__FunctionDefinition__Group__9__Impl rule__FunctionDefinition__Group__10 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5207:2: rule__FunctionDefinition__Group__9__Impl rule__FunctionDefinition__Group__10
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__9__Impl_in_rule__FunctionDefinition__Group__911162);
            rule__FunctionDefinition__Group__9__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__10_in_rule__FunctionDefinition__Group__911165);
            rule__FunctionDefinition__Group__10();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__9"


    // $ANTLR start "rule__FunctionDefinition__Group__9__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5214:1: rule__FunctionDefinition__Group__9__Impl : ( ( rule__FunctionDefinition__Group_9__0 )* ) ;
    public final void rule__FunctionDefinition__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5218:1: ( ( ( rule__FunctionDefinition__Group_9__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5219:1: ( ( rule__FunctionDefinition__Group_9__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5219:1: ( ( rule__FunctionDefinition__Group_9__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5220:1: ( rule__FunctionDefinition__Group_9__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getGroup_9()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5221:1: ( rule__FunctionDefinition__Group_9__0 )*
            loop48:
            do {
                int alt48=2;
                int LA48_0 = input.LA(1);

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


                switch (alt48) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5221:2: rule__FunctionDefinition__Group_9__0
            	    {
            	    pushFollow(FOLLOW_rule__FunctionDefinition__Group_9__0_in_rule__FunctionDefinition__Group__9__Impl11192);
            	    rule__FunctionDefinition__Group_9__0();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getGroup_9()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__9__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__10"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5231:1: rule__FunctionDefinition__Group__10 : rule__FunctionDefinition__Group__10__Impl rule__FunctionDefinition__Group__11 ;
    public final void rule__FunctionDefinition__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5235:1: ( rule__FunctionDefinition__Group__10__Impl rule__FunctionDefinition__Group__11 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5236:2: rule__FunctionDefinition__Group__10__Impl rule__FunctionDefinition__Group__11
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__10__Impl_in_rule__FunctionDefinition__Group__1011223);
            rule__FunctionDefinition__Group__10__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__11_in_rule__FunctionDefinition__Group__1011226);
            rule__FunctionDefinition__Group__11();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__10"


    // $ANTLR start "rule__FunctionDefinition__Group__10__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5243:1: rule__FunctionDefinition__Group__10__Impl : ( '{' ) ;
    public final void rule__FunctionDefinition__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5247:1: ( ( '{' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5248:1: ( '{' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5248:1: ( '{' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5249:1: '{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getLeftCurlyBracketKeyword_10()); 
            }
            match(input,38,FOLLOW_38_in_rule__FunctionDefinition__Group__10__Impl11254); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getLeftCurlyBracketKeyword_10()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__10__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__11"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5262:1: rule__FunctionDefinition__Group__11 : rule__FunctionDefinition__Group__11__Impl rule__FunctionDefinition__Group__12 ;
    public final void rule__FunctionDefinition__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5266:1: ( rule__FunctionDefinition__Group__11__Impl rule__FunctionDefinition__Group__12 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5267:2: rule__FunctionDefinition__Group__11__Impl rule__FunctionDefinition__Group__12
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__11__Impl_in_rule__FunctionDefinition__Group__1111285);
            rule__FunctionDefinition__Group__11__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__12_in_rule__FunctionDefinition__Group__1111288);
            rule__FunctionDefinition__Group__12();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__11"


    // $ANTLR start "rule__FunctionDefinition__Group__11__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5274:1: rule__FunctionDefinition__Group__11__Impl : ( ( rule__FunctionDefinition__Alternatives_11 )* ) ;
    public final void rule__FunctionDefinition__Group__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5278:1: ( ( ( rule__FunctionDefinition__Alternatives_11 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5279:1: ( ( rule__FunctionDefinition__Alternatives_11 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5279:1: ( ( rule__FunctionDefinition__Alternatives_11 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5280:1: ( rule__FunctionDefinition__Alternatives_11 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getAlternatives_11()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5281:1: ( rule__FunctionDefinition__Alternatives_11 )*
            loop49:
            do {
                int alt49=2;
                int LA49_0 = input.LA(1);

                if ( ((LA49_0>=RULE_REAL && LA49_0<=RULE_STRING)||LA49_0==15||LA49_0==29||LA49_0==36||LA49_0==38||LA49_0==47||(LA49_0>=50 && LA49_0<=53)||LA49_0==60||LA49_0==62||LA49_0==64||LA49_0==67||LA49_0==77||(LA49_0>=79 && LA49_0<=81)||(LA49_0>=88 && LA49_0<=90)) ) {
                    alt49=1;
                }


                switch (alt49) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5281:2: rule__FunctionDefinition__Alternatives_11
            	    {
            	    pushFollow(FOLLOW_rule__FunctionDefinition__Alternatives_11_in_rule__FunctionDefinition__Group__11__Impl11315);
            	    rule__FunctionDefinition__Alternatives_11();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getAlternatives_11()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__11__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group__12"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5291:1: rule__FunctionDefinition__Group__12 : rule__FunctionDefinition__Group__12__Impl ;
    public final void rule__FunctionDefinition__Group__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5295:1: ( rule__FunctionDefinition__Group__12__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5296:2: rule__FunctionDefinition__Group__12__Impl
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group__12__Impl_in_rule__FunctionDefinition__Group__1211346);
            rule__FunctionDefinition__Group__12__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__12"


    // $ANTLR start "rule__FunctionDefinition__Group__12__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5302:1: rule__FunctionDefinition__Group__12__Impl : ( '}' ) ;
    public final void rule__FunctionDefinition__Group__12__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5306:1: ( ( '}' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5307:1: ( '}' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5307:1: ( '}' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5308:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getRightCurlyBracketKeyword_12()); 
            }
            match(input,39,FOLLOW_39_in_rule__FunctionDefinition__Group__12__Impl11374); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getRightCurlyBracketKeyword_12()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group__12__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5347:1: rule__FunctionDefinition__Group_3__0 : rule__FunctionDefinition__Group_3__0__Impl rule__FunctionDefinition__Group_3__1 ;
    public final void rule__FunctionDefinition__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5351:1: ( rule__FunctionDefinition__Group_3__0__Impl rule__FunctionDefinition__Group_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5352:2: rule__FunctionDefinition__Group_3__0__Impl rule__FunctionDefinition__Group_3__1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__0__Impl_in_rule__FunctionDefinition__Group_3__011431);
            rule__FunctionDefinition__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__1_in_rule__FunctionDefinition__Group_3__011434);
            rule__FunctionDefinition__Group_3__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__0"


    // $ANTLR start "rule__FunctionDefinition__Group_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5359:1: rule__FunctionDefinition__Group_3__0__Impl : ( '<' ) ;
    public final void rule__FunctionDefinition__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5363:1: ( ( '<' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5364:1: ( '<' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5364:1: ( '<' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5365:1: '<'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getLessThanSignKeyword_3_0()); 
            }
            match(input,24,FOLLOW_24_in_rule__FunctionDefinition__Group_3__0__Impl11462); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getLessThanSignKeyword_3_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__0__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5378:1: rule__FunctionDefinition__Group_3__1 : rule__FunctionDefinition__Group_3__1__Impl rule__FunctionDefinition__Group_3__2 ;
    public final void rule__FunctionDefinition__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5382:1: ( rule__FunctionDefinition__Group_3__1__Impl rule__FunctionDefinition__Group_3__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5383:2: rule__FunctionDefinition__Group_3__1__Impl rule__FunctionDefinition__Group_3__2
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__1__Impl_in_rule__FunctionDefinition__Group_3__111493);
            rule__FunctionDefinition__Group_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__2_in_rule__FunctionDefinition__Group_3__111496);
            rule__FunctionDefinition__Group_3__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__1"


    // $ANTLR start "rule__FunctionDefinition__Group_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5390:1: rule__FunctionDefinition__Group_3__1__Impl : ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1 ) ) ;
    public final void rule__FunctionDefinition__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5394:1: ( ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5395:1: ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5395:1: ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5396:1: ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsAssignment_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5397:1: ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5397:2: rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1_in_rule__FunctionDefinition__Group_3__1__Impl11523);
            rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsAssignment_3_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__1__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_3__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5407:1: rule__FunctionDefinition__Group_3__2 : rule__FunctionDefinition__Group_3__2__Impl rule__FunctionDefinition__Group_3__3 ;
    public final void rule__FunctionDefinition__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5411:1: ( rule__FunctionDefinition__Group_3__2__Impl rule__FunctionDefinition__Group_3__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5412:2: rule__FunctionDefinition__Group_3__2__Impl rule__FunctionDefinition__Group_3__3
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__2__Impl_in_rule__FunctionDefinition__Group_3__211553);
            rule__FunctionDefinition__Group_3__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__3_in_rule__FunctionDefinition__Group_3__211556);
            rule__FunctionDefinition__Group_3__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__2"


    // $ANTLR start "rule__FunctionDefinition__Group_3__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5419:1: rule__FunctionDefinition__Group_3__2__Impl : ( ( rule__FunctionDefinition__Group_3_2__0 )* ) ;
    public final void rule__FunctionDefinition__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5423:1: ( ( ( rule__FunctionDefinition__Group_3_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5424:1: ( ( rule__FunctionDefinition__Group_3_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5424:1: ( ( rule__FunctionDefinition__Group_3_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5425:1: ( rule__FunctionDefinition__Group_3_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getGroup_3_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5426:1: ( rule__FunctionDefinition__Group_3_2__0 )*
            loop50:
            do {
                int alt50=2;
                int LA50_0 = input.LA(1);

                if ( (LA50_0==40) ) {
                    alt50=1;
                }


                switch (alt50) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5426:2: rule__FunctionDefinition__Group_3_2__0
            	    {
            	    pushFollow(FOLLOW_rule__FunctionDefinition__Group_3_2__0_in_rule__FunctionDefinition__Group_3__2__Impl11583);
            	    rule__FunctionDefinition__Group_3_2__0();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getGroup_3_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__2__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_3__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5436:1: rule__FunctionDefinition__Group_3__3 : rule__FunctionDefinition__Group_3__3__Impl ;
    public final void rule__FunctionDefinition__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5440:1: ( rule__FunctionDefinition__Group_3__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5441:2: rule__FunctionDefinition__Group_3__3__Impl
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3__3__Impl_in_rule__FunctionDefinition__Group_3__311614);
            rule__FunctionDefinition__Group_3__3__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__3"


    // $ANTLR start "rule__FunctionDefinition__Group_3__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5447:1: rule__FunctionDefinition__Group_3__3__Impl : ( '>' ) ;
    public final void rule__FunctionDefinition__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5451:1: ( ( '>' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5452:1: ( '>' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5452:1: ( '>' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5453:1: '>'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getGreaterThanSignKeyword_3_3()); 
            }
            match(input,26,FOLLOW_26_in_rule__FunctionDefinition__Group_3__3__Impl11642); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getGreaterThanSignKeyword_3_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3__3__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_3_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5474:1: rule__FunctionDefinition__Group_3_2__0 : rule__FunctionDefinition__Group_3_2__0__Impl rule__FunctionDefinition__Group_3_2__1 ;
    public final void rule__FunctionDefinition__Group_3_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5478:1: ( rule__FunctionDefinition__Group_3_2__0__Impl rule__FunctionDefinition__Group_3_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5479:2: rule__FunctionDefinition__Group_3_2__0__Impl rule__FunctionDefinition__Group_3_2__1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3_2__0__Impl_in_rule__FunctionDefinition__Group_3_2__011681);
            rule__FunctionDefinition__Group_3_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3_2__1_in_rule__FunctionDefinition__Group_3_2__011684);
            rule__FunctionDefinition__Group_3_2__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3_2__0"


    // $ANTLR start "rule__FunctionDefinition__Group_3_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5486:1: rule__FunctionDefinition__Group_3_2__0__Impl : ( ',' ) ;
    public final void rule__FunctionDefinition__Group_3_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5490:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5491:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5491:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5492:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getCommaKeyword_3_2_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__FunctionDefinition__Group_3_2__0__Impl11712); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getCommaKeyword_3_2_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3_2__0__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_3_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5505:1: rule__FunctionDefinition__Group_3_2__1 : rule__FunctionDefinition__Group_3_2__1__Impl ;
    public final void rule__FunctionDefinition__Group_3_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5509:1: ( rule__FunctionDefinition__Group_3_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5510:2: rule__FunctionDefinition__Group_3_2__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_3_2__1__Impl_in_rule__FunctionDefinition__Group_3_2__111743);
            rule__FunctionDefinition__Group_3_2__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3_2__1"


    // $ANTLR start "rule__FunctionDefinition__Group_3_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5516:1: rule__FunctionDefinition__Group_3_2__1__Impl : ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1 ) ) ;
    public final void rule__FunctionDefinition__Group_3_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5520:1: ( ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5521:1: ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5521:1: ( ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5522:1: ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsAssignment_3_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5523:1: ( rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5523:2: rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1_in_rule__FunctionDefinition__Group_3_2__1__Impl11770);
            rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsAssignment_3_2_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_3_2__1__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_5__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5537:1: rule__FunctionDefinition__Group_5__0 : rule__FunctionDefinition__Group_5__0__Impl rule__FunctionDefinition__Group_5__1 ;
    public final void rule__FunctionDefinition__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5541:1: ( rule__FunctionDefinition__Group_5__0__Impl rule__FunctionDefinition__Group_5__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5542:2: rule__FunctionDefinition__Group_5__0__Impl rule__FunctionDefinition__Group_5__1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_5__0__Impl_in_rule__FunctionDefinition__Group_5__011804);
            rule__FunctionDefinition__Group_5__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_5__1_in_rule__FunctionDefinition__Group_5__011807);
            rule__FunctionDefinition__Group_5__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5__0"


    // $ANTLR start "rule__FunctionDefinition__Group_5__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5549:1: rule__FunctionDefinition__Group_5__0__Impl : ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0 ) ) ;
    public final void rule__FunctionDefinition__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5553:1: ( ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5554:1: ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5554:1: ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5555:1: ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsAssignment_5_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5556:1: ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5556:2: rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0_in_rule__FunctionDefinition__Group_5__0__Impl11834);
            rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsAssignment_5_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5__0__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_5__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5566:1: rule__FunctionDefinition__Group_5__1 : rule__FunctionDefinition__Group_5__1__Impl ;
    public final void rule__FunctionDefinition__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5570:1: ( rule__FunctionDefinition__Group_5__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5571:2: rule__FunctionDefinition__Group_5__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_5__1__Impl_in_rule__FunctionDefinition__Group_5__111864);
            rule__FunctionDefinition__Group_5__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5__1"


    // $ANTLR start "rule__FunctionDefinition__Group_5__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5577:1: rule__FunctionDefinition__Group_5__1__Impl : ( ( rule__FunctionDefinition__Group_5_1__0 )* ) ;
    public final void rule__FunctionDefinition__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5581:1: ( ( ( rule__FunctionDefinition__Group_5_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5582:1: ( ( rule__FunctionDefinition__Group_5_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5582:1: ( ( rule__FunctionDefinition__Group_5_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5583:1: ( rule__FunctionDefinition__Group_5_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getGroup_5_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5584:1: ( rule__FunctionDefinition__Group_5_1__0 )*
            loop51:
            do {
                int alt51=2;
                int LA51_0 = input.LA(1);

                if ( (LA51_0==40) ) {
                    alt51=1;
                }


                switch (alt51) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5584:2: rule__FunctionDefinition__Group_5_1__0
            	    {
            	    pushFollow(FOLLOW_rule__FunctionDefinition__Group_5_1__0_in_rule__FunctionDefinition__Group_5__1__Impl11891);
            	    rule__FunctionDefinition__Group_5_1__0();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getGroup_5_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5__1__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_5_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5598:1: rule__FunctionDefinition__Group_5_1__0 : rule__FunctionDefinition__Group_5_1__0__Impl rule__FunctionDefinition__Group_5_1__1 ;
    public final void rule__FunctionDefinition__Group_5_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5602:1: ( rule__FunctionDefinition__Group_5_1__0__Impl rule__FunctionDefinition__Group_5_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5603:2: rule__FunctionDefinition__Group_5_1__0__Impl rule__FunctionDefinition__Group_5_1__1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_5_1__0__Impl_in_rule__FunctionDefinition__Group_5_1__011926);
            rule__FunctionDefinition__Group_5_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_5_1__1_in_rule__FunctionDefinition__Group_5_1__011929);
            rule__FunctionDefinition__Group_5_1__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5_1__0"


    // $ANTLR start "rule__FunctionDefinition__Group_5_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5610:1: rule__FunctionDefinition__Group_5_1__0__Impl : ( ',' ) ;
    public final void rule__FunctionDefinition__Group_5_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5614:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5615:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5615:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5616:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getCommaKeyword_5_1_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__FunctionDefinition__Group_5_1__0__Impl11957); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getCommaKeyword_5_1_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5_1__0__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_5_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5629:1: rule__FunctionDefinition__Group_5_1__1 : rule__FunctionDefinition__Group_5_1__1__Impl ;
    public final void rule__FunctionDefinition__Group_5_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5633:1: ( rule__FunctionDefinition__Group_5_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5634:2: rule__FunctionDefinition__Group_5_1__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_5_1__1__Impl_in_rule__FunctionDefinition__Group_5_1__111988);
            rule__FunctionDefinition__Group_5_1__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5_1__1"


    // $ANTLR start "rule__FunctionDefinition__Group_5_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5640:1: rule__FunctionDefinition__Group_5_1__1__Impl : ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1 ) ) ;
    public final void rule__FunctionDefinition__Group_5_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5644:1: ( ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5645:1: ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5645:1: ( ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5646:1: ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsAssignment_5_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5647:1: ( rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5647:2: rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1_in_rule__FunctionDefinition__Group_5_1__1__Impl12015);
            rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsAssignment_5_1_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_5_1__1__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_9__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5661:1: rule__FunctionDefinition__Group_9__0 : rule__FunctionDefinition__Group_9__0__Impl rule__FunctionDefinition__Group_9__1 ;
    public final void rule__FunctionDefinition__Group_9__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5665:1: ( rule__FunctionDefinition__Group_9__0__Impl rule__FunctionDefinition__Group_9__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5666:2: rule__FunctionDefinition__Group_9__0__Impl rule__FunctionDefinition__Group_9__1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_9__0__Impl_in_rule__FunctionDefinition__Group_9__012049);
            rule__FunctionDefinition__Group_9__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_9__1_in_rule__FunctionDefinition__Group_9__012052);
            rule__FunctionDefinition__Group_9__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_9__0"


    // $ANTLR start "rule__FunctionDefinition__Group_9__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5673:1: rule__FunctionDefinition__Group_9__0__Impl : ( ',' ) ;
    public final void rule__FunctionDefinition__Group_9__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5677:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5678:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5678:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5679:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getCommaKeyword_9_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__FunctionDefinition__Group_9__0__Impl12080); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getCommaKeyword_9_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_9__0__Impl"


    // $ANTLR start "rule__FunctionDefinition__Group_9__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5692:1: rule__FunctionDefinition__Group_9__1 : rule__FunctionDefinition__Group_9__1__Impl ;
    public final void rule__FunctionDefinition__Group_9__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5696:1: ( rule__FunctionDefinition__Group_9__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5697:2: rule__FunctionDefinition__Group_9__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__Group_9__1__Impl_in_rule__FunctionDefinition__Group_9__112111);
            rule__FunctionDefinition__Group_9__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_9__1"


    // $ANTLR start "rule__FunctionDefinition__Group_9__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5703:1: rule__FunctionDefinition__Group_9__1__Impl : ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1 ) ) ;
    public final void rule__FunctionDefinition__Group_9__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5707:1: ( ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5708:1: ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5708:1: ( ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5709:1: ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsAssignment_9_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5710:1: ( rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5710:2: rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1
            {
            pushFollow(FOLLOW_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1_in_rule__FunctionDefinition__Group_9__1__Impl12138);
            rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsAssignment_9_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__Group_9__1__Impl"


    // $ANTLR start "rule__Check__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5724:1: rule__Check__Group__0 : rule__Check__Group__0__Impl rule__Check__Group__1 ;
    public final void rule__Check__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5728:1: ( rule__Check__Group__0__Impl rule__Check__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5729:2: rule__Check__Group__0__Impl rule__Check__Group__1
            {
            pushFollow(FOLLOW_rule__Check__Group__0__Impl_in_rule__Check__Group__012172);
            rule__Check__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__1_in_rule__Check__Group__012175);
            rule__Check__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__0"


    // $ANTLR start "rule__Check__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5736:1: rule__Check__Group__0__Impl : ( 'check' ) ;
    public final void rule__Check__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5740:1: ( ( 'check' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5741:1: ( 'check' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5741:1: ( 'check' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5742:1: 'check'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getCheckKeyword_0()); 
            }
            match(input,50,FOLLOW_50_in_rule__Check__Group__0__Impl12203); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getCheckKeyword_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__0__Impl"


    // $ANTLR start "rule__Check__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5755:1: rule__Check__Group__1 : rule__Check__Group__1__Impl rule__Check__Group__2 ;
    public final void rule__Check__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5759:1: ( rule__Check__Group__1__Impl rule__Check__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5760:2: rule__Check__Group__1__Impl rule__Check__Group__2
            {
            pushFollow(FOLLOW_rule__Check__Group__1__Impl_in_rule__Check__Group__112234);
            rule__Check__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__2_in_rule__Check__Group__112237);
            rule__Check__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__1"


    // $ANTLR start "rule__Check__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5767:1: rule__Check__Group__1__Impl : ( ( rule__Check__Group_1__0 )? ) ;
    public final void rule__Check__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5771:1: ( ( ( rule__Check__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5772:1: ( ( rule__Check__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5772:1: ( ( rule__Check__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5773:1: ( rule__Check__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5774:1: ( rule__Check__Group_1__0 )?
            int alt52=2;
            int LA52_0 = input.LA(1);

            if ( (LA52_0==24) ) {
                alt52=1;
            }
            switch (alt52) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5774:2: rule__Check__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Check__Group_1__0_in_rule__Check__Group__1__Impl12264);
                    rule__Check__Group_1__0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getGroup_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__1__Impl"


    // $ANTLR start "rule__Check__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5784:1: rule__Check__Group__2 : rule__Check__Group__2__Impl rule__Check__Group__3 ;
    public final void rule__Check__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5788:1: ( rule__Check__Group__2__Impl rule__Check__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5789:2: rule__Check__Group__2__Impl rule__Check__Group__3
            {
            pushFollow(FOLLOW_rule__Check__Group__2__Impl_in_rule__Check__Group__212295);
            rule__Check__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__3_in_rule__Check__Group__212298);
            rule__Check__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__2"


    // $ANTLR start "rule__Check__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5796:1: rule__Check__Group__2__Impl : ( '(' ) ;
    public final void rule__Check__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5800:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5801:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5801:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5802:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getLeftParenthesisKeyword_2()); 
            }
            match(input,47,FOLLOW_47_in_rule__Check__Group__2__Impl12326); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getLeftParenthesisKeyword_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__2__Impl"


    // $ANTLR start "rule__Check__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5815:1: rule__Check__Group__3 : rule__Check__Group__3__Impl rule__Check__Group__4 ;
    public final void rule__Check__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5819:1: ( rule__Check__Group__3__Impl rule__Check__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5820:2: rule__Check__Group__3__Impl rule__Check__Group__4
            {
            pushFollow(FOLLOW_rule__Check__Group__3__Impl_in_rule__Check__Group__312357);
            rule__Check__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__4_in_rule__Check__Group__312360);
            rule__Check__Group__4();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__3"


    // $ANTLR start "rule__Check__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5827:1: rule__Check__Group__3__Impl : ( ( rule__Check__Group_3__0 )? ) ;
    public final void rule__Check__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5831:1: ( ( ( rule__Check__Group_3__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5832:1: ( ( rule__Check__Group_3__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5832:1: ( ( rule__Check__Group_3__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5833:1: ( rule__Check__Group_3__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getGroup_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5834:1: ( rule__Check__Group_3__0 )?
            int alt53=2;
            int LA53_0 = input.LA(1);

            if ( (LA53_0==RULE_ID||(LA53_0>=54 && LA53_0<=59)) ) {
                alt53=1;
            }
            switch (alt53) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5834:2: rule__Check__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Check__Group_3__0_in_rule__Check__Group__3__Impl12387);
                    rule__Check__Group_3__0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getGroup_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__3__Impl"


    // $ANTLR start "rule__Check__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5844:1: rule__Check__Group__4 : rule__Check__Group__4__Impl rule__Check__Group__5 ;
    public final void rule__Check__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5848:1: ( rule__Check__Group__4__Impl rule__Check__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5849:2: rule__Check__Group__4__Impl rule__Check__Group__5
            {
            pushFollow(FOLLOW_rule__Check__Group__4__Impl_in_rule__Check__Group__412418);
            rule__Check__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__5_in_rule__Check__Group__412421);
            rule__Check__Group__5();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__4"


    // $ANTLR start "rule__Check__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5856:1: rule__Check__Group__4__Impl : ( ')' ) ;
    public final void rule__Check__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5860:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5861:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5861:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5862:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getRightParenthesisKeyword_4()); 
            }
            match(input,48,FOLLOW_48_in_rule__Check__Group__4__Impl12449); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getRightParenthesisKeyword_4()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__4__Impl"


    // $ANTLR start "rule__Check__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5875:1: rule__Check__Group__5 : rule__Check__Group__5__Impl rule__Check__Group__6 ;
    public final void rule__Check__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5879:1: ( rule__Check__Group__5__Impl rule__Check__Group__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5880:2: rule__Check__Group__5__Impl rule__Check__Group__6
            {
            pushFollow(FOLLOW_rule__Check__Group__5__Impl_in_rule__Check__Group__512480);
            rule__Check__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__6_in_rule__Check__Group__512483);
            rule__Check__Group__6();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__5"


    // $ANTLR start "rule__Check__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5887:1: rule__Check__Group__5__Impl : ( '->' ) ;
    public final void rule__Check__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5891:1: ( ( '->' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5892:1: ( '->' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5892:1: ( '->' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5893:1: '->'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getHyphenMinusGreaterThanSignKeyword_5()); 
            }
            match(input,49,FOLLOW_49_in_rule__Check__Group__5__Impl12511); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getHyphenMinusGreaterThanSignKeyword_5()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__5__Impl"


    // $ANTLR start "rule__Check__Group__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5906:1: rule__Check__Group__6 : rule__Check__Group__6__Impl rule__Check__Group__7 ;
    public final void rule__Check__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5910:1: ( rule__Check__Group__6__Impl rule__Check__Group__7 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5911:2: rule__Check__Group__6__Impl rule__Check__Group__7
            {
            pushFollow(FOLLOW_rule__Check__Group__6__Impl_in_rule__Check__Group__612542);
            rule__Check__Group__6__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__7_in_rule__Check__Group__612545);
            rule__Check__Group__7();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__6"


    // $ANTLR start "rule__Check__Group__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5918:1: rule__Check__Group__6__Impl : ( ( rule__Check__OutputParameterTypesAssignment_6 ) ) ;
    public final void rule__Check__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5922:1: ( ( ( rule__Check__OutputParameterTypesAssignment_6 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5923:1: ( ( rule__Check__OutputParameterTypesAssignment_6 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5923:1: ( ( rule__Check__OutputParameterTypesAssignment_6 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5924:1: ( rule__Check__OutputParameterTypesAssignment_6 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getOutputParameterTypesAssignment_6()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5925:1: ( rule__Check__OutputParameterTypesAssignment_6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5925:2: rule__Check__OutputParameterTypesAssignment_6
            {
            pushFollow(FOLLOW_rule__Check__OutputParameterTypesAssignment_6_in_rule__Check__Group__6__Impl12572);
            rule__Check__OutputParameterTypesAssignment_6();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getOutputParameterTypesAssignment_6()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__6__Impl"


    // $ANTLR start "rule__Check__Group__7"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5935:1: rule__Check__Group__7 : rule__Check__Group__7__Impl rule__Check__Group__8 ;
    public final void rule__Check__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5939:1: ( rule__Check__Group__7__Impl rule__Check__Group__8 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5940:2: rule__Check__Group__7__Impl rule__Check__Group__8
            {
            pushFollow(FOLLOW_rule__Check__Group__7__Impl_in_rule__Check__Group__712602);
            rule__Check__Group__7__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group__8_in_rule__Check__Group__712605);
            rule__Check__Group__8();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__7"


    // $ANTLR start "rule__Check__Group__7__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5947:1: rule__Check__Group__7__Impl : ( ( rule__Check__Group_7__0 )* ) ;
    public final void rule__Check__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5951:1: ( ( ( rule__Check__Group_7__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5952:1: ( ( rule__Check__Group_7__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5952:1: ( ( rule__Check__Group_7__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5953:1: ( rule__Check__Group_7__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getGroup_7()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5954:1: ( rule__Check__Group_7__0 )*
            loop54:
            do {
                int alt54=2;
                int LA54_0 = input.LA(1);

                if ( (LA54_0==40) ) {
                    alt54=1;
                }


                switch (alt54) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5954:2: rule__Check__Group_7__0
            	    {
            	    pushFollow(FOLLOW_rule__Check__Group_7__0_in_rule__Check__Group__7__Impl12632);
            	    rule__Check__Group_7__0();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getGroup_7()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__7__Impl"


    // $ANTLR start "rule__Check__Group__8"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5964:1: rule__Check__Group__8 : rule__Check__Group__8__Impl ;
    public final void rule__Check__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5968:1: ( rule__Check__Group__8__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5969:2: rule__Check__Group__8__Impl
            {
            pushFollow(FOLLOW_rule__Check__Group__8__Impl_in_rule__Check__Group__812663);
            rule__Check__Group__8__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__8"


    // $ANTLR start "rule__Check__Group__8__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5975:1: rule__Check__Group__8__Impl : ( ';' ) ;
    public final void rule__Check__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5979:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5980:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5980:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:5981:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getSemicolonKeyword_8()); 
            }
            match(input,43,FOLLOW_43_in_rule__Check__Group__8__Impl12691); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getSemicolonKeyword_8()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group__8__Impl"


    // $ANTLR start "rule__Check__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6012:1: rule__Check__Group_1__0 : rule__Check__Group_1__0__Impl rule__Check__Group_1__1 ;
    public final void rule__Check__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6016:1: ( rule__Check__Group_1__0__Impl rule__Check__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6017:2: rule__Check__Group_1__0__Impl rule__Check__Group_1__1
            {
            pushFollow(FOLLOW_rule__Check__Group_1__0__Impl_in_rule__Check__Group_1__012740);
            rule__Check__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group_1__1_in_rule__Check__Group_1__012743);
            rule__Check__Group_1__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__0"


    // $ANTLR start "rule__Check__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6024:1: rule__Check__Group_1__0__Impl : ( '<' ) ;
    public final void rule__Check__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6028:1: ( ( '<' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6029:1: ( '<' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6029:1: ( '<' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6030:1: '<'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getLessThanSignKeyword_1_0()); 
            }
            match(input,24,FOLLOW_24_in_rule__Check__Group_1__0__Impl12771); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getLessThanSignKeyword_1_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__0__Impl"


    // $ANTLR start "rule__Check__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6043:1: rule__Check__Group_1__1 : rule__Check__Group_1__1__Impl rule__Check__Group_1__2 ;
    public final void rule__Check__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6047:1: ( rule__Check__Group_1__1__Impl rule__Check__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6048:2: rule__Check__Group_1__1__Impl rule__Check__Group_1__2
            {
            pushFollow(FOLLOW_rule__Check__Group_1__1__Impl_in_rule__Check__Group_1__112802);
            rule__Check__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group_1__2_in_rule__Check__Group_1__112805);
            rule__Check__Group_1__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__1"


    // $ANTLR start "rule__Check__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6055:1: rule__Check__Group_1__1__Impl : ( ( rule__Check__TemplateArgumentsAssignment_1_1 ) ) ;
    public final void rule__Check__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6059:1: ( ( ( rule__Check__TemplateArgumentsAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6060:1: ( ( rule__Check__TemplateArgumentsAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6060:1: ( ( rule__Check__TemplateArgumentsAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6061:1: ( rule__Check__TemplateArgumentsAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getTemplateArgumentsAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6062:1: ( rule__Check__TemplateArgumentsAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6062:2: rule__Check__TemplateArgumentsAssignment_1_1
            {
            pushFollow(FOLLOW_rule__Check__TemplateArgumentsAssignment_1_1_in_rule__Check__Group_1__1__Impl12832);
            rule__Check__TemplateArgumentsAssignment_1_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getTemplateArgumentsAssignment_1_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__1__Impl"


    // $ANTLR start "rule__Check__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6072:1: rule__Check__Group_1__2 : rule__Check__Group_1__2__Impl rule__Check__Group_1__3 ;
    public final void rule__Check__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6076:1: ( rule__Check__Group_1__2__Impl rule__Check__Group_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6077:2: rule__Check__Group_1__2__Impl rule__Check__Group_1__3
            {
            pushFollow(FOLLOW_rule__Check__Group_1__2__Impl_in_rule__Check__Group_1__212862);
            rule__Check__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group_1__3_in_rule__Check__Group_1__212865);
            rule__Check__Group_1__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__2"


    // $ANTLR start "rule__Check__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6084:1: rule__Check__Group_1__2__Impl : ( ( rule__Check__Group_1_2__0 )* ) ;
    public final void rule__Check__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6088:1: ( ( ( rule__Check__Group_1_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6089:1: ( ( rule__Check__Group_1_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6089:1: ( ( rule__Check__Group_1_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6090:1: ( rule__Check__Group_1_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getGroup_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6091:1: ( rule__Check__Group_1_2__0 )*
            loop55:
            do {
                int alt55=2;
                int LA55_0 = input.LA(1);

                if ( (LA55_0==40) ) {
                    alt55=1;
                }


                switch (alt55) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6091:2: rule__Check__Group_1_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Check__Group_1_2__0_in_rule__Check__Group_1__2__Impl12892);
            	    rule__Check__Group_1_2__0();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getGroup_1_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__2__Impl"


    // $ANTLR start "rule__Check__Group_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6101:1: rule__Check__Group_1__3 : rule__Check__Group_1__3__Impl ;
    public final void rule__Check__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6105:1: ( rule__Check__Group_1__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6106:2: rule__Check__Group_1__3__Impl
            {
            pushFollow(FOLLOW_rule__Check__Group_1__3__Impl_in_rule__Check__Group_1__312923);
            rule__Check__Group_1__3__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__3"


    // $ANTLR start "rule__Check__Group_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6112:1: rule__Check__Group_1__3__Impl : ( '>' ) ;
    public final void rule__Check__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6116:1: ( ( '>' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6117:1: ( '>' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6117:1: ( '>' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6118:1: '>'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getGreaterThanSignKeyword_1_3()); 
            }
            match(input,26,FOLLOW_26_in_rule__Check__Group_1__3__Impl12951); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getGreaterThanSignKeyword_1_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1__3__Impl"


    // $ANTLR start "rule__Check__Group_1_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6139:1: rule__Check__Group_1_2__0 : rule__Check__Group_1_2__0__Impl rule__Check__Group_1_2__1 ;
    public final void rule__Check__Group_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6143:1: ( rule__Check__Group_1_2__0__Impl rule__Check__Group_1_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6144:2: rule__Check__Group_1_2__0__Impl rule__Check__Group_1_2__1
            {
            pushFollow(FOLLOW_rule__Check__Group_1_2__0__Impl_in_rule__Check__Group_1_2__012990);
            rule__Check__Group_1_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group_1_2__1_in_rule__Check__Group_1_2__012993);
            rule__Check__Group_1_2__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1_2__0"


    // $ANTLR start "rule__Check__Group_1_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6151:1: rule__Check__Group_1_2__0__Impl : ( ',' ) ;
    public final void rule__Check__Group_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6155:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6156:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6156:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6157:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getCommaKeyword_1_2_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__Check__Group_1_2__0__Impl13021); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getCommaKeyword_1_2_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1_2__0__Impl"


    // $ANTLR start "rule__Check__Group_1_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6170:1: rule__Check__Group_1_2__1 : rule__Check__Group_1_2__1__Impl ;
    public final void rule__Check__Group_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6174:1: ( rule__Check__Group_1_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6175:2: rule__Check__Group_1_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Check__Group_1_2__1__Impl_in_rule__Check__Group_1_2__113052);
            rule__Check__Group_1_2__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1_2__1"


    // $ANTLR start "rule__Check__Group_1_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6181:1: rule__Check__Group_1_2__1__Impl : ( ( rule__Check__TemplateArgumentsAssignment_1_2_1 ) ) ;
    public final void rule__Check__Group_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6185:1: ( ( ( rule__Check__TemplateArgumentsAssignment_1_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6186:1: ( ( rule__Check__TemplateArgumentsAssignment_1_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6186:1: ( ( rule__Check__TemplateArgumentsAssignment_1_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6187:1: ( rule__Check__TemplateArgumentsAssignment_1_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getTemplateArgumentsAssignment_1_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6188:1: ( rule__Check__TemplateArgumentsAssignment_1_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6188:2: rule__Check__TemplateArgumentsAssignment_1_2_1
            {
            pushFollow(FOLLOW_rule__Check__TemplateArgumentsAssignment_1_2_1_in_rule__Check__Group_1_2__1__Impl13079);
            rule__Check__TemplateArgumentsAssignment_1_2_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getTemplateArgumentsAssignment_1_2_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_1_2__1__Impl"


    // $ANTLR start "rule__Check__Group_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6202:1: rule__Check__Group_3__0 : rule__Check__Group_3__0__Impl rule__Check__Group_3__1 ;
    public final void rule__Check__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6206:1: ( rule__Check__Group_3__0__Impl rule__Check__Group_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6207:2: rule__Check__Group_3__0__Impl rule__Check__Group_3__1
            {
            pushFollow(FOLLOW_rule__Check__Group_3__0__Impl_in_rule__Check__Group_3__013113);
            rule__Check__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group_3__1_in_rule__Check__Group_3__013116);
            rule__Check__Group_3__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3__0"


    // $ANTLR start "rule__Check__Group_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6214:1: rule__Check__Group_3__0__Impl : ( ( rule__Check__InputParameterTypesAssignment_3_0 ) ) ;
    public final void rule__Check__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6218:1: ( ( ( rule__Check__InputParameterTypesAssignment_3_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6219:1: ( ( rule__Check__InputParameterTypesAssignment_3_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6219:1: ( ( rule__Check__InputParameterTypesAssignment_3_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6220:1: ( rule__Check__InputParameterTypesAssignment_3_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getInputParameterTypesAssignment_3_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6221:1: ( rule__Check__InputParameterTypesAssignment_3_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6221:2: rule__Check__InputParameterTypesAssignment_3_0
            {
            pushFollow(FOLLOW_rule__Check__InputParameterTypesAssignment_3_0_in_rule__Check__Group_3__0__Impl13143);
            rule__Check__InputParameterTypesAssignment_3_0();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getInputParameterTypesAssignment_3_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3__0__Impl"


    // $ANTLR start "rule__Check__Group_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6231:1: rule__Check__Group_3__1 : rule__Check__Group_3__1__Impl ;
    public final void rule__Check__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6235:1: ( rule__Check__Group_3__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6236:2: rule__Check__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Check__Group_3__1__Impl_in_rule__Check__Group_3__113173);
            rule__Check__Group_3__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3__1"


    // $ANTLR start "rule__Check__Group_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6242:1: rule__Check__Group_3__1__Impl : ( ( rule__Check__Group_3_1__0 )* ) ;
    public final void rule__Check__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6246:1: ( ( ( rule__Check__Group_3_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6247:1: ( ( rule__Check__Group_3_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6247:1: ( ( rule__Check__Group_3_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6248:1: ( rule__Check__Group_3_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getGroup_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6249:1: ( rule__Check__Group_3_1__0 )*
            loop56:
            do {
                int alt56=2;
                int LA56_0 = input.LA(1);

                if ( (LA56_0==40) ) {
                    alt56=1;
                }


                switch (alt56) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6249:2: rule__Check__Group_3_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Check__Group_3_1__0_in_rule__Check__Group_3__1__Impl13200);
            	    rule__Check__Group_3_1__0();

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

            	    }
            	    break;

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

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getGroup_3_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3__1__Impl"


    // $ANTLR start "rule__Check__Group_3_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6263:1: rule__Check__Group_3_1__0 : rule__Check__Group_3_1__0__Impl rule__Check__Group_3_1__1 ;
    public final void rule__Check__Group_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6267:1: ( rule__Check__Group_3_1__0__Impl rule__Check__Group_3_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6268:2: rule__Check__Group_3_1__0__Impl rule__Check__Group_3_1__1
            {
            pushFollow(FOLLOW_rule__Check__Group_3_1__0__Impl_in_rule__Check__Group_3_1__013235);
            rule__Check__Group_3_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group_3_1__1_in_rule__Check__Group_3_1__013238);
            rule__Check__Group_3_1__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3_1__0"


    // $ANTLR start "rule__Check__Group_3_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6275:1: rule__Check__Group_3_1__0__Impl : ( ',' ) ;
    public final void rule__Check__Group_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6279:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6280:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6280:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6281:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getCommaKeyword_3_1_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__Check__Group_3_1__0__Impl13266); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getCommaKeyword_3_1_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3_1__0__Impl"


    // $ANTLR start "rule__Check__Group_3_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6294:1: rule__Check__Group_3_1__1 : rule__Check__Group_3_1__1__Impl ;
    public final void rule__Check__Group_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6298:1: ( rule__Check__Group_3_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6299:2: rule__Check__Group_3_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Check__Group_3_1__1__Impl_in_rule__Check__Group_3_1__113297);
            rule__Check__Group_3_1__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3_1__1"


    // $ANTLR start "rule__Check__Group_3_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6305:1: rule__Check__Group_3_1__1__Impl : ( ( rule__Check__InputParameterTypesAssignment_3_1_1 ) ) ;
    public final void rule__Check__Group_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6309:1: ( ( ( rule__Check__InputParameterTypesAssignment_3_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6310:1: ( ( rule__Check__InputParameterTypesAssignment_3_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6310:1: ( ( rule__Check__InputParameterTypesAssignment_3_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6311:1: ( rule__Check__InputParameterTypesAssignment_3_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getInputParameterTypesAssignment_3_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6312:1: ( rule__Check__InputParameterTypesAssignment_3_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6312:2: rule__Check__InputParameterTypesAssignment_3_1_1
            {
            pushFollow(FOLLOW_rule__Check__InputParameterTypesAssignment_3_1_1_in_rule__Check__Group_3_1__1__Impl13324);
            rule__Check__InputParameterTypesAssignment_3_1_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getInputParameterTypesAssignment_3_1_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_3_1__1__Impl"


    // $ANTLR start "rule__Check__Group_7__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6326:1: rule__Check__Group_7__0 : rule__Check__Group_7__0__Impl rule__Check__Group_7__1 ;
    public final void rule__Check__Group_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6330:1: ( rule__Check__Group_7__0__Impl rule__Check__Group_7__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6331:2: rule__Check__Group_7__0__Impl rule__Check__Group_7__1
            {
            pushFollow(FOLLOW_rule__Check__Group_7__0__Impl_in_rule__Check__Group_7__013358);
            rule__Check__Group_7__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Check__Group_7__1_in_rule__Check__Group_7__013361);
            rule__Check__Group_7__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_7__0"


    // $ANTLR start "rule__Check__Group_7__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6338:1: rule__Check__Group_7__0__Impl : ( ',' ) ;
    public final void rule__Check__Group_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6342:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6343:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6343:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6344:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getCommaKeyword_7_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__Check__Group_7__0__Impl13389); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getCommaKeyword_7_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_7__0__Impl"


    // $ANTLR start "rule__Check__Group_7__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6357:1: rule__Check__Group_7__1 : rule__Check__Group_7__1__Impl ;
    public final void rule__Check__Group_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6361:1: ( rule__Check__Group_7__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6362:2: rule__Check__Group_7__1__Impl
            {
            pushFollow(FOLLOW_rule__Check__Group_7__1__Impl_in_rule__Check__Group_7__113420);
            rule__Check__Group_7__1__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_7__1"


    // $ANTLR start "rule__Check__Group_7__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6368:1: rule__Check__Group_7__1__Impl : ( ( rule__Check__OutputParameterTypesAssignment_7_1 ) ) ;
    public final void rule__Check__Group_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6372:1: ( ( ( rule__Check__OutputParameterTypesAssignment_7_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6373:1: ( ( rule__Check__OutputParameterTypesAssignment_7_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6373:1: ( ( rule__Check__OutputParameterTypesAssignment_7_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6374:1: ( rule__Check__OutputParameterTypesAssignment_7_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getOutputParameterTypesAssignment_7_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6375:1: ( rule__Check__OutputParameterTypesAssignment_7_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6375:2: rule__Check__OutputParameterTypesAssignment_7_1
            {
            pushFollow(FOLLOW_rule__Check__OutputParameterTypesAssignment_7_1_in_rule__Check__Group_7__1__Impl13447);
            rule__Check__OutputParameterTypesAssignment_7_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getOutputParameterTypesAssignment_7_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__Group_7__1__Impl"


    // $ANTLR start "rule__Assertion__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6389:1: rule__Assertion__Group__0 : rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ;
    public final void rule__Assertion__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6393:1: ( rule__Assertion__Group__0__Impl rule__Assertion__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6394:2: rule__Assertion__Group__0__Impl rule__Assertion__Group__1
            {
            pushFollow(FOLLOW_rule__Assertion__Group__0__Impl_in_rule__Assertion__Group__013481);
            rule__Assertion__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assertion__Group__1_in_rule__Assertion__Group__013484);
            rule__Assertion__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__0"


    // $ANTLR start "rule__Assertion__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6401:1: rule__Assertion__Group__0__Impl : ( ( rule__Assertion__StaticAssignment_0 )? ) ;
    public final void rule__Assertion__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6405:1: ( ( ( rule__Assertion__StaticAssignment_0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6406:1: ( ( rule__Assertion__StaticAssignment_0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6406:1: ( ( rule__Assertion__StaticAssignment_0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6407:1: ( rule__Assertion__StaticAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getStaticAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6408:1: ( rule__Assertion__StaticAssignment_0 )?
            int alt57=2;
            int LA57_0 = input.LA(1);

            if ( (LA57_0==88) ) {
                alt57=1;
            }
            switch (alt57) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6408:2: rule__Assertion__StaticAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Assertion__StaticAssignment_0_in_rule__Assertion__Group__0__Impl13511);
                    rule__Assertion__StaticAssignment_0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getStaticAssignment_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__0__Impl"


    // $ANTLR start "rule__Assertion__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6418:1: rule__Assertion__Group__1 : rule__Assertion__Group__1__Impl rule__Assertion__Group__2 ;
    public final void rule__Assertion__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6422:1: ( rule__Assertion__Group__1__Impl rule__Assertion__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6423:2: rule__Assertion__Group__1__Impl rule__Assertion__Group__2
            {
            pushFollow(FOLLOW_rule__Assertion__Group__1__Impl_in_rule__Assertion__Group__113542);
            rule__Assertion__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assertion__Group__2_in_rule__Assertion__Group__113545);
            rule__Assertion__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__1"


    // $ANTLR start "rule__Assertion__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6430:1: rule__Assertion__Group__1__Impl : ( 'assert' ) ;
    public final void rule__Assertion__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6434:1: ( ( 'assert' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6435:1: ( 'assert' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6435:1: ( 'assert' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6436:1: 'assert'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getAssertKeyword_1()); 
            }
            match(input,51,FOLLOW_51_in_rule__Assertion__Group__1__Impl13573); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getAssertKeyword_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__1__Impl"


    // $ANTLR start "rule__Assertion__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6449:1: rule__Assertion__Group__2 : rule__Assertion__Group__2__Impl rule__Assertion__Group__3 ;
    public final void rule__Assertion__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6453:1: ( rule__Assertion__Group__2__Impl rule__Assertion__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6454:2: rule__Assertion__Group__2__Impl rule__Assertion__Group__3
            {
            pushFollow(FOLLOW_rule__Assertion__Group__2__Impl_in_rule__Assertion__Group__213604);
            rule__Assertion__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assertion__Group__3_in_rule__Assertion__Group__213607);
            rule__Assertion__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__2"


    // $ANTLR start "rule__Assertion__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6461:1: rule__Assertion__Group__2__Impl : ( ( rule__Assertion__ConditionAssignment_2 ) ) ;
    public final void rule__Assertion__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6465:1: ( ( ( rule__Assertion__ConditionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6466:1: ( ( rule__Assertion__ConditionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6466:1: ( ( rule__Assertion__ConditionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6467:1: ( rule__Assertion__ConditionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getConditionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6468:1: ( rule__Assertion__ConditionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6468:2: rule__Assertion__ConditionAssignment_2
            {
            pushFollow(FOLLOW_rule__Assertion__ConditionAssignment_2_in_rule__Assertion__Group__2__Impl13634);
            rule__Assertion__ConditionAssignment_2();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getConditionAssignment_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__2__Impl"


    // $ANTLR start "rule__Assertion__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6478:1: rule__Assertion__Group__3 : rule__Assertion__Group__3__Impl rule__Assertion__Group__4 ;
    public final void rule__Assertion__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6482:1: ( rule__Assertion__Group__3__Impl rule__Assertion__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6483:2: rule__Assertion__Group__3__Impl rule__Assertion__Group__4
            {
            pushFollow(FOLLOW_rule__Assertion__Group__3__Impl_in_rule__Assertion__Group__313664);
            rule__Assertion__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assertion__Group__4_in_rule__Assertion__Group__313667);
            rule__Assertion__Group__4();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__3"


    // $ANTLR start "rule__Assertion__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6490:1: rule__Assertion__Group__3__Impl : ( ':' ) ;
    public final void rule__Assertion__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6494:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6495:1: ( ':' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6495:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6496:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getColonKeyword_3()); 
            }
            match(input,45,FOLLOW_45_in_rule__Assertion__Group__3__Impl13695); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getColonKeyword_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__3__Impl"


    // $ANTLR start "rule__Assertion__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6509:1: rule__Assertion__Group__4 : rule__Assertion__Group__4__Impl rule__Assertion__Group__5 ;
    public final void rule__Assertion__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6513:1: ( rule__Assertion__Group__4__Impl rule__Assertion__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6514:2: rule__Assertion__Group__4__Impl rule__Assertion__Group__5
            {
            pushFollow(FOLLOW_rule__Assertion__Group__4__Impl_in_rule__Assertion__Group__413726);
            rule__Assertion__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assertion__Group__5_in_rule__Assertion__Group__413729);
            rule__Assertion__Group__5();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__4"


    // $ANTLR start "rule__Assertion__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6521:1: rule__Assertion__Group__4__Impl : ( ( rule__Assertion__StatusKindAssignment_4 ) ) ;
    public final void rule__Assertion__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6525:1: ( ( ( rule__Assertion__StatusKindAssignment_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6526:1: ( ( rule__Assertion__StatusKindAssignment_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6526:1: ( ( rule__Assertion__StatusKindAssignment_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6527:1: ( rule__Assertion__StatusKindAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getStatusKindAssignment_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6528:1: ( rule__Assertion__StatusKindAssignment_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6528:2: rule__Assertion__StatusKindAssignment_4
            {
            pushFollow(FOLLOW_rule__Assertion__StatusKindAssignment_4_in_rule__Assertion__Group__4__Impl13756);
            rule__Assertion__StatusKindAssignment_4();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getStatusKindAssignment_4()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__4__Impl"


    // $ANTLR start "rule__Assertion__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6538:1: rule__Assertion__Group__5 : rule__Assertion__Group__5__Impl rule__Assertion__Group__6 ;
    public final void rule__Assertion__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6542:1: ( rule__Assertion__Group__5__Impl rule__Assertion__Group__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6543:2: rule__Assertion__Group__5__Impl rule__Assertion__Group__6
            {
            pushFollow(FOLLOW_rule__Assertion__Group__5__Impl_in_rule__Assertion__Group__513786);
            rule__Assertion__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assertion__Group__6_in_rule__Assertion__Group__513789);
            rule__Assertion__Group__6();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__5"


    // $ANTLR start "rule__Assertion__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6550:1: rule__Assertion__Group__5__Impl : ( ( rule__Assertion__MessageAssignment_5 ) ) ;
    public final void rule__Assertion__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6554:1: ( ( ( rule__Assertion__MessageAssignment_5 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6555:1: ( ( rule__Assertion__MessageAssignment_5 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6555:1: ( ( rule__Assertion__MessageAssignment_5 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6556:1: ( rule__Assertion__MessageAssignment_5 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getMessageAssignment_5()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6557:1: ( rule__Assertion__MessageAssignment_5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6557:2: rule__Assertion__MessageAssignment_5
            {
            pushFollow(FOLLOW_rule__Assertion__MessageAssignment_5_in_rule__Assertion__Group__5__Impl13816);
            rule__Assertion__MessageAssignment_5();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getMessageAssignment_5()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__5__Impl"


    // $ANTLR start "rule__Assertion__Group__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6567:1: rule__Assertion__Group__6 : rule__Assertion__Group__6__Impl ;
    public final void rule__Assertion__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6571:1: ( rule__Assertion__Group__6__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6572:2: rule__Assertion__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__Assertion__Group__6__Impl_in_rule__Assertion__Group__613846);
            rule__Assertion__Group__6__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__6"


    // $ANTLR start "rule__Assertion__Group__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6578:1: rule__Assertion__Group__6__Impl : ( ';' ) ;
    public final void rule__Assertion__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6582:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6583:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6583:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6584:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getSemicolonKeyword_6()); 
            }
            match(input,43,FOLLOW_43_in_rule__Assertion__Group__6__Impl13874); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getSemicolonKeyword_6()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__Group__6__Impl"


    // $ANTLR start "rule__StateVariableDeclaration__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6611:1: rule__StateVariableDeclaration__Group__0 : rule__StateVariableDeclaration__Group__0__Impl rule__StateVariableDeclaration__Group__1 ;
    public final void rule__StateVariableDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6615:1: ( rule__StateVariableDeclaration__Group__0__Impl rule__StateVariableDeclaration__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6616:2: rule__StateVariableDeclaration__Group__0__Impl rule__StateVariableDeclaration__Group__1
            {
            pushFollow(FOLLOW_rule__StateVariableDeclaration__Group__0__Impl_in_rule__StateVariableDeclaration__Group__013919);
            rule__StateVariableDeclaration__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__StateVariableDeclaration__Group__1_in_rule__StateVariableDeclaration__Group__013922);
            rule__StateVariableDeclaration__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateVariableDeclaration__Group__0"


    // $ANTLR start "rule__StateVariableDeclaration__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6623:1: rule__StateVariableDeclaration__Group__0__Impl : ( 'var' ) ;
    public final void rule__StateVariableDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6627:1: ( ( 'var' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6628:1: ( 'var' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6628:1: ( 'var' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6629:1: 'var'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStateVariableDeclarationAccess().getVarKeyword_0()); 
            }
            match(input,52,FOLLOW_52_in_rule__StateVariableDeclaration__Group__0__Impl13950); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStateVariableDeclarationAccess().getVarKeyword_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateVariableDeclaration__Group__0__Impl"


    // $ANTLR start "rule__StateVariableDeclaration__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6642:1: rule__StateVariableDeclaration__Group__1 : rule__StateVariableDeclaration__Group__1__Impl rule__StateVariableDeclaration__Group__2 ;
    public final void rule__StateVariableDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6646:1: ( rule__StateVariableDeclaration__Group__1__Impl rule__StateVariableDeclaration__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6647:2: rule__StateVariableDeclaration__Group__1__Impl rule__StateVariableDeclaration__Group__2
            {
            pushFollow(FOLLOW_rule__StateVariableDeclaration__Group__1__Impl_in_rule__StateVariableDeclaration__Group__113981);
            rule__StateVariableDeclaration__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__StateVariableDeclaration__Group__2_in_rule__StateVariableDeclaration__Group__113984);
            rule__StateVariableDeclaration__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateVariableDeclaration__Group__1"


    // $ANTLR start "rule__StateVariableDeclaration__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6654:1: rule__StateVariableDeclaration__Group__1__Impl : ( ( rule__StateVariableDeclaration__NameAssignment_1 ) ) ;
    public final void rule__StateVariableDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6658:1: ( ( ( rule__StateVariableDeclaration__NameAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6659:1: ( ( rule__StateVariableDeclaration__NameAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6659:1: ( ( rule__StateVariableDeclaration__NameAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6660:1: ( rule__StateVariableDeclaration__NameAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStateVariableDeclarationAccess().getNameAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6661:1: ( rule__StateVariableDeclaration__NameAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6661:2: rule__StateVariableDeclaration__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__StateVariableDeclaration__NameAssignment_1_in_rule__StateVariableDeclaration__Group__1__Impl14011);
            rule__StateVariableDeclaration__NameAssignment_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getStateVariableDeclarationAccess().getNameAssignment_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateVariableDeclaration__Group__1__Impl"


    // $ANTLR start "rule__StateVariableDeclaration__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6671:1: rule__StateVariableDeclaration__Group__2 : rule__StateVariableDeclaration__Group__2__Impl ;
    public final void rule__StateVariableDeclaration__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6675:1: ( rule__StateVariableDeclaration__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6676:2: rule__StateVariableDeclaration__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__StateVariableDeclaration__Group__2__Impl_in_rule__StateVariableDeclaration__Group__214041);
            rule__StateVariableDeclaration__Group__2__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateVariableDeclaration__Group__2"


    // $ANTLR start "rule__StateVariableDeclaration__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6682:1: rule__StateVariableDeclaration__Group__2__Impl : ( ';' ) ;
    public final void rule__StateVariableDeclaration__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6686:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6687:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6687:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6688:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStateVariableDeclarationAccess().getSemicolonKeyword_2()); 
            }
            match(input,43,FOLLOW_43_in_rule__StateVariableDeclaration__Group__2__Impl14069); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStateVariableDeclarationAccess().getSemicolonKeyword_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateVariableDeclaration__Group__2__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6707:1: rule__FunctionObjectDeclaration__Group__0 : rule__FunctionObjectDeclaration__Group__0__Impl rule__FunctionObjectDeclaration__Group__1 ;
    public final void rule__FunctionObjectDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6711:1: ( rule__FunctionObjectDeclaration__Group__0__Impl rule__FunctionObjectDeclaration__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6712:2: rule__FunctionObjectDeclaration__Group__0__Impl rule__FunctionObjectDeclaration__Group__1
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__0__Impl_in_rule__FunctionObjectDeclaration__Group__014106);
            rule__FunctionObjectDeclaration__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__1_in_rule__FunctionObjectDeclaration__Group__014109);
            rule__FunctionObjectDeclaration__Group__1();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__0"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6719:1: rule__FunctionObjectDeclaration__Group__0__Impl : ( 'fob' ) ;
    public final void rule__FunctionObjectDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6723:1: ( ( 'fob' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6724:1: ( 'fob' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6724:1: ( 'fob' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6725:1: 'fob'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getFobKeyword_0()); 
            }
            match(input,53,FOLLOW_53_in_rule__FunctionObjectDeclaration__Group__0__Impl14137); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getFobKeyword_0()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__0__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6738:1: rule__FunctionObjectDeclaration__Group__1 : rule__FunctionObjectDeclaration__Group__1__Impl rule__FunctionObjectDeclaration__Group__2 ;
    public final void rule__FunctionObjectDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6742:1: ( rule__FunctionObjectDeclaration__Group__1__Impl rule__FunctionObjectDeclaration__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6743:2: rule__FunctionObjectDeclaration__Group__1__Impl rule__FunctionObjectDeclaration__Group__2
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__1__Impl_in_rule__FunctionObjectDeclaration__Group__114168);
            rule__FunctionObjectDeclaration__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__2_in_rule__FunctionObjectDeclaration__Group__114171);
            rule__FunctionObjectDeclaration__Group__2();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__1"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6750:1: rule__FunctionObjectDeclaration__Group__1__Impl : ( ( rule__FunctionObjectDeclaration__NameAssignment_1 ) ) ;
    public final void rule__FunctionObjectDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6754:1: ( ( ( rule__FunctionObjectDeclaration__NameAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6755:1: ( ( rule__FunctionObjectDeclaration__NameAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6755:1: ( ( rule__FunctionObjectDeclaration__NameAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6756:1: ( rule__FunctionObjectDeclaration__NameAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getNameAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6757:1: ( rule__FunctionObjectDeclaration__NameAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6757:2: rule__FunctionObjectDeclaration__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__NameAssignment_1_in_rule__FunctionObjectDeclaration__Group__1__Impl14198);
            rule__FunctionObjectDeclaration__NameAssignment_1();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getNameAssignment_1()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__1__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6767:1: rule__FunctionObjectDeclaration__Group__2 : rule__FunctionObjectDeclaration__Group__2__Impl rule__FunctionObjectDeclaration__Group__3 ;
    public final void rule__FunctionObjectDeclaration__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6771:1: ( rule__FunctionObjectDeclaration__Group__2__Impl rule__FunctionObjectDeclaration__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6772:2: rule__FunctionObjectDeclaration__Group__2__Impl rule__FunctionObjectDeclaration__Group__3
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__2__Impl_in_rule__FunctionObjectDeclaration__Group__214228);
            rule__FunctionObjectDeclaration__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__3_in_rule__FunctionObjectDeclaration__Group__214231);
            rule__FunctionObjectDeclaration__Group__3();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__2"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6779:1: rule__FunctionObjectDeclaration__Group__2__Impl : ( ':' ) ;
    public final void rule__FunctionObjectDeclaration__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6783:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6784:1: ( ':' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6784:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6785:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getColonKeyword_2()); 
            }
            match(input,45,FOLLOW_45_in_rule__FunctionObjectDeclaration__Group__2__Impl14259); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getColonKeyword_2()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__2__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6798:1: rule__FunctionObjectDeclaration__Group__3 : rule__FunctionObjectDeclaration__Group__3__Impl rule__FunctionObjectDeclaration__Group__4 ;
    public final void rule__FunctionObjectDeclaration__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6802:1: ( rule__FunctionObjectDeclaration__Group__3__Impl rule__FunctionObjectDeclaration__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6803:2: rule__FunctionObjectDeclaration__Group__3__Impl rule__FunctionObjectDeclaration__Group__4
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__3__Impl_in_rule__FunctionObjectDeclaration__Group__314290);
            rule__FunctionObjectDeclaration__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__4_in_rule__FunctionObjectDeclaration__Group__314293);
            rule__FunctionObjectDeclaration__Group__4();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__3"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6810:1: rule__FunctionObjectDeclaration__Group__3__Impl : ( ( rule__FunctionObjectDeclaration__FunctionNameAssignment_3 ) ) ;
    public final void rule__FunctionObjectDeclaration__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6814:1: ( ( ( rule__FunctionObjectDeclaration__FunctionNameAssignment_3 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6815:1: ( ( rule__FunctionObjectDeclaration__FunctionNameAssignment_3 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6815:1: ( ( rule__FunctionObjectDeclaration__FunctionNameAssignment_3 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6816:1: ( rule__FunctionObjectDeclaration__FunctionNameAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getFunctionNameAssignment_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6817:1: ( rule__FunctionObjectDeclaration__FunctionNameAssignment_3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6817:2: rule__FunctionObjectDeclaration__FunctionNameAssignment_3
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__FunctionNameAssignment_3_in_rule__FunctionObjectDeclaration__Group__3__Impl14320);
            rule__FunctionObjectDeclaration__FunctionNameAssignment_3();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getFunctionNameAssignment_3()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__3__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6827:1: rule__FunctionObjectDeclaration__Group__4 : rule__FunctionObjectDeclaration__Group__4__Impl rule__FunctionObjectDeclaration__Group__5 ;
    public final void rule__FunctionObjectDeclaration__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6831:1: ( rule__FunctionObjectDeclaration__Group__4__Impl rule__FunctionObjectDeclaration__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6832:2: rule__FunctionObjectDeclaration__Group__4__Impl rule__FunctionObjectDeclaration__Group__5
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__4__Impl_in_rule__FunctionObjectDeclaration__Group__414350);
            rule__FunctionObjectDeclaration__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__5_in_rule__FunctionObjectDeclaration__Group__414353);
            rule__FunctionObjectDeclaration__Group__5();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__4"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6839:1: rule__FunctionObjectDeclaration__Group__4__Impl : ( ( rule__FunctionObjectDeclaration__Group_4__0 )? ) ;
    public final void rule__FunctionObjectDeclaration__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6843:1: ( ( ( rule__FunctionObjectDeclaration__Group_4__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6844:1: ( ( rule__FunctionObjectDeclaration__Group_4__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6844:1: ( ( rule__FunctionObjectDeclaration__Group_4__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6845:1: ( rule__FunctionObjectDeclaration__Group_4__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getGroup_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6846:1: ( rule__FunctionObjectDeclaration__Group_4__0 )?
            int alt58=2;
            int LA58_0 = input.LA(1);

            if ( (LA58_0==24) ) {
                alt58=1;
            }
            switch (alt58) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6846:2: rule__FunctionObjectDeclaration__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__0_in_rule__FunctionObjectDeclaration__Group__4__Impl14380);
                    rule__FunctionObjectDeclaration__Group_4__0();

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

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getGroup_4()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__4__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6856:1: rule__FunctionObjectDeclaration__Group__5 : rule__FunctionObjectDeclaration__Group__5__Impl ;
    public final void rule__FunctionObjectDeclaration__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6860:1: ( rule__FunctionObjectDeclaration__Group__5__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6861:2: rule__FunctionObjectDeclaration__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group__5__Impl_in_rule__FunctionObjectDeclaration__Group__514411);
            rule__FunctionObjectDeclaration__Group__5__Impl();

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

            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__5"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6867:1: rule__FunctionObjectDeclaration__Group__5__Impl : ( ';' ) ;
    public final void rule__FunctionObjectDeclaration__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6871:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6872:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6872:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6873:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getSemicolonKeyword_5()); 
            }
            match(input,43,FOLLOW_43_in_rule__FunctionObjectDeclaration__Group__5__Impl14439); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getSemicolonKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group__5__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6898:1: rule__FunctionObjectDeclaration__Group_4__0 : rule__FunctionObjectDeclaration__Group_4__0__Impl rule__FunctionObjectDeclaration__Group_4__1 ;
    public final void rule__FunctionObjectDeclaration__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6902:1: ( rule__FunctionObjectDeclaration__Group_4__0__Impl rule__FunctionObjectDeclaration__Group_4__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6903:2: rule__FunctionObjectDeclaration__Group_4__0__Impl rule__FunctionObjectDeclaration__Group_4__1
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__0__Impl_in_rule__FunctionObjectDeclaration__Group_4__014482);
            rule__FunctionObjectDeclaration__Group_4__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__1_in_rule__FunctionObjectDeclaration__Group_4__014485);
            rule__FunctionObjectDeclaration__Group_4__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__0"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6910:1: rule__FunctionObjectDeclaration__Group_4__0__Impl : ( '<' ) ;
    public final void rule__FunctionObjectDeclaration__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6914:1: ( ( '<' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6915:1: ( '<' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6915:1: ( '<' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6916:1: '<'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getLessThanSignKeyword_4_0()); 
            }
            match(input,24,FOLLOW_24_in_rule__FunctionObjectDeclaration__Group_4__0__Impl14513); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getLessThanSignKeyword_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__0__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6929:1: rule__FunctionObjectDeclaration__Group_4__1 : rule__FunctionObjectDeclaration__Group_4__1__Impl rule__FunctionObjectDeclaration__Group_4__2 ;
    public final void rule__FunctionObjectDeclaration__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6933:1: ( rule__FunctionObjectDeclaration__Group_4__1__Impl rule__FunctionObjectDeclaration__Group_4__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6934:2: rule__FunctionObjectDeclaration__Group_4__1__Impl rule__FunctionObjectDeclaration__Group_4__2
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__1__Impl_in_rule__FunctionObjectDeclaration__Group_4__114544);
            rule__FunctionObjectDeclaration__Group_4__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__2_in_rule__FunctionObjectDeclaration__Group_4__114547);
            rule__FunctionObjectDeclaration__Group_4__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__1"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6941:1: rule__FunctionObjectDeclaration__Group_4__1__Impl : ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1 ) ) ;
    public final void rule__FunctionObjectDeclaration__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6945:1: ( ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6946:1: ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6946:1: ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6947:1: ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsAssignment_4_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6948:1: ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6948:2: rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1_in_rule__FunctionObjectDeclaration__Group_4__1__Impl14574);
            rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsAssignment_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__1__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6958:1: rule__FunctionObjectDeclaration__Group_4__2 : rule__FunctionObjectDeclaration__Group_4__2__Impl rule__FunctionObjectDeclaration__Group_4__3 ;
    public final void rule__FunctionObjectDeclaration__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6962:1: ( rule__FunctionObjectDeclaration__Group_4__2__Impl rule__FunctionObjectDeclaration__Group_4__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6963:2: rule__FunctionObjectDeclaration__Group_4__2__Impl rule__FunctionObjectDeclaration__Group_4__3
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__2__Impl_in_rule__FunctionObjectDeclaration__Group_4__214604);
            rule__FunctionObjectDeclaration__Group_4__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__3_in_rule__FunctionObjectDeclaration__Group_4__214607);
            rule__FunctionObjectDeclaration__Group_4__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__2"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6970:1: rule__FunctionObjectDeclaration__Group_4__2__Impl : ( ( rule__FunctionObjectDeclaration__Group_4_2__0 )* ) ;
    public final void rule__FunctionObjectDeclaration__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6974:1: ( ( ( rule__FunctionObjectDeclaration__Group_4_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6975:1: ( ( rule__FunctionObjectDeclaration__Group_4_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6975:1: ( ( rule__FunctionObjectDeclaration__Group_4_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6976:1: ( rule__FunctionObjectDeclaration__Group_4_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getGroup_4_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6977:1: ( rule__FunctionObjectDeclaration__Group_4_2__0 )*
            loop59:
            do {
                int alt59=2;
                int LA59_0 = input.LA(1);

                if ( (LA59_0==40) ) {
                    alt59=1;
                }


                switch (alt59) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6977:2: rule__FunctionObjectDeclaration__Group_4_2__0
            	    {
            	    pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__0_in_rule__FunctionObjectDeclaration__Group_4__2__Impl14634);
            	    rule__FunctionObjectDeclaration__Group_4_2__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop59;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getGroup_4_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__2__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6987:1: rule__FunctionObjectDeclaration__Group_4__3 : rule__FunctionObjectDeclaration__Group_4__3__Impl ;
    public final void rule__FunctionObjectDeclaration__Group_4__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6991:1: ( rule__FunctionObjectDeclaration__Group_4__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6992:2: rule__FunctionObjectDeclaration__Group_4__3__Impl
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4__3__Impl_in_rule__FunctionObjectDeclaration__Group_4__314665);
            rule__FunctionObjectDeclaration__Group_4__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__3"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:6998:1: rule__FunctionObjectDeclaration__Group_4__3__Impl : ( '>' ) ;
    public final void rule__FunctionObjectDeclaration__Group_4__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7002:1: ( ( '>' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7003:1: ( '>' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7003:1: ( '>' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7004:1: '>'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getGreaterThanSignKeyword_4_3()); 
            }
            match(input,26,FOLLOW_26_in_rule__FunctionObjectDeclaration__Group_4__3__Impl14693); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getGreaterThanSignKeyword_4_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4__3__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7025:1: rule__FunctionObjectDeclaration__Group_4_2__0 : rule__FunctionObjectDeclaration__Group_4_2__0__Impl rule__FunctionObjectDeclaration__Group_4_2__1 ;
    public final void rule__FunctionObjectDeclaration__Group_4_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7029:1: ( rule__FunctionObjectDeclaration__Group_4_2__0__Impl rule__FunctionObjectDeclaration__Group_4_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7030:2: rule__FunctionObjectDeclaration__Group_4_2__0__Impl rule__FunctionObjectDeclaration__Group_4_2__1
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__0__Impl_in_rule__FunctionObjectDeclaration__Group_4_2__014732);
            rule__FunctionObjectDeclaration__Group_4_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__1_in_rule__FunctionObjectDeclaration__Group_4_2__014735);
            rule__FunctionObjectDeclaration__Group_4_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4_2__0"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7037:1: rule__FunctionObjectDeclaration__Group_4_2__0__Impl : ( ',' ) ;
    public final void rule__FunctionObjectDeclaration__Group_4_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7041:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7042:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7042:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7043:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getCommaKeyword_4_2_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__FunctionObjectDeclaration__Group_4_2__0__Impl14763); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getCommaKeyword_4_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4_2__0__Impl"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7056:1: rule__FunctionObjectDeclaration__Group_4_2__1 : rule__FunctionObjectDeclaration__Group_4_2__1__Impl ;
    public final void rule__FunctionObjectDeclaration__Group_4_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7060:1: ( rule__FunctionObjectDeclaration__Group_4_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7061:2: rule__FunctionObjectDeclaration__Group_4_2__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__1__Impl_in_rule__FunctionObjectDeclaration__Group_4_2__114794);
            rule__FunctionObjectDeclaration__Group_4_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4_2__1"


    // $ANTLR start "rule__FunctionObjectDeclaration__Group_4_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7067:1: rule__FunctionObjectDeclaration__Group_4_2__1__Impl : ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1 ) ) ;
    public final void rule__FunctionObjectDeclaration__Group_4_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7071:1: ( ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7072:1: ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7072:1: ( ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7073:1: ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsAssignment_4_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7074:1: ( rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7074:2: rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1
            {
            pushFollow(FOLLOW_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1_in_rule__FunctionObjectDeclaration__Group_4_2__1__Impl14821);
            rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsAssignment_4_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__Group_4_2__1__Impl"


    // $ANTLR start "rule__Equation__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7088:1: rule__Equation__Group__0 : rule__Equation__Group__0__Impl rule__Equation__Group__1 ;
    public final void rule__Equation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7092:1: ( rule__Equation__Group__0__Impl rule__Equation__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7093:2: rule__Equation__Group__0__Impl rule__Equation__Group__1
            {
            pushFollow(FOLLOW_rule__Equation__Group__0__Impl_in_rule__Equation__Group__014855);
            rule__Equation__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Equation__Group__1_in_rule__Equation__Group__014858);
            rule__Equation__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__0"


    // $ANTLR start "rule__Equation__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7100:1: rule__Equation__Group__0__Impl : ( ( rule__Equation__InitialAssignment_0 )? ) ;
    public final void rule__Equation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7104:1: ( ( ( rule__Equation__InitialAssignment_0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7105:1: ( ( rule__Equation__InitialAssignment_0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7105:1: ( ( rule__Equation__InitialAssignment_0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7106:1: ( rule__Equation__InitialAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getInitialAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7107:1: ( rule__Equation__InitialAssignment_0 )?
            int alt60=2;
            int LA60_0 = input.LA(1);

            if ( (LA60_0==89) ) {
                alt60=1;
            }
            switch (alt60) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7107:2: rule__Equation__InitialAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Equation__InitialAssignment_0_in_rule__Equation__Group__0__Impl14885);
                    rule__Equation__InitialAssignment_0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getInitialAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__0__Impl"


    // $ANTLR start "rule__Equation__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7117:1: rule__Equation__Group__1 : rule__Equation__Group__1__Impl rule__Equation__Group__2 ;
    public final void rule__Equation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7121:1: ( rule__Equation__Group__1__Impl rule__Equation__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7122:2: rule__Equation__Group__1__Impl rule__Equation__Group__2
            {
            pushFollow(FOLLOW_rule__Equation__Group__1__Impl_in_rule__Equation__Group__114916);
            rule__Equation__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Equation__Group__2_in_rule__Equation__Group__114919);
            rule__Equation__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__1"


    // $ANTLR start "rule__Equation__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7129:1: rule__Equation__Group__1__Impl : ( ( rule__Equation__LeftHandSideAssignment_1 ) ) ;
    public final void rule__Equation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7133:1: ( ( ( rule__Equation__LeftHandSideAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7134:1: ( ( rule__Equation__LeftHandSideAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7134:1: ( ( rule__Equation__LeftHandSideAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7135:1: ( rule__Equation__LeftHandSideAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getLeftHandSideAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7136:1: ( rule__Equation__LeftHandSideAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7136:2: rule__Equation__LeftHandSideAssignment_1
            {
            pushFollow(FOLLOW_rule__Equation__LeftHandSideAssignment_1_in_rule__Equation__Group__1__Impl14946);
            rule__Equation__LeftHandSideAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getLeftHandSideAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__1__Impl"


    // $ANTLR start "rule__Equation__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7146:1: rule__Equation__Group__2 : rule__Equation__Group__2__Impl rule__Equation__Group__3 ;
    public final void rule__Equation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7150:1: ( rule__Equation__Group__2__Impl rule__Equation__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7151:2: rule__Equation__Group__2__Impl rule__Equation__Group__3
            {
            pushFollow(FOLLOW_rule__Equation__Group__2__Impl_in_rule__Equation__Group__214976);
            rule__Equation__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Equation__Group__3_in_rule__Equation__Group__214979);
            rule__Equation__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__2"


    // $ANTLR start "rule__Equation__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7158:1: rule__Equation__Group__2__Impl : ( '=' ) ;
    public final void rule__Equation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7162:1: ( ( '=' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7163:1: ( '=' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7163:1: ( '=' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7164:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getEqualsSignKeyword_2()); 
            }
            match(input,42,FOLLOW_42_in_rule__Equation__Group__2__Impl15007); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getEqualsSignKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__2__Impl"


    // $ANTLR start "rule__Equation__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7177:1: rule__Equation__Group__3 : rule__Equation__Group__3__Impl rule__Equation__Group__4 ;
    public final void rule__Equation__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7181:1: ( rule__Equation__Group__3__Impl rule__Equation__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7182:2: rule__Equation__Group__3__Impl rule__Equation__Group__4
            {
            pushFollow(FOLLOW_rule__Equation__Group__3__Impl_in_rule__Equation__Group__315038);
            rule__Equation__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Equation__Group__4_in_rule__Equation__Group__315041);
            rule__Equation__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__3"


    // $ANTLR start "rule__Equation__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7189:1: rule__Equation__Group__3__Impl : ( ( rule__Equation__RightHandSideAssignment_3 ) ) ;
    public final void rule__Equation__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7193:1: ( ( ( rule__Equation__RightHandSideAssignment_3 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7194:1: ( ( rule__Equation__RightHandSideAssignment_3 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7194:1: ( ( rule__Equation__RightHandSideAssignment_3 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7195:1: ( rule__Equation__RightHandSideAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getRightHandSideAssignment_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7196:1: ( rule__Equation__RightHandSideAssignment_3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7196:2: rule__Equation__RightHandSideAssignment_3
            {
            pushFollow(FOLLOW_rule__Equation__RightHandSideAssignment_3_in_rule__Equation__Group__3__Impl15068);
            rule__Equation__RightHandSideAssignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getRightHandSideAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__3__Impl"


    // $ANTLR start "rule__Equation__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7206:1: rule__Equation__Group__4 : rule__Equation__Group__4__Impl ;
    public final void rule__Equation__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7210:1: ( rule__Equation__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7211:2: rule__Equation__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Equation__Group__4__Impl_in_rule__Equation__Group__415098);
            rule__Equation__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__4"


    // $ANTLR start "rule__Equation__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7217:1: rule__Equation__Group__4__Impl : ( ';' ) ;
    public final void rule__Equation__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7221:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7222:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7222:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7223:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getSemicolonKeyword_4()); 
            }
            match(input,43,FOLLOW_43_in_rule__Equation__Group__4__Impl15126); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getSemicolonKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__Group__4__Impl"


    // $ANTLR start "rule__RealType__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7246:1: rule__RealType__Group__0 : rule__RealType__Group__0__Impl rule__RealType__Group__1 ;
    public final void rule__RealType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7250:1: ( rule__RealType__Group__0__Impl rule__RealType__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7251:2: rule__RealType__Group__0__Impl rule__RealType__Group__1
            {
            pushFollow(FOLLOW_rule__RealType__Group__0__Impl_in_rule__RealType__Group__015167);
            rule__RealType__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RealType__Group__1_in_rule__RealType__Group__015170);
            rule__RealType__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealType__Group__0"


    // $ANTLR start "rule__RealType__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7258:1: rule__RealType__Group__0__Impl : ( () ) ;
    public final void rule__RealType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7262:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7263:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7263:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7264:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealTypeAccess().getRealTypeAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7265:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7267:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealTypeAccess().getRealTypeAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealType__Group__0__Impl"


    // $ANTLR start "rule__RealType__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7277:1: rule__RealType__Group__1 : rule__RealType__Group__1__Impl rule__RealType__Group__2 ;
    public final void rule__RealType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7281:1: ( rule__RealType__Group__1__Impl rule__RealType__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7282:2: rule__RealType__Group__1__Impl rule__RealType__Group__2
            {
            pushFollow(FOLLOW_rule__RealType__Group__1__Impl_in_rule__RealType__Group__115228);
            rule__RealType__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RealType__Group__2_in_rule__RealType__Group__115231);
            rule__RealType__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealType__Group__1"


    // $ANTLR start "rule__RealType__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7289:1: rule__RealType__Group__1__Impl : ( 'real' ) ;
    public final void rule__RealType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7293:1: ( ( 'real' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7294:1: ( 'real' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7294:1: ( 'real' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7295:1: 'real'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealTypeAccess().getRealKeyword_1()); 
            }
            match(input,54,FOLLOW_54_in_rule__RealType__Group__1__Impl15259); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealTypeAccess().getRealKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealType__Group__1__Impl"


    // $ANTLR start "rule__RealType__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7308:1: rule__RealType__Group__2 : rule__RealType__Group__2__Impl ;
    public final void rule__RealType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7312:1: ( rule__RealType__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7313:2: rule__RealType__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__RealType__Group__2__Impl_in_rule__RealType__Group__215290);
            rule__RealType__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealType__Group__2"


    // $ANTLR start "rule__RealType__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7319:1: rule__RealType__Group__2__Impl : ( ( rule__RealType__UnitAssignment_2 ) ) ;
    public final void rule__RealType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7323:1: ( ( ( rule__RealType__UnitAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7324:1: ( ( rule__RealType__UnitAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7324:1: ( ( rule__RealType__UnitAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7325:1: ( rule__RealType__UnitAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealTypeAccess().getUnitAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7326:1: ( rule__RealType__UnitAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7326:2: rule__RealType__UnitAssignment_2
            {
            pushFollow(FOLLOW_rule__RealType__UnitAssignment_2_in_rule__RealType__Group__2__Impl15317);
            rule__RealType__UnitAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealTypeAccess().getUnitAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealType__Group__2__Impl"


    // $ANTLR start "rule__IntegerType__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7342:1: rule__IntegerType__Group__0 : rule__IntegerType__Group__0__Impl rule__IntegerType__Group__1 ;
    public final void rule__IntegerType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7346:1: ( rule__IntegerType__Group__0__Impl rule__IntegerType__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7347:2: rule__IntegerType__Group__0__Impl rule__IntegerType__Group__1
            {
            pushFollow(FOLLOW_rule__IntegerType__Group__0__Impl_in_rule__IntegerType__Group__015353);
            rule__IntegerType__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IntegerType__Group__1_in_rule__IntegerType__Group__015356);
            rule__IntegerType__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerType__Group__0"


    // $ANTLR start "rule__IntegerType__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7354:1: rule__IntegerType__Group__0__Impl : ( () ) ;
    public final void rule__IntegerType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7358:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7359:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7359:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7360:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerTypeAccess().getIntegerTypeAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7361:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7363:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerTypeAccess().getIntegerTypeAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerType__Group__0__Impl"


    // $ANTLR start "rule__IntegerType__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7373:1: rule__IntegerType__Group__1 : rule__IntegerType__Group__1__Impl rule__IntegerType__Group__2 ;
    public final void rule__IntegerType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7377:1: ( rule__IntegerType__Group__1__Impl rule__IntegerType__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7378:2: rule__IntegerType__Group__1__Impl rule__IntegerType__Group__2
            {
            pushFollow(FOLLOW_rule__IntegerType__Group__1__Impl_in_rule__IntegerType__Group__115414);
            rule__IntegerType__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IntegerType__Group__2_in_rule__IntegerType__Group__115417);
            rule__IntegerType__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerType__Group__1"


    // $ANTLR start "rule__IntegerType__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7385:1: rule__IntegerType__Group__1__Impl : ( 'int' ) ;
    public final void rule__IntegerType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7389:1: ( ( 'int' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7390:1: ( 'int' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7390:1: ( 'int' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7391:1: 'int'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerTypeAccess().getIntKeyword_1()); 
            }
            match(input,55,FOLLOW_55_in_rule__IntegerType__Group__1__Impl15445); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerTypeAccess().getIntKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerType__Group__1__Impl"


    // $ANTLR start "rule__IntegerType__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7404:1: rule__IntegerType__Group__2 : rule__IntegerType__Group__2__Impl ;
    public final void rule__IntegerType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7408:1: ( rule__IntegerType__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7409:2: rule__IntegerType__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__IntegerType__Group__2__Impl_in_rule__IntegerType__Group__215476);
            rule__IntegerType__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerType__Group__2"


    // $ANTLR start "rule__IntegerType__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7415:1: rule__IntegerType__Group__2__Impl : ( ( rule__IntegerType__UnitAssignment_2 ) ) ;
    public final void rule__IntegerType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7419:1: ( ( ( rule__IntegerType__UnitAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7420:1: ( ( rule__IntegerType__UnitAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7420:1: ( ( rule__IntegerType__UnitAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7421:1: ( rule__IntegerType__UnitAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerTypeAccess().getUnitAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7422:1: ( rule__IntegerType__UnitAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7422:2: rule__IntegerType__UnitAssignment_2
            {
            pushFollow(FOLLOW_rule__IntegerType__UnitAssignment_2_in_rule__IntegerType__Group__2__Impl15503);
            rule__IntegerType__UnitAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerTypeAccess().getUnitAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerType__Group__2__Impl"


    // $ANTLR start "rule__ComplexType__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7438:1: rule__ComplexType__Group__0 : rule__ComplexType__Group__0__Impl rule__ComplexType__Group__1 ;
    public final void rule__ComplexType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7442:1: ( rule__ComplexType__Group__0__Impl rule__ComplexType__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7443:2: rule__ComplexType__Group__0__Impl rule__ComplexType__Group__1
            {
            pushFollow(FOLLOW_rule__ComplexType__Group__0__Impl_in_rule__ComplexType__Group__015539);
            rule__ComplexType__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ComplexType__Group__1_in_rule__ComplexType__Group__015542);
            rule__ComplexType__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexType__Group__0"


    // $ANTLR start "rule__ComplexType__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7450:1: rule__ComplexType__Group__0__Impl : ( () ) ;
    public final void rule__ComplexType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7454:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7455:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7455:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7456:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getComplexTypeAccess().getComplexTypeAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7457:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7459:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getComplexTypeAccess().getComplexTypeAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexType__Group__0__Impl"


    // $ANTLR start "rule__ComplexType__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7469:1: rule__ComplexType__Group__1 : rule__ComplexType__Group__1__Impl rule__ComplexType__Group__2 ;
    public final void rule__ComplexType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7473:1: ( rule__ComplexType__Group__1__Impl rule__ComplexType__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7474:2: rule__ComplexType__Group__1__Impl rule__ComplexType__Group__2
            {
            pushFollow(FOLLOW_rule__ComplexType__Group__1__Impl_in_rule__ComplexType__Group__115600);
            rule__ComplexType__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ComplexType__Group__2_in_rule__ComplexType__Group__115603);
            rule__ComplexType__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexType__Group__1"


    // $ANTLR start "rule__ComplexType__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7481:1: rule__ComplexType__Group__1__Impl : ( 'complex' ) ;
    public final void rule__ComplexType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7485:1: ( ( 'complex' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7486:1: ( 'complex' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7486:1: ( 'complex' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7487:1: 'complex'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getComplexTypeAccess().getComplexKeyword_1()); 
            }
            match(input,56,FOLLOW_56_in_rule__ComplexType__Group__1__Impl15631); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getComplexTypeAccess().getComplexKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexType__Group__1__Impl"


    // $ANTLR start "rule__ComplexType__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7500:1: rule__ComplexType__Group__2 : rule__ComplexType__Group__2__Impl ;
    public final void rule__ComplexType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7504:1: ( rule__ComplexType__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7505:2: rule__ComplexType__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__ComplexType__Group__2__Impl_in_rule__ComplexType__Group__215662);
            rule__ComplexType__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexType__Group__2"


    // $ANTLR start "rule__ComplexType__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7511:1: rule__ComplexType__Group__2__Impl : ( ( rule__ComplexType__UnitAssignment_2 ) ) ;
    public final void rule__ComplexType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7515:1: ( ( ( rule__ComplexType__UnitAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7516:1: ( ( rule__ComplexType__UnitAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7516:1: ( ( rule__ComplexType__UnitAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7517:1: ( rule__ComplexType__UnitAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getComplexTypeAccess().getUnitAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7518:1: ( rule__ComplexType__UnitAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7518:2: rule__ComplexType__UnitAssignment_2
            {
            pushFollow(FOLLOW_rule__ComplexType__UnitAssignment_2_in_rule__ComplexType__Group__2__Impl15689);
            rule__ComplexType__UnitAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getComplexTypeAccess().getUnitAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexType__Group__2__Impl"


    // $ANTLR start "rule__GaussianType__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7534:1: rule__GaussianType__Group__0 : rule__GaussianType__Group__0__Impl rule__GaussianType__Group__1 ;
    public final void rule__GaussianType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7538:1: ( rule__GaussianType__Group__0__Impl rule__GaussianType__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7539:2: rule__GaussianType__Group__0__Impl rule__GaussianType__Group__1
            {
            pushFollow(FOLLOW_rule__GaussianType__Group__0__Impl_in_rule__GaussianType__Group__015725);
            rule__GaussianType__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__GaussianType__Group__1_in_rule__GaussianType__Group__015728);
            rule__GaussianType__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GaussianType__Group__0"


    // $ANTLR start "rule__GaussianType__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7546:1: rule__GaussianType__Group__0__Impl : ( () ) ;
    public final void rule__GaussianType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7550:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7551:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7551:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7552:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getGaussianTypeAccess().getGaussianTypeAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7553:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7555:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getGaussianTypeAccess().getGaussianTypeAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GaussianType__Group__0__Impl"


    // $ANTLR start "rule__GaussianType__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7565:1: rule__GaussianType__Group__1 : rule__GaussianType__Group__1__Impl rule__GaussianType__Group__2 ;
    public final void rule__GaussianType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7569:1: ( rule__GaussianType__Group__1__Impl rule__GaussianType__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7570:2: rule__GaussianType__Group__1__Impl rule__GaussianType__Group__2
            {
            pushFollow(FOLLOW_rule__GaussianType__Group__1__Impl_in_rule__GaussianType__Group__115786);
            rule__GaussianType__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__GaussianType__Group__2_in_rule__GaussianType__Group__115789);
            rule__GaussianType__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GaussianType__Group__1"


    // $ANTLR start "rule__GaussianType__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7577:1: rule__GaussianType__Group__1__Impl : ( 'gauss' ) ;
    public final void rule__GaussianType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7581:1: ( ( 'gauss' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7582:1: ( 'gauss' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7582:1: ( 'gauss' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7583:1: 'gauss'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getGaussianTypeAccess().getGaussKeyword_1()); 
            }
            match(input,57,FOLLOW_57_in_rule__GaussianType__Group__1__Impl15817); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getGaussianTypeAccess().getGaussKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GaussianType__Group__1__Impl"


    // $ANTLR start "rule__GaussianType__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7596:1: rule__GaussianType__Group__2 : rule__GaussianType__Group__2__Impl ;
    public final void rule__GaussianType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7600:1: ( rule__GaussianType__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7601:2: rule__GaussianType__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__GaussianType__Group__2__Impl_in_rule__GaussianType__Group__215848);
            rule__GaussianType__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GaussianType__Group__2"


    // $ANTLR start "rule__GaussianType__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7607:1: rule__GaussianType__Group__2__Impl : ( ( rule__GaussianType__UnitAssignment_2 ) ) ;
    public final void rule__GaussianType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7611:1: ( ( ( rule__GaussianType__UnitAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7612:1: ( ( rule__GaussianType__UnitAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7612:1: ( ( rule__GaussianType__UnitAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7613:1: ( rule__GaussianType__UnitAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getGaussianTypeAccess().getUnitAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7614:1: ( rule__GaussianType__UnitAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7614:2: rule__GaussianType__UnitAssignment_2
            {
            pushFollow(FOLLOW_rule__GaussianType__UnitAssignment_2_in_rule__GaussianType__Group__2__Impl15875);
            rule__GaussianType__UnitAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getGaussianTypeAccess().getUnitAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GaussianType__Group__2__Impl"


    // $ANTLR start "rule__BooleanType__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7630:1: rule__BooleanType__Group__0 : rule__BooleanType__Group__0__Impl rule__BooleanType__Group__1 ;
    public final void rule__BooleanType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7634:1: ( rule__BooleanType__Group__0__Impl rule__BooleanType__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7635:2: rule__BooleanType__Group__0__Impl rule__BooleanType__Group__1
            {
            pushFollow(FOLLOW_rule__BooleanType__Group__0__Impl_in_rule__BooleanType__Group__015911);
            rule__BooleanType__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__BooleanType__Group__1_in_rule__BooleanType__Group__015914);
            rule__BooleanType__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanType__Group__0"


    // $ANTLR start "rule__BooleanType__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7642:1: rule__BooleanType__Group__0__Impl : ( () ) ;
    public final void rule__BooleanType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7646:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7647:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7647:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7648:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanTypeAccess().getBooleanTypeAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7649:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7651:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanTypeAccess().getBooleanTypeAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanType__Group__0__Impl"


    // $ANTLR start "rule__BooleanType__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7661:1: rule__BooleanType__Group__1 : rule__BooleanType__Group__1__Impl ;
    public final void rule__BooleanType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7665:1: ( rule__BooleanType__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7666:2: rule__BooleanType__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__BooleanType__Group__1__Impl_in_rule__BooleanType__Group__115972);
            rule__BooleanType__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanType__Group__1"


    // $ANTLR start "rule__BooleanType__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7672:1: rule__BooleanType__Group__1__Impl : ( 'bool' ) ;
    public final void rule__BooleanType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7676:1: ( ( 'bool' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7677:1: ( 'bool' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7677:1: ( 'bool' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7678:1: 'bool'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanTypeAccess().getBoolKeyword_1()); 
            }
            match(input,58,FOLLOW_58_in_rule__BooleanType__Group__1__Impl16000); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanTypeAccess().getBoolKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanType__Group__1__Impl"


    // $ANTLR start "rule__StringType__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7695:1: rule__StringType__Group__0 : rule__StringType__Group__0__Impl rule__StringType__Group__1 ;
    public final void rule__StringType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7699:1: ( rule__StringType__Group__0__Impl rule__StringType__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7700:2: rule__StringType__Group__0__Impl rule__StringType__Group__1
            {
            pushFollow(FOLLOW_rule__StringType__Group__0__Impl_in_rule__StringType__Group__016035);
            rule__StringType__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__StringType__Group__1_in_rule__StringType__Group__016038);
            rule__StringType__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringType__Group__0"


    // $ANTLR start "rule__StringType__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7707:1: rule__StringType__Group__0__Impl : ( () ) ;
    public final void rule__StringType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7711:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7712:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7712:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7713:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStringTypeAccess().getStringTypeAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7714:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7716:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getStringTypeAccess().getStringTypeAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringType__Group__0__Impl"


    // $ANTLR start "rule__StringType__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7726:1: rule__StringType__Group__1 : rule__StringType__Group__1__Impl ;
    public final void rule__StringType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7730:1: ( rule__StringType__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7731:2: rule__StringType__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__StringType__Group__1__Impl_in_rule__StringType__Group__116096);
            rule__StringType__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringType__Group__1"


    // $ANTLR start "rule__StringType__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7737:1: rule__StringType__Group__1__Impl : ( 'string' ) ;
    public final void rule__StringType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7741:1: ( ( 'string' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7742:1: ( 'string' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7742:1: ( 'string' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7743:1: 'string'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStringTypeAccess().getStringKeyword_1()); 
            }
            match(input,59,FOLLOW_59_in_rule__StringType__Group__1__Impl16124); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStringTypeAccess().getStringKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringType__Group__1__Impl"


    // $ANTLR start "rule__ArrayType__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7760:1: rule__ArrayType__Group_1__0 : rule__ArrayType__Group_1__0__Impl rule__ArrayType__Group_1__1 ;
    public final void rule__ArrayType__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7764:1: ( rule__ArrayType__Group_1__0__Impl rule__ArrayType__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7765:2: rule__ArrayType__Group_1__0__Impl rule__ArrayType__Group_1__1
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1__0__Impl_in_rule__ArrayType__Group_1__016159);
            rule__ArrayType__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayType__Group_1__1_in_rule__ArrayType__Group_1__016162);
            rule__ArrayType__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__0"


    // $ANTLR start "rule__ArrayType__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7772:1: rule__ArrayType__Group_1__0__Impl : ( ( rule__ArrayType__Group_1_0__0 ) ) ;
    public final void rule__ArrayType__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7776:1: ( ( ( rule__ArrayType__Group_1_0__0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7777:1: ( ( rule__ArrayType__Group_1_0__0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7777:1: ( ( rule__ArrayType__Group_1_0__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7778:1: ( rule__ArrayType__Group_1_0__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getGroup_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7779:1: ( rule__ArrayType__Group_1_0__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7779:2: rule__ArrayType__Group_1_0__0
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1_0__0_in_rule__ArrayType__Group_1__0__Impl16189);
            rule__ArrayType__Group_1_0__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getGroup_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__0__Impl"


    // $ANTLR start "rule__ArrayType__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7789:1: rule__ArrayType__Group_1__1 : rule__ArrayType__Group_1__1__Impl rule__ArrayType__Group_1__2 ;
    public final void rule__ArrayType__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7793:1: ( rule__ArrayType__Group_1__1__Impl rule__ArrayType__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7794:2: rule__ArrayType__Group_1__1__Impl rule__ArrayType__Group_1__2
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1__1__Impl_in_rule__ArrayType__Group_1__116219);
            rule__ArrayType__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayType__Group_1__2_in_rule__ArrayType__Group_1__116222);
            rule__ArrayType__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__1"


    // $ANTLR start "rule__ArrayType__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7801:1: rule__ArrayType__Group_1__1__Impl : ( '[' ) ;
    public final void rule__ArrayType__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7805:1: ( ( '[' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7806:1: ( '[' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7806:1: ( '[' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7807:1: '['
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getLeftSquareBracketKeyword_1_1()); 
            }
            match(input,60,FOLLOW_60_in_rule__ArrayType__Group_1__1__Impl16250); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getLeftSquareBracketKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__1__Impl"


    // $ANTLR start "rule__ArrayType__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7820:1: rule__ArrayType__Group_1__2 : rule__ArrayType__Group_1__2__Impl rule__ArrayType__Group_1__3 ;
    public final void rule__ArrayType__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7824:1: ( rule__ArrayType__Group_1__2__Impl rule__ArrayType__Group_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7825:2: rule__ArrayType__Group_1__2__Impl rule__ArrayType__Group_1__3
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1__2__Impl_in_rule__ArrayType__Group_1__216281);
            rule__ArrayType__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayType__Group_1__3_in_rule__ArrayType__Group_1__216284);
            rule__ArrayType__Group_1__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__2"


    // $ANTLR start "rule__ArrayType__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7832:1: rule__ArrayType__Group_1__2__Impl : ( ( rule__ArrayType__DimensionsAssignment_1_2 ) ) ;
    public final void rule__ArrayType__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7836:1: ( ( ( rule__ArrayType__DimensionsAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7837:1: ( ( rule__ArrayType__DimensionsAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7837:1: ( ( rule__ArrayType__DimensionsAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7838:1: ( rule__ArrayType__DimensionsAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getDimensionsAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7839:1: ( rule__ArrayType__DimensionsAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7839:2: rule__ArrayType__DimensionsAssignment_1_2
            {
            pushFollow(FOLLOW_rule__ArrayType__DimensionsAssignment_1_2_in_rule__ArrayType__Group_1__2__Impl16311);
            rule__ArrayType__DimensionsAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getDimensionsAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__2__Impl"


    // $ANTLR start "rule__ArrayType__Group_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7849:1: rule__ArrayType__Group_1__3 : rule__ArrayType__Group_1__3__Impl rule__ArrayType__Group_1__4 ;
    public final void rule__ArrayType__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7853:1: ( rule__ArrayType__Group_1__3__Impl rule__ArrayType__Group_1__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7854:2: rule__ArrayType__Group_1__3__Impl rule__ArrayType__Group_1__4
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1__3__Impl_in_rule__ArrayType__Group_1__316341);
            rule__ArrayType__Group_1__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayType__Group_1__4_in_rule__ArrayType__Group_1__316344);
            rule__ArrayType__Group_1__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__3"


    // $ANTLR start "rule__ArrayType__Group_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7861:1: rule__ArrayType__Group_1__3__Impl : ( ( rule__ArrayType__Group_1_3__0 )* ) ;
    public final void rule__ArrayType__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7865:1: ( ( ( rule__ArrayType__Group_1_3__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7866:1: ( ( rule__ArrayType__Group_1_3__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7866:1: ( ( rule__ArrayType__Group_1_3__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7867:1: ( rule__ArrayType__Group_1_3__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getGroup_1_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7868:1: ( rule__ArrayType__Group_1_3__0 )*
            loop61:
            do {
                int alt61=2;
                int LA61_0 = input.LA(1);

                if ( (LA61_0==40) ) {
                    alt61=1;
                }


                switch (alt61) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7868:2: rule__ArrayType__Group_1_3__0
            	    {
            	    pushFollow(FOLLOW_rule__ArrayType__Group_1_3__0_in_rule__ArrayType__Group_1__3__Impl16371);
            	    rule__ArrayType__Group_1_3__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop61;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getGroup_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__3__Impl"


    // $ANTLR start "rule__ArrayType__Group_1__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7878:1: rule__ArrayType__Group_1__4 : rule__ArrayType__Group_1__4__Impl ;
    public final void rule__ArrayType__Group_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7882:1: ( rule__ArrayType__Group_1__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7883:2: rule__ArrayType__Group_1__4__Impl
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1__4__Impl_in_rule__ArrayType__Group_1__416402);
            rule__ArrayType__Group_1__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__4"


    // $ANTLR start "rule__ArrayType__Group_1__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7889:1: rule__ArrayType__Group_1__4__Impl : ( ']' ) ;
    public final void rule__ArrayType__Group_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7893:1: ( ( ']' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7894:1: ( ']' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7894:1: ( ']' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7895:1: ']'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getRightSquareBracketKeyword_1_4()); 
            }
            match(input,61,FOLLOW_61_in_rule__ArrayType__Group_1__4__Impl16430); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getRightSquareBracketKeyword_1_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1__4__Impl"


    // $ANTLR start "rule__ArrayType__Group_1_0__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7918:1: rule__ArrayType__Group_1_0__0 : rule__ArrayType__Group_1_0__0__Impl ;
    public final void rule__ArrayType__Group_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7922:1: ( rule__ArrayType__Group_1_0__0__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7923:2: rule__ArrayType__Group_1_0__0__Impl
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1_0__0__Impl_in_rule__ArrayType__Group_1_0__016471);
            rule__ArrayType__Group_1_0__0__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1_0__0"


    // $ANTLR start "rule__ArrayType__Group_1_0__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7929:1: rule__ArrayType__Group_1_0__0__Impl : ( ( rule__ArrayType__Alternatives_1_0_0 ) ) ;
    public final void rule__ArrayType__Group_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7933:1: ( ( ( rule__ArrayType__Alternatives_1_0_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7934:1: ( ( rule__ArrayType__Alternatives_1_0_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7934:1: ( ( rule__ArrayType__Alternatives_1_0_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7935:1: ( rule__ArrayType__Alternatives_1_0_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getAlternatives_1_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7936:1: ( rule__ArrayType__Alternatives_1_0_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7936:2: rule__ArrayType__Alternatives_1_0_0
            {
            pushFollow(FOLLOW_rule__ArrayType__Alternatives_1_0_0_in_rule__ArrayType__Group_1_0__0__Impl16498);
            rule__ArrayType__Alternatives_1_0_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getAlternatives_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1_0__0__Impl"


    // $ANTLR start "rule__ArrayType__Group_1_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7948:1: rule__ArrayType__Group_1_3__0 : rule__ArrayType__Group_1_3__0__Impl rule__ArrayType__Group_1_3__1 ;
    public final void rule__ArrayType__Group_1_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7952:1: ( rule__ArrayType__Group_1_3__0__Impl rule__ArrayType__Group_1_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7953:2: rule__ArrayType__Group_1_3__0__Impl rule__ArrayType__Group_1_3__1
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1_3__0__Impl_in_rule__ArrayType__Group_1_3__016530);
            rule__ArrayType__Group_1_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayType__Group_1_3__1_in_rule__ArrayType__Group_1_3__016533);
            rule__ArrayType__Group_1_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1_3__0"


    // $ANTLR start "rule__ArrayType__Group_1_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7960:1: rule__ArrayType__Group_1_3__0__Impl : ( ',' ) ;
    public final void rule__ArrayType__Group_1_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7964:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7965:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7965:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7966:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getCommaKeyword_1_3_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__ArrayType__Group_1_3__0__Impl16561); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getCommaKeyword_1_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1_3__0__Impl"


    // $ANTLR start "rule__ArrayType__Group_1_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7979:1: rule__ArrayType__Group_1_3__1 : rule__ArrayType__Group_1_3__1__Impl ;
    public final void rule__ArrayType__Group_1_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7983:1: ( rule__ArrayType__Group_1_3__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7984:2: rule__ArrayType__Group_1_3__1__Impl
            {
            pushFollow(FOLLOW_rule__ArrayType__Group_1_3__1__Impl_in_rule__ArrayType__Group_1_3__116592);
            rule__ArrayType__Group_1_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1_3__1"


    // $ANTLR start "rule__ArrayType__Group_1_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7990:1: rule__ArrayType__Group_1_3__1__Impl : ( ( rule__ArrayType__DimensionsAssignment_1_3_1 ) ) ;
    public final void rule__ArrayType__Group_1_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7994:1: ( ( ( rule__ArrayType__DimensionsAssignment_1_3_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7995:1: ( ( rule__ArrayType__DimensionsAssignment_1_3_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7995:1: ( ( rule__ArrayType__DimensionsAssignment_1_3_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7996:1: ( rule__ArrayType__DimensionsAssignment_1_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getDimensionsAssignment_1_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7997:1: ( rule__ArrayType__DimensionsAssignment_1_3_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:7997:2: rule__ArrayType__DimensionsAssignment_1_3_1
            {
            pushFollow(FOLLOW_rule__ArrayType__DimensionsAssignment_1_3_1_in_rule__ArrayType__Group_1_3__1__Impl16619);
            rule__ArrayType__DimensionsAssignment_1_3_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getDimensionsAssignment_1_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__Group_1_3__1__Impl"


    // $ANTLR start "rule__TensorType__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8011:1: rule__TensorType__Group__0 : rule__TensorType__Group__0__Impl rule__TensorType__Group__1 ;
    public final void rule__TensorType__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8015:1: ( rule__TensorType__Group__0__Impl rule__TensorType__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8016:2: rule__TensorType__Group__0__Impl rule__TensorType__Group__1
            {
            pushFollow(FOLLOW_rule__TensorType__Group__0__Impl_in_rule__TensorType__Group__016653);
            rule__TensorType__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TensorType__Group__1_in_rule__TensorType__Group__016656);
            rule__TensorType__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__0"


    // $ANTLR start "rule__TensorType__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8023:1: rule__TensorType__Group__0__Impl : ( ( rule__TensorType__DefinedElementTypeAssignment_0 ) ) ;
    public final void rule__TensorType__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8027:1: ( ( ( rule__TensorType__DefinedElementTypeAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8028:1: ( ( rule__TensorType__DefinedElementTypeAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8028:1: ( ( rule__TensorType__DefinedElementTypeAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8029:1: ( rule__TensorType__DefinedElementTypeAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getDefinedElementTypeAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8030:1: ( rule__TensorType__DefinedElementTypeAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8030:2: rule__TensorType__DefinedElementTypeAssignment_0
            {
            pushFollow(FOLLOW_rule__TensorType__DefinedElementTypeAssignment_0_in_rule__TensorType__Group__0__Impl16683);
            rule__TensorType__DefinedElementTypeAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getDefinedElementTypeAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__0__Impl"


    // $ANTLR start "rule__TensorType__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8040:1: rule__TensorType__Group__1 : rule__TensorType__Group__1__Impl rule__TensorType__Group__2 ;
    public final void rule__TensorType__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8044:1: ( rule__TensorType__Group__1__Impl rule__TensorType__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8045:2: rule__TensorType__Group__1__Impl rule__TensorType__Group__2
            {
            pushFollow(FOLLOW_rule__TensorType__Group__1__Impl_in_rule__TensorType__Group__116713);
            rule__TensorType__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TensorType__Group__2_in_rule__TensorType__Group__116716);
            rule__TensorType__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__1"


    // $ANTLR start "rule__TensorType__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8052:1: rule__TensorType__Group__1__Impl : ( '[' ) ;
    public final void rule__TensorType__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8056:1: ( ( '[' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8057:1: ( '[' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8057:1: ( '[' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8058:1: '['
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getLeftSquareBracketKeyword_1()); 
            }
            match(input,60,FOLLOW_60_in_rule__TensorType__Group__1__Impl16744); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getLeftSquareBracketKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__1__Impl"


    // $ANTLR start "rule__TensorType__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8071:1: rule__TensorType__Group__2 : rule__TensorType__Group__2__Impl rule__TensorType__Group__3 ;
    public final void rule__TensorType__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8075:1: ( rule__TensorType__Group__2__Impl rule__TensorType__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8076:2: rule__TensorType__Group__2__Impl rule__TensorType__Group__3
            {
            pushFollow(FOLLOW_rule__TensorType__Group__2__Impl_in_rule__TensorType__Group__216775);
            rule__TensorType__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TensorType__Group__3_in_rule__TensorType__Group__216778);
            rule__TensorType__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__2"


    // $ANTLR start "rule__TensorType__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8083:1: rule__TensorType__Group__2__Impl : ( ( rule__TensorType__DimensionsAssignment_2 ) ) ;
    public final void rule__TensorType__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8087:1: ( ( ( rule__TensorType__DimensionsAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8088:1: ( ( rule__TensorType__DimensionsAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8088:1: ( ( rule__TensorType__DimensionsAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8089:1: ( rule__TensorType__DimensionsAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getDimensionsAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8090:1: ( rule__TensorType__DimensionsAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8090:2: rule__TensorType__DimensionsAssignment_2
            {
            pushFollow(FOLLOW_rule__TensorType__DimensionsAssignment_2_in_rule__TensorType__Group__2__Impl16805);
            rule__TensorType__DimensionsAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getDimensionsAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__2__Impl"


    // $ANTLR start "rule__TensorType__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8100:1: rule__TensorType__Group__3 : rule__TensorType__Group__3__Impl rule__TensorType__Group__4 ;
    public final void rule__TensorType__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8104:1: ( rule__TensorType__Group__3__Impl rule__TensorType__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8105:2: rule__TensorType__Group__3__Impl rule__TensorType__Group__4
            {
            pushFollow(FOLLOW_rule__TensorType__Group__3__Impl_in_rule__TensorType__Group__316835);
            rule__TensorType__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TensorType__Group__4_in_rule__TensorType__Group__316838);
            rule__TensorType__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__3"


    // $ANTLR start "rule__TensorType__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8112:1: rule__TensorType__Group__3__Impl : ( ( rule__TensorType__Group_3__0 )* ) ;
    public final void rule__TensorType__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8116:1: ( ( ( rule__TensorType__Group_3__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8117:1: ( ( rule__TensorType__Group_3__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8117:1: ( ( rule__TensorType__Group_3__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8118:1: ( rule__TensorType__Group_3__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getGroup_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8119:1: ( rule__TensorType__Group_3__0 )*
            loop62:
            do {
                int alt62=2;
                int LA62_0 = input.LA(1);

                if ( (LA62_0==40) ) {
                    alt62=1;
                }


                switch (alt62) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8119:2: rule__TensorType__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__TensorType__Group_3__0_in_rule__TensorType__Group__3__Impl16865);
            	    rule__TensorType__Group_3__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop62;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__3__Impl"


    // $ANTLR start "rule__TensorType__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8129:1: rule__TensorType__Group__4 : rule__TensorType__Group__4__Impl ;
    public final void rule__TensorType__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8133:1: ( rule__TensorType__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8134:2: rule__TensorType__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__TensorType__Group__4__Impl_in_rule__TensorType__Group__416896);
            rule__TensorType__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__4"


    // $ANTLR start "rule__TensorType__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8140:1: rule__TensorType__Group__4__Impl : ( ']' ) ;
    public final void rule__TensorType__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8144:1: ( ( ']' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8145:1: ( ']' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8145:1: ( ']' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8146:1: ']'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getRightSquareBracketKeyword_4()); 
            }
            match(input,61,FOLLOW_61_in_rule__TensorType__Group__4__Impl16924); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getRightSquareBracketKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group__4__Impl"


    // $ANTLR start "rule__TensorType__Group_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8169:1: rule__TensorType__Group_3__0 : rule__TensorType__Group_3__0__Impl rule__TensorType__Group_3__1 ;
    public final void rule__TensorType__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8173:1: ( rule__TensorType__Group_3__0__Impl rule__TensorType__Group_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8174:2: rule__TensorType__Group_3__0__Impl rule__TensorType__Group_3__1
            {
            pushFollow(FOLLOW_rule__TensorType__Group_3__0__Impl_in_rule__TensorType__Group_3__016965);
            rule__TensorType__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__TensorType__Group_3__1_in_rule__TensorType__Group_3__016968);
            rule__TensorType__Group_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group_3__0"


    // $ANTLR start "rule__TensorType__Group_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8181:1: rule__TensorType__Group_3__0__Impl : ( ',' ) ;
    public final void rule__TensorType__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8185:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8186:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8186:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8187:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getCommaKeyword_3_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__TensorType__Group_3__0__Impl16996); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getCommaKeyword_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group_3__0__Impl"


    // $ANTLR start "rule__TensorType__Group_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8200:1: rule__TensorType__Group_3__1 : rule__TensorType__Group_3__1__Impl ;
    public final void rule__TensorType__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8204:1: ( rule__TensorType__Group_3__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8205:2: rule__TensorType__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__TensorType__Group_3__1__Impl_in_rule__TensorType__Group_3__117027);
            rule__TensorType__Group_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group_3__1"


    // $ANTLR start "rule__TensorType__Group_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8211:1: rule__TensorType__Group_3__1__Impl : ( ( rule__TensorType__DimensionsAssignment_3_1 ) ) ;
    public final void rule__TensorType__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8215:1: ( ( ( rule__TensorType__DimensionsAssignment_3_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8216:1: ( ( rule__TensorType__DimensionsAssignment_3_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8216:1: ( ( rule__TensorType__DimensionsAssignment_3_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8217:1: ( rule__TensorType__DimensionsAssignment_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getDimensionsAssignment_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8218:1: ( rule__TensorType__DimensionsAssignment_3_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8218:2: rule__TensorType__DimensionsAssignment_3_1
            {
            pushFollow(FOLLOW_rule__TensorType__DimensionsAssignment_3_1_in_rule__TensorType__Group_3__1__Impl17054);
            rule__TensorType__DimensionsAssignment_3_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getDimensionsAssignment_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__Group_3__1__Impl"


    // $ANTLR start "rule__ArrayDimension__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8232:1: rule__ArrayDimension__Group__0 : rule__ArrayDimension__Group__0__Impl rule__ArrayDimension__Group__1 ;
    public final void rule__ArrayDimension__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8236:1: ( rule__ArrayDimension__Group__0__Impl rule__ArrayDimension__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8237:2: rule__ArrayDimension__Group__0__Impl rule__ArrayDimension__Group__1
            {
            pushFollow(FOLLOW_rule__ArrayDimension__Group__0__Impl_in_rule__ArrayDimension__Group__017088);
            rule__ArrayDimension__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayDimension__Group__1_in_rule__ArrayDimension__Group__017091);
            rule__ArrayDimension__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayDimension__Group__0"


    // $ANTLR start "rule__ArrayDimension__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8244:1: rule__ArrayDimension__Group__0__Impl : ( () ) ;
    public final void rule__ArrayDimension__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8248:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8249:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8249:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8250:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayDimensionAccess().getArrayDimensionAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8251:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8253:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayDimensionAccess().getArrayDimensionAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayDimension__Group__0__Impl"


    // $ANTLR start "rule__ArrayDimension__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8263:1: rule__ArrayDimension__Group__1 : rule__ArrayDimension__Group__1__Impl ;
    public final void rule__ArrayDimension__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8267:1: ( rule__ArrayDimension__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8268:2: rule__ArrayDimension__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__ArrayDimension__Group__1__Impl_in_rule__ArrayDimension__Group__117149);
            rule__ArrayDimension__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayDimension__Group__1"


    // $ANTLR start "rule__ArrayDimension__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8274:1: rule__ArrayDimension__Group__1__Impl : ( ( rule__ArrayDimension__SizeAssignment_1 )? ) ;
    public final void rule__ArrayDimension__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8278:1: ( ( ( rule__ArrayDimension__SizeAssignment_1 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8279:1: ( ( rule__ArrayDimension__SizeAssignment_1 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8279:1: ( ( rule__ArrayDimension__SizeAssignment_1 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8280:1: ( rule__ArrayDimension__SizeAssignment_1 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayDimensionAccess().getSizeAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8281:1: ( rule__ArrayDimension__SizeAssignment_1 )?
            int alt63=2;
            int LA63_0 = input.LA(1);

            if ( ((LA63_0>=RULE_REAL && LA63_0<=RULE_STRING)||LA63_0==15||LA63_0==29||LA63_0==36||LA63_0==38||LA63_0==47||LA63_0==60||LA63_0==62||LA63_0==64||LA63_0==67||LA63_0==77||(LA63_0>=79 && LA63_0<=81)||LA63_0==88||LA63_0==90) ) {
                alt63=1;
            }
            switch (alt63) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8281:2: rule__ArrayDimension__SizeAssignment_1
                    {
                    pushFollow(FOLLOW_rule__ArrayDimension__SizeAssignment_1_in_rule__ArrayDimension__Group__1__Impl17176);
                    rule__ArrayDimension__SizeAssignment_1();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayDimensionAccess().getSizeAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayDimension__Group__1__Impl"


    // $ANTLR start "rule__LetExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8295:1: rule__LetExpression__Group__0 : rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 ;
    public final void rule__LetExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8299:1: ( rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8300:2: rule__LetExpression__Group__0__Impl rule__LetExpression__Group__1
            {
            pushFollow(FOLLOW_rule__LetExpression__Group__0__Impl_in_rule__LetExpression__Group__017211);
            rule__LetExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpression__Group__1_in_rule__LetExpression__Group__017214);
            rule__LetExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__0"


    // $ANTLR start "rule__LetExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8307:1: rule__LetExpression__Group__0__Impl : ( 'let' ) ;
    public final void rule__LetExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8311:1: ( ( 'let' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8312:1: ( 'let' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8312:1: ( 'let' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8313:1: 'let'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); 
            }
            match(input,62,FOLLOW_62_in_rule__LetExpression__Group__0__Impl17242); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getLetKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__0__Impl"


    // $ANTLR start "rule__LetExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8326:1: rule__LetExpression__Group__1 : rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 ;
    public final void rule__LetExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8330:1: ( rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8331:2: rule__LetExpression__Group__1__Impl rule__LetExpression__Group__2
            {
            pushFollow(FOLLOW_rule__LetExpression__Group__1__Impl_in_rule__LetExpression__Group__117273);
            rule__LetExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpression__Group__2_in_rule__LetExpression__Group__117276);
            rule__LetExpression__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__1"


    // $ANTLR start "rule__LetExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8338:1: rule__LetExpression__Group__1__Impl : ( ( rule__LetExpression__VariableDeclarationsAssignment_1 ) ) ;
    public final void rule__LetExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8342:1: ( ( ( rule__LetExpression__VariableDeclarationsAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8343:1: ( ( rule__LetExpression__VariableDeclarationsAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8343:1: ( ( rule__LetExpression__VariableDeclarationsAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8344:1: ( rule__LetExpression__VariableDeclarationsAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getVariableDeclarationsAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8345:1: ( rule__LetExpression__VariableDeclarationsAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8345:2: rule__LetExpression__VariableDeclarationsAssignment_1
            {
            pushFollow(FOLLOW_rule__LetExpression__VariableDeclarationsAssignment_1_in_rule__LetExpression__Group__1__Impl17303);
            rule__LetExpression__VariableDeclarationsAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getVariableDeclarationsAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__1__Impl"


    // $ANTLR start "rule__LetExpression__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8355:1: rule__LetExpression__Group__2 : rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 ;
    public final void rule__LetExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8359:1: ( rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8360:2: rule__LetExpression__Group__2__Impl rule__LetExpression__Group__3
            {
            pushFollow(FOLLOW_rule__LetExpression__Group__2__Impl_in_rule__LetExpression__Group__217333);
            rule__LetExpression__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpression__Group__3_in_rule__LetExpression__Group__217336);
            rule__LetExpression__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__2"


    // $ANTLR start "rule__LetExpression__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8367:1: rule__LetExpression__Group__2__Impl : ( ( rule__LetExpression__Group_2__0 )* ) ;
    public final void rule__LetExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8371:1: ( ( ( rule__LetExpression__Group_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8372:1: ( ( rule__LetExpression__Group_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8372:1: ( ( rule__LetExpression__Group_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8373:1: ( rule__LetExpression__Group_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getGroup_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8374:1: ( rule__LetExpression__Group_2__0 )*
            loop64:
            do {
                int alt64=2;
                int LA64_0 = input.LA(1);

                if ( (LA64_0==40) ) {
                    alt64=1;
                }


                switch (alt64) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8374:2: rule__LetExpression__Group_2__0
            	    {
            	    pushFollow(FOLLOW_rule__LetExpression__Group_2__0_in_rule__LetExpression__Group__2__Impl17363);
            	    rule__LetExpression__Group_2__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop64;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__2__Impl"


    // $ANTLR start "rule__LetExpression__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8384:1: rule__LetExpression__Group__3 : rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 ;
    public final void rule__LetExpression__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8388:1: ( rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8389:2: rule__LetExpression__Group__3__Impl rule__LetExpression__Group__4
            {
            pushFollow(FOLLOW_rule__LetExpression__Group__3__Impl_in_rule__LetExpression__Group__317394);
            rule__LetExpression__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpression__Group__4_in_rule__LetExpression__Group__317397);
            rule__LetExpression__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__3"


    // $ANTLR start "rule__LetExpression__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8396:1: rule__LetExpression__Group__3__Impl : ( 'in' ) ;
    public final void rule__LetExpression__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8400:1: ( ( 'in' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8401:1: ( 'in' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8401:1: ( 'in' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8402:1: 'in'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getInKeyword_3()); 
            }
            match(input,63,FOLLOW_63_in_rule__LetExpression__Group__3__Impl17425); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getInKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__3__Impl"


    // $ANTLR start "rule__LetExpression__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8415:1: rule__LetExpression__Group__4 : rule__LetExpression__Group__4__Impl ;
    public final void rule__LetExpression__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8419:1: ( rule__LetExpression__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8420:2: rule__LetExpression__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__LetExpression__Group__4__Impl_in_rule__LetExpression__Group__417456);
            rule__LetExpression__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__4"


    // $ANTLR start "rule__LetExpression__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8426:1: rule__LetExpression__Group__4__Impl : ( ( rule__LetExpression__TargetExpressionAssignment_4 ) ) ;
    public final void rule__LetExpression__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8430:1: ( ( ( rule__LetExpression__TargetExpressionAssignment_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8431:1: ( ( rule__LetExpression__TargetExpressionAssignment_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8431:1: ( ( rule__LetExpression__TargetExpressionAssignment_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8432:1: ( rule__LetExpression__TargetExpressionAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getTargetExpressionAssignment_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8433:1: ( rule__LetExpression__TargetExpressionAssignment_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8433:2: rule__LetExpression__TargetExpressionAssignment_4
            {
            pushFollow(FOLLOW_rule__LetExpression__TargetExpressionAssignment_4_in_rule__LetExpression__Group__4__Impl17483);
            rule__LetExpression__TargetExpressionAssignment_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getTargetExpressionAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group__4__Impl"


    // $ANTLR start "rule__LetExpression__Group_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8453:1: rule__LetExpression__Group_2__0 : rule__LetExpression__Group_2__0__Impl rule__LetExpression__Group_2__1 ;
    public final void rule__LetExpression__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8457:1: ( rule__LetExpression__Group_2__0__Impl rule__LetExpression__Group_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8458:2: rule__LetExpression__Group_2__0__Impl rule__LetExpression__Group_2__1
            {
            pushFollow(FOLLOW_rule__LetExpression__Group_2__0__Impl_in_rule__LetExpression__Group_2__017523);
            rule__LetExpression__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpression__Group_2__1_in_rule__LetExpression__Group_2__017526);
            rule__LetExpression__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group_2__0"


    // $ANTLR start "rule__LetExpression__Group_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8465:1: rule__LetExpression__Group_2__0__Impl : ( ',' ) ;
    public final void rule__LetExpression__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8469:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8470:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8470:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8471:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getCommaKeyword_2_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__LetExpression__Group_2__0__Impl17554); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getCommaKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group_2__0__Impl"


    // $ANTLR start "rule__LetExpression__Group_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8484:1: rule__LetExpression__Group_2__1 : rule__LetExpression__Group_2__1__Impl ;
    public final void rule__LetExpression__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8488:1: ( rule__LetExpression__Group_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8489:2: rule__LetExpression__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__LetExpression__Group_2__1__Impl_in_rule__LetExpression__Group_2__117585);
            rule__LetExpression__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group_2__1"


    // $ANTLR start "rule__LetExpression__Group_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8495:1: rule__LetExpression__Group_2__1__Impl : ( ( rule__LetExpression__VariableDeclarationsAssignment_2_1 ) ) ;
    public final void rule__LetExpression__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8499:1: ( ( ( rule__LetExpression__VariableDeclarationsAssignment_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8500:1: ( ( rule__LetExpression__VariableDeclarationsAssignment_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8500:1: ( ( rule__LetExpression__VariableDeclarationsAssignment_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8501:1: ( rule__LetExpression__VariableDeclarationsAssignment_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getVariableDeclarationsAssignment_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8502:1: ( rule__LetExpression__VariableDeclarationsAssignment_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8502:2: rule__LetExpression__VariableDeclarationsAssignment_2_1
            {
            pushFollow(FOLLOW_rule__LetExpression__VariableDeclarationsAssignment_2_1_in_rule__LetExpression__Group_2__1__Impl17612);
            rule__LetExpression__VariableDeclarationsAssignment_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getVariableDeclarationsAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__Group_2__1__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8516:1: rule__LetExpressionVariableDeclaration__Group__0 : rule__LetExpressionVariableDeclaration__Group__0__Impl rule__LetExpressionVariableDeclaration__Group__1 ;
    public final void rule__LetExpressionVariableDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8520:1: ( rule__LetExpressionVariableDeclaration__Group__0__Impl rule__LetExpressionVariableDeclaration__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8521:2: rule__LetExpressionVariableDeclaration__Group__0__Impl rule__LetExpressionVariableDeclaration__Group__1
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group__0__Impl_in_rule__LetExpressionVariableDeclaration__Group__017646);
            rule__LetExpressionVariableDeclaration__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group__1_in_rule__LetExpressionVariableDeclaration__Group__017649);
            rule__LetExpressionVariableDeclaration__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group__0"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8528:1: rule__LetExpressionVariableDeclaration__Group__0__Impl : ( ( rule__LetExpressionVariableDeclaration__Alternatives_0 ) ) ;
    public final void rule__LetExpressionVariableDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8532:1: ( ( ( rule__LetExpressionVariableDeclaration__Alternatives_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8533:1: ( ( rule__LetExpressionVariableDeclaration__Alternatives_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8533:1: ( ( rule__LetExpressionVariableDeclaration__Alternatives_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8534:1: ( rule__LetExpressionVariableDeclaration__Alternatives_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getAlternatives_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8535:1: ( rule__LetExpressionVariableDeclaration__Alternatives_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8535:2: rule__LetExpressionVariableDeclaration__Alternatives_0
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Alternatives_0_in_rule__LetExpressionVariableDeclaration__Group__0__Impl17676);
            rule__LetExpressionVariableDeclaration__Alternatives_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getAlternatives_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group__0__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8545:1: rule__LetExpressionVariableDeclaration__Group__1 : rule__LetExpressionVariableDeclaration__Group__1__Impl rule__LetExpressionVariableDeclaration__Group__2 ;
    public final void rule__LetExpressionVariableDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8549:1: ( rule__LetExpressionVariableDeclaration__Group__1__Impl rule__LetExpressionVariableDeclaration__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8550:2: rule__LetExpressionVariableDeclaration__Group__1__Impl rule__LetExpressionVariableDeclaration__Group__2
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group__1__Impl_in_rule__LetExpressionVariableDeclaration__Group__117706);
            rule__LetExpressionVariableDeclaration__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group__2_in_rule__LetExpressionVariableDeclaration__Group__117709);
            rule__LetExpressionVariableDeclaration__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group__1"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8557:1: rule__LetExpressionVariableDeclaration__Group__1__Impl : ( '=' ) ;
    public final void rule__LetExpressionVariableDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8561:1: ( ( '=' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8562:1: ( '=' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8562:1: ( '=' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8563:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getEqualsSignKeyword_1()); 
            }
            match(input,42,FOLLOW_42_in_rule__LetExpressionVariableDeclaration__Group__1__Impl17737); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getEqualsSignKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group__1__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8576:1: rule__LetExpressionVariableDeclaration__Group__2 : rule__LetExpressionVariableDeclaration__Group__2__Impl ;
    public final void rule__LetExpressionVariableDeclaration__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8580:1: ( rule__LetExpressionVariableDeclaration__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8581:2: rule__LetExpressionVariableDeclaration__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group__2__Impl_in_rule__LetExpressionVariableDeclaration__Group__217768);
            rule__LetExpressionVariableDeclaration__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group__2"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8587:1: rule__LetExpressionVariableDeclaration__Group__2__Impl : ( ( rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2 ) ) ;
    public final void rule__LetExpressionVariableDeclaration__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8591:1: ( ( ( rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8592:1: ( ( rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8592:1: ( ( rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8593:1: ( rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getAssignedExpressionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8594:1: ( rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8594:2: rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2_in_rule__LetExpressionVariableDeclaration__Group__2__Impl17795);
            rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getAssignedExpressionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group__2__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8610:1: rule__LetExpressionVariableDeclaration__Group_0_1__0 : rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl rule__LetExpressionVariableDeclaration__Group_0_1__1 ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8614:1: ( rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl rule__LetExpressionVariableDeclaration__Group_0_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8615:2: rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl rule__LetExpressionVariableDeclaration__Group_0_1__1
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__017831);
            rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__1_in_rule__LetExpressionVariableDeclaration__Group_0_1__017834);
            rule__LetExpressionVariableDeclaration__Group_0_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__0"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8622:1: rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl : ( '(' ) ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8626:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8627:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8627:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8628:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getLeftParenthesisKeyword_0_1_0()); 
            }
            match(input,47,FOLLOW_47_in_rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl17862); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getLeftParenthesisKeyword_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8641:1: rule__LetExpressionVariableDeclaration__Group_0_1__1 : rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl rule__LetExpressionVariableDeclaration__Group_0_1__2 ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8645:1: ( rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl rule__LetExpressionVariableDeclaration__Group_0_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8646:2: rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl rule__LetExpressionVariableDeclaration__Group_0_1__2
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__117893);
            rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__2_in_rule__LetExpressionVariableDeclaration__Group_0_1__117896);
            rule__LetExpressionVariableDeclaration__Group_0_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__1"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8653:1: rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl : ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1 ) ) ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8657:1: ( ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8658:1: ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8658:1: ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8659:1: ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsAssignment_0_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8660:1: ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8660:2: rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1_in_rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl17923);
            rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsAssignment_0_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8670:1: rule__LetExpressionVariableDeclaration__Group_0_1__2 : rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl rule__LetExpressionVariableDeclaration__Group_0_1__3 ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8674:1: ( rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl rule__LetExpressionVariableDeclaration__Group_0_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8675:2: rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl rule__LetExpressionVariableDeclaration__Group_0_1__3
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__217953);
            rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__3_in_rule__LetExpressionVariableDeclaration__Group_0_1__217956);
            rule__LetExpressionVariableDeclaration__Group_0_1__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__2"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8682:1: rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl : ( ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 ) ) ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )* ) ) ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8686:1: ( ( ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 ) ) ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )* ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8687:1: ( ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 ) ) ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )* ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8687:1: ( ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 ) ) ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8688:1: ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 ) ) ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8688:1: ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8689:1: ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getGroup_0_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8690:1: ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8690:2: rule__LetExpressionVariableDeclaration__Group_0_1_2__0
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__0_in_rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl17985);
            rule__LetExpressionVariableDeclaration__Group_0_1_2__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getGroup_0_1_2()); 
            }

            }

            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8693:1: ( ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8694:1: ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getGroup_0_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8695:1: ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0 )*
            loop65:
            do {
                int alt65=2;
                int LA65_0 = input.LA(1);

                if ( (LA65_0==40) ) {
                    alt65=1;
                }


                switch (alt65) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8695:2: rule__LetExpressionVariableDeclaration__Group_0_1_2__0
            	    {
            	    pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__0_in_rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl17997);
            	    rule__LetExpressionVariableDeclaration__Group_0_1_2__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop65;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getGroup_0_1_2()); 
            }

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8706:1: rule__LetExpressionVariableDeclaration__Group_0_1__3 : rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8710:1: ( rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8711:2: rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__318030);
            rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__3"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8717:1: rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl : ( ')' ) ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8721:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8722:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8722:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8723:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getRightParenthesisKeyword_0_1_3()); 
            }
            match(input,48,FOLLOW_48_in_rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl18058); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getRightParenthesisKeyword_0_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8744:1: rule__LetExpressionVariableDeclaration__Group_0_1_2__0 : rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl rule__LetExpressionVariableDeclaration__Group_0_1_2__1 ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8748:1: ( rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl rule__LetExpressionVariableDeclaration__Group_0_1_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8749:2: rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl rule__LetExpressionVariableDeclaration__Group_0_1_2__1
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__018097);
            rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__1_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__018100);
            rule__LetExpressionVariableDeclaration__Group_0_1_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1_2__0"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8756:1: rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl : ( ',' ) ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8760:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8761:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8761:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8762:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getCommaKeyword_0_1_2_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl18128); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getCommaKeyword_0_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8775:1: rule__LetExpressionVariableDeclaration__Group_0_1_2__1 : rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8779:1: ( rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8780:2: rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__118159);
            rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1_2__1"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8786:1: rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl : ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1 ) ) ;
    public final void rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8790:1: ( ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8791:1: ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8791:1: ( ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8792:1: ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsAssignment_0_1_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8793:1: ( rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8793:2: rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1
            {
            pushFollow(FOLLOW_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl18186);
            rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsAssignment_0_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl"


    // $ANTLR start "rule__IfExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8807:1: rule__IfExpression__Group__0 : rule__IfExpression__Group__0__Impl rule__IfExpression__Group__1 ;
    public final void rule__IfExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8811:1: ( rule__IfExpression__Group__0__Impl rule__IfExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8812:2: rule__IfExpression__Group__0__Impl rule__IfExpression__Group__1
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__0__Impl_in_rule__IfExpression__Group__018220);
            rule__IfExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfExpression__Group__1_in_rule__IfExpression__Group__018223);
            rule__IfExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__0"


    // $ANTLR start "rule__IfExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8819:1: rule__IfExpression__Group__0__Impl : ( ( rule__IfExpression__StaticAssignment_0 )? ) ;
    public final void rule__IfExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8823:1: ( ( ( rule__IfExpression__StaticAssignment_0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8824:1: ( ( rule__IfExpression__StaticAssignment_0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8824:1: ( ( rule__IfExpression__StaticAssignment_0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8825:1: ( rule__IfExpression__StaticAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getStaticAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8826:1: ( rule__IfExpression__StaticAssignment_0 )?
            int alt66=2;
            int LA66_0 = input.LA(1);

            if ( (LA66_0==88) ) {
                alt66=1;
            }
            switch (alt66) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8826:2: rule__IfExpression__StaticAssignment_0
                    {
                    pushFollow(FOLLOW_rule__IfExpression__StaticAssignment_0_in_rule__IfExpression__Group__0__Impl18250);
                    rule__IfExpression__StaticAssignment_0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getStaticAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__0__Impl"


    // $ANTLR start "rule__IfExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8836:1: rule__IfExpression__Group__1 : rule__IfExpression__Group__1__Impl rule__IfExpression__Group__2 ;
    public final void rule__IfExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8840:1: ( rule__IfExpression__Group__1__Impl rule__IfExpression__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8841:2: rule__IfExpression__Group__1__Impl rule__IfExpression__Group__2
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__1__Impl_in_rule__IfExpression__Group__118281);
            rule__IfExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfExpression__Group__2_in_rule__IfExpression__Group__118284);
            rule__IfExpression__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__1"


    // $ANTLR start "rule__IfExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8848:1: rule__IfExpression__Group__1__Impl : ( 'if' ) ;
    public final void rule__IfExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8852:1: ( ( 'if' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8853:1: ( 'if' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8853:1: ( 'if' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8854:1: 'if'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getIfKeyword_1()); 
            }
            match(input,64,FOLLOW_64_in_rule__IfExpression__Group__1__Impl18312); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getIfKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__1__Impl"


    // $ANTLR start "rule__IfExpression__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8867:1: rule__IfExpression__Group__2 : rule__IfExpression__Group__2__Impl rule__IfExpression__Group__3 ;
    public final void rule__IfExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8871:1: ( rule__IfExpression__Group__2__Impl rule__IfExpression__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8872:2: rule__IfExpression__Group__2__Impl rule__IfExpression__Group__3
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__2__Impl_in_rule__IfExpression__Group__218343);
            rule__IfExpression__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfExpression__Group__3_in_rule__IfExpression__Group__218346);
            rule__IfExpression__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__2"


    // $ANTLR start "rule__IfExpression__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8879:1: rule__IfExpression__Group__2__Impl : ( ( rule__IfExpression__ConditionAssignment_2 ) ) ;
    public final void rule__IfExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8883:1: ( ( ( rule__IfExpression__ConditionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8884:1: ( ( rule__IfExpression__ConditionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8884:1: ( ( rule__IfExpression__ConditionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8885:1: ( rule__IfExpression__ConditionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getConditionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8886:1: ( rule__IfExpression__ConditionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8886:2: rule__IfExpression__ConditionAssignment_2
            {
            pushFollow(FOLLOW_rule__IfExpression__ConditionAssignment_2_in_rule__IfExpression__Group__2__Impl18373);
            rule__IfExpression__ConditionAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getConditionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__2__Impl"


    // $ANTLR start "rule__IfExpression__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8896:1: rule__IfExpression__Group__3 : rule__IfExpression__Group__3__Impl rule__IfExpression__Group__4 ;
    public final void rule__IfExpression__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8900:1: ( rule__IfExpression__Group__3__Impl rule__IfExpression__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8901:2: rule__IfExpression__Group__3__Impl rule__IfExpression__Group__4
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__3__Impl_in_rule__IfExpression__Group__318403);
            rule__IfExpression__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfExpression__Group__4_in_rule__IfExpression__Group__318406);
            rule__IfExpression__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__3"


    // $ANTLR start "rule__IfExpression__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8908:1: rule__IfExpression__Group__3__Impl : ( 'then' ) ;
    public final void rule__IfExpression__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8912:1: ( ( 'then' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8913:1: ( 'then' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8913:1: ( 'then' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8914:1: 'then'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getThenKeyword_3()); 
            }
            match(input,65,FOLLOW_65_in_rule__IfExpression__Group__3__Impl18434); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getThenKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__3__Impl"


    // $ANTLR start "rule__IfExpression__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8927:1: rule__IfExpression__Group__4 : rule__IfExpression__Group__4__Impl rule__IfExpression__Group__5 ;
    public final void rule__IfExpression__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8931:1: ( rule__IfExpression__Group__4__Impl rule__IfExpression__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8932:2: rule__IfExpression__Group__4__Impl rule__IfExpression__Group__5
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__4__Impl_in_rule__IfExpression__Group__418465);
            rule__IfExpression__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfExpression__Group__5_in_rule__IfExpression__Group__418468);
            rule__IfExpression__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__4"


    // $ANTLR start "rule__IfExpression__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8939:1: rule__IfExpression__Group__4__Impl : ( ( rule__IfExpression__ThenExpressionAssignment_4 ) ) ;
    public final void rule__IfExpression__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8943:1: ( ( ( rule__IfExpression__ThenExpressionAssignment_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8944:1: ( ( rule__IfExpression__ThenExpressionAssignment_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8944:1: ( ( rule__IfExpression__ThenExpressionAssignment_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8945:1: ( rule__IfExpression__ThenExpressionAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getThenExpressionAssignment_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8946:1: ( rule__IfExpression__ThenExpressionAssignment_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8946:2: rule__IfExpression__ThenExpressionAssignment_4
            {
            pushFollow(FOLLOW_rule__IfExpression__ThenExpressionAssignment_4_in_rule__IfExpression__Group__4__Impl18495);
            rule__IfExpression__ThenExpressionAssignment_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getThenExpressionAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__4__Impl"


    // $ANTLR start "rule__IfExpression__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8956:1: rule__IfExpression__Group__5 : rule__IfExpression__Group__5__Impl rule__IfExpression__Group__6 ;
    public final void rule__IfExpression__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8960:1: ( rule__IfExpression__Group__5__Impl rule__IfExpression__Group__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8961:2: rule__IfExpression__Group__5__Impl rule__IfExpression__Group__6
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__5__Impl_in_rule__IfExpression__Group__518525);
            rule__IfExpression__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfExpression__Group__6_in_rule__IfExpression__Group__518528);
            rule__IfExpression__Group__6();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__5"


    // $ANTLR start "rule__IfExpression__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8968:1: rule__IfExpression__Group__5__Impl : ( 'else' ) ;
    public final void rule__IfExpression__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8972:1: ( ( 'else' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8973:1: ( 'else' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8973:1: ( 'else' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8974:1: 'else'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getElseKeyword_5()); 
            }
            match(input,66,FOLLOW_66_in_rule__IfExpression__Group__5__Impl18556); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getElseKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__5__Impl"


    // $ANTLR start "rule__IfExpression__Group__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8987:1: rule__IfExpression__Group__6 : rule__IfExpression__Group__6__Impl ;
    public final void rule__IfExpression__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8991:1: ( rule__IfExpression__Group__6__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8992:2: rule__IfExpression__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__IfExpression__Group__6__Impl_in_rule__IfExpression__Group__618587);
            rule__IfExpression__Group__6__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__6"


    // $ANTLR start "rule__IfExpression__Group__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:8998:1: rule__IfExpression__Group__6__Impl : ( ( rule__IfExpression__ElseExpressionAssignment_6 ) ) ;
    public final void rule__IfExpression__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9002:1: ( ( ( rule__IfExpression__ElseExpressionAssignment_6 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9003:1: ( ( rule__IfExpression__ElseExpressionAssignment_6 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9003:1: ( ( rule__IfExpression__ElseExpressionAssignment_6 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9004:1: ( rule__IfExpression__ElseExpressionAssignment_6 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getElseExpressionAssignment_6()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9005:1: ( rule__IfExpression__ElseExpressionAssignment_6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9005:2: rule__IfExpression__ElseExpressionAssignment_6
            {
            pushFollow(FOLLOW_rule__IfExpression__ElseExpressionAssignment_6_in_rule__IfExpression__Group__6__Impl18614);
            rule__IfExpression__ElseExpressionAssignment_6();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getElseExpressionAssignment_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__Group__6__Impl"


    // $ANTLR start "rule__SwitchExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9029:1: rule__SwitchExpression__Group__0 : rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 ;
    public final void rule__SwitchExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9033:1: ( rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9034:2: rule__SwitchExpression__Group__0__Impl rule__SwitchExpression__Group__1
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__0__Impl_in_rule__SwitchExpression__Group__018658);
            rule__SwitchExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchExpression__Group__1_in_rule__SwitchExpression__Group__018661);
            rule__SwitchExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__0"


    // $ANTLR start "rule__SwitchExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9041:1: rule__SwitchExpression__Group__0__Impl : ( ( rule__SwitchExpression__StaticAssignment_0 )? ) ;
    public final void rule__SwitchExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9045:1: ( ( ( rule__SwitchExpression__StaticAssignment_0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9046:1: ( ( rule__SwitchExpression__StaticAssignment_0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9046:1: ( ( rule__SwitchExpression__StaticAssignment_0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9047:1: ( rule__SwitchExpression__StaticAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getStaticAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9048:1: ( rule__SwitchExpression__StaticAssignment_0 )?
            int alt67=2;
            int LA67_0 = input.LA(1);

            if ( (LA67_0==88) ) {
                alt67=1;
            }
            switch (alt67) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9048:2: rule__SwitchExpression__StaticAssignment_0
                    {
                    pushFollow(FOLLOW_rule__SwitchExpression__StaticAssignment_0_in_rule__SwitchExpression__Group__0__Impl18688);
                    rule__SwitchExpression__StaticAssignment_0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getStaticAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__0__Impl"


    // $ANTLR start "rule__SwitchExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9058:1: rule__SwitchExpression__Group__1 : rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 ;
    public final void rule__SwitchExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9062:1: ( rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9063:2: rule__SwitchExpression__Group__1__Impl rule__SwitchExpression__Group__2
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__1__Impl_in_rule__SwitchExpression__Group__118719);
            rule__SwitchExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchExpression__Group__2_in_rule__SwitchExpression__Group__118722);
            rule__SwitchExpression__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__1"


    // $ANTLR start "rule__SwitchExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9070:1: rule__SwitchExpression__Group__1__Impl : ( 'switch' ) ;
    public final void rule__SwitchExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9074:1: ( ( 'switch' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9075:1: ( 'switch' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9075:1: ( 'switch' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9076:1: 'switch'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_1()); 
            }
            match(input,67,FOLLOW_67_in_rule__SwitchExpression__Group__1__Impl18750); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getSwitchKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__1__Impl"


    // $ANTLR start "rule__SwitchExpression__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9089:1: rule__SwitchExpression__Group__2 : rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 ;
    public final void rule__SwitchExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9093:1: ( rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9094:2: rule__SwitchExpression__Group__2__Impl rule__SwitchExpression__Group__3
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__2__Impl_in_rule__SwitchExpression__Group__218781);
            rule__SwitchExpression__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchExpression__Group__3_in_rule__SwitchExpression__Group__218784);
            rule__SwitchExpression__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__2"


    // $ANTLR start "rule__SwitchExpression__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9101:1: rule__SwitchExpression__Group__2__Impl : ( ( rule__SwitchExpression__ControlExpressionAssignment_2 ) ) ;
    public final void rule__SwitchExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9105:1: ( ( ( rule__SwitchExpression__ControlExpressionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9106:1: ( ( rule__SwitchExpression__ControlExpressionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9106:1: ( ( rule__SwitchExpression__ControlExpressionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9107:1: ( rule__SwitchExpression__ControlExpressionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getControlExpressionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9108:1: ( rule__SwitchExpression__ControlExpressionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9108:2: rule__SwitchExpression__ControlExpressionAssignment_2
            {
            pushFollow(FOLLOW_rule__SwitchExpression__ControlExpressionAssignment_2_in_rule__SwitchExpression__Group__2__Impl18811);
            rule__SwitchExpression__ControlExpressionAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getControlExpressionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__2__Impl"


    // $ANTLR start "rule__SwitchExpression__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9118:1: rule__SwitchExpression__Group__3 : rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 ;
    public final void rule__SwitchExpression__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9122:1: ( rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9123:2: rule__SwitchExpression__Group__3__Impl rule__SwitchExpression__Group__4
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__3__Impl_in_rule__SwitchExpression__Group__318841);
            rule__SwitchExpression__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchExpression__Group__4_in_rule__SwitchExpression__Group__318844);
            rule__SwitchExpression__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__3"


    // $ANTLR start "rule__SwitchExpression__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9130:1: rule__SwitchExpression__Group__3__Impl : ( ( rule__SwitchExpression__CasesAssignment_3 )* ) ;
    public final void rule__SwitchExpression__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9134:1: ( ( ( rule__SwitchExpression__CasesAssignment_3 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9135:1: ( ( rule__SwitchExpression__CasesAssignment_3 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9135:1: ( ( rule__SwitchExpression__CasesAssignment_3 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9136:1: ( rule__SwitchExpression__CasesAssignment_3 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getCasesAssignment_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9137:1: ( rule__SwitchExpression__CasesAssignment_3 )*
            loop68:
            do {
                int alt68=2;
                int LA68_0 = input.LA(1);

                if ( (LA68_0==69) ) {
                    alt68=1;
                }


                switch (alt68) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9137:2: rule__SwitchExpression__CasesAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__SwitchExpression__CasesAssignment_3_in_rule__SwitchExpression__Group__3__Impl18871);
            	    rule__SwitchExpression__CasesAssignment_3();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop68;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getCasesAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__3__Impl"


    // $ANTLR start "rule__SwitchExpression__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9147:1: rule__SwitchExpression__Group__4 : rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 ;
    public final void rule__SwitchExpression__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9151:1: ( rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9152:2: rule__SwitchExpression__Group__4__Impl rule__SwitchExpression__Group__5
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__4__Impl_in_rule__SwitchExpression__Group__418902);
            rule__SwitchExpression__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchExpression__Group__5_in_rule__SwitchExpression__Group__418905);
            rule__SwitchExpression__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__4"


    // $ANTLR start "rule__SwitchExpression__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9159:1: rule__SwitchExpression__Group__4__Impl : ( 'default' ) ;
    public final void rule__SwitchExpression__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9163:1: ( ( 'default' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9164:1: ( 'default' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9164:1: ( 'default' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9165:1: 'default'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); 
            }
            match(input,68,FOLLOW_68_in_rule__SwitchExpression__Group__4__Impl18933); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getDefaultKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__4__Impl"


    // $ANTLR start "rule__SwitchExpression__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9178:1: rule__SwitchExpression__Group__5 : rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 ;
    public final void rule__SwitchExpression__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9182:1: ( rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9183:2: rule__SwitchExpression__Group__5__Impl rule__SwitchExpression__Group__6
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__5__Impl_in_rule__SwitchExpression__Group__518964);
            rule__SwitchExpression__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchExpression__Group__6_in_rule__SwitchExpression__Group__518967);
            rule__SwitchExpression__Group__6();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__5"


    // $ANTLR start "rule__SwitchExpression__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9190:1: rule__SwitchExpression__Group__5__Impl : ( ':' ) ;
    public final void rule__SwitchExpression__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9194:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9195:1: ( ':' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9195:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9196:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); 
            }
            match(input,45,FOLLOW_45_in_rule__SwitchExpression__Group__5__Impl18995); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getColonKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__5__Impl"


    // $ANTLR start "rule__SwitchExpression__Group__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9209:1: rule__SwitchExpression__Group__6 : rule__SwitchExpression__Group__6__Impl ;
    public final void rule__SwitchExpression__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9213:1: ( rule__SwitchExpression__Group__6__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9214:2: rule__SwitchExpression__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__SwitchExpression__Group__6__Impl_in_rule__SwitchExpression__Group__619026);
            rule__SwitchExpression__Group__6__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__6"


    // $ANTLR start "rule__SwitchExpression__Group__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9220:1: rule__SwitchExpression__Group__6__Impl : ( ( rule__SwitchExpression__DefaultExpressionAssignment_6 ) ) ;
    public final void rule__SwitchExpression__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9224:1: ( ( ( rule__SwitchExpression__DefaultExpressionAssignment_6 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9225:1: ( ( rule__SwitchExpression__DefaultExpressionAssignment_6 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9225:1: ( ( rule__SwitchExpression__DefaultExpressionAssignment_6 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9226:1: ( rule__SwitchExpression__DefaultExpressionAssignment_6 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getDefaultExpressionAssignment_6()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9227:1: ( rule__SwitchExpression__DefaultExpressionAssignment_6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9227:2: rule__SwitchExpression__DefaultExpressionAssignment_6
            {
            pushFollow(FOLLOW_rule__SwitchExpression__DefaultExpressionAssignment_6_in_rule__SwitchExpression__Group__6__Impl19053);
            rule__SwitchExpression__DefaultExpressionAssignment_6();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getDefaultExpressionAssignment_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__Group__6__Impl"


    // $ANTLR start "rule__SwitchCase__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9251:1: rule__SwitchCase__Group__0 : rule__SwitchCase__Group__0__Impl rule__SwitchCase__Group__1 ;
    public final void rule__SwitchCase__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9255:1: ( rule__SwitchCase__Group__0__Impl rule__SwitchCase__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9256:2: rule__SwitchCase__Group__0__Impl rule__SwitchCase__Group__1
            {
            pushFollow(FOLLOW_rule__SwitchCase__Group__0__Impl_in_rule__SwitchCase__Group__019097);
            rule__SwitchCase__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchCase__Group__1_in_rule__SwitchCase__Group__019100);
            rule__SwitchCase__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__0"


    // $ANTLR start "rule__SwitchCase__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9263:1: rule__SwitchCase__Group__0__Impl : ( 'case' ) ;
    public final void rule__SwitchCase__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9267:1: ( ( 'case' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9268:1: ( 'case' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9268:1: ( 'case' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9269:1: 'case'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseAccess().getCaseKeyword_0()); 
            }
            match(input,69,FOLLOW_69_in_rule__SwitchCase__Group__0__Impl19128); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchCaseAccess().getCaseKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__0__Impl"


    // $ANTLR start "rule__SwitchCase__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9282:1: rule__SwitchCase__Group__1 : rule__SwitchCase__Group__1__Impl rule__SwitchCase__Group__2 ;
    public final void rule__SwitchCase__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9286:1: ( rule__SwitchCase__Group__1__Impl rule__SwitchCase__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9287:2: rule__SwitchCase__Group__1__Impl rule__SwitchCase__Group__2
            {
            pushFollow(FOLLOW_rule__SwitchCase__Group__1__Impl_in_rule__SwitchCase__Group__119159);
            rule__SwitchCase__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchCase__Group__2_in_rule__SwitchCase__Group__119162);
            rule__SwitchCase__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__1"


    // $ANTLR start "rule__SwitchCase__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9294:1: rule__SwitchCase__Group__1__Impl : ( ( rule__SwitchCase__CaseExpressionAssignment_1 ) ) ;
    public final void rule__SwitchCase__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9298:1: ( ( ( rule__SwitchCase__CaseExpressionAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9299:1: ( ( rule__SwitchCase__CaseExpressionAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9299:1: ( ( rule__SwitchCase__CaseExpressionAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9300:1: ( rule__SwitchCase__CaseExpressionAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseAccess().getCaseExpressionAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9301:1: ( rule__SwitchCase__CaseExpressionAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9301:2: rule__SwitchCase__CaseExpressionAssignment_1
            {
            pushFollow(FOLLOW_rule__SwitchCase__CaseExpressionAssignment_1_in_rule__SwitchCase__Group__1__Impl19189);
            rule__SwitchCase__CaseExpressionAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchCaseAccess().getCaseExpressionAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__1__Impl"


    // $ANTLR start "rule__SwitchCase__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9311:1: rule__SwitchCase__Group__2 : rule__SwitchCase__Group__2__Impl rule__SwitchCase__Group__3 ;
    public final void rule__SwitchCase__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9315:1: ( rule__SwitchCase__Group__2__Impl rule__SwitchCase__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9316:2: rule__SwitchCase__Group__2__Impl rule__SwitchCase__Group__3
            {
            pushFollow(FOLLOW_rule__SwitchCase__Group__2__Impl_in_rule__SwitchCase__Group__219219);
            rule__SwitchCase__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__SwitchCase__Group__3_in_rule__SwitchCase__Group__219222);
            rule__SwitchCase__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__2"


    // $ANTLR start "rule__SwitchCase__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9323:1: rule__SwitchCase__Group__2__Impl : ( ':' ) ;
    public final void rule__SwitchCase__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9327:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9328:1: ( ':' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9328:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9329:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseAccess().getColonKeyword_2()); 
            }
            match(input,45,FOLLOW_45_in_rule__SwitchCase__Group__2__Impl19250); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchCaseAccess().getColonKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__2__Impl"


    // $ANTLR start "rule__SwitchCase__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9342:1: rule__SwitchCase__Group__3 : rule__SwitchCase__Group__3__Impl ;
    public final void rule__SwitchCase__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9346:1: ( rule__SwitchCase__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9347:2: rule__SwitchCase__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__SwitchCase__Group__3__Impl_in_rule__SwitchCase__Group__319281);
            rule__SwitchCase__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__3"


    // $ANTLR start "rule__SwitchCase__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9353:1: rule__SwitchCase__Group__3__Impl : ( ( rule__SwitchCase__ResultExpressionAssignment_3 ) ) ;
    public final void rule__SwitchCase__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9357:1: ( ( ( rule__SwitchCase__ResultExpressionAssignment_3 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9358:1: ( ( rule__SwitchCase__ResultExpressionAssignment_3 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9358:1: ( ( rule__SwitchCase__ResultExpressionAssignment_3 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9359:1: ( rule__SwitchCase__ResultExpressionAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseAccess().getResultExpressionAssignment_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9360:1: ( rule__SwitchCase__ResultExpressionAssignment_3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9360:2: rule__SwitchCase__ResultExpressionAssignment_3
            {
            pushFollow(FOLLOW_rule__SwitchCase__ResultExpressionAssignment_3_in_rule__SwitchCase__Group__3__Impl19308);
            rule__SwitchCase__ResultExpressionAssignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchCaseAccess().getResultExpressionAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__Group__3__Impl"


    // $ANTLR start "rule__RangeExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9378:1: rule__RangeExpression__Group__0 : rule__RangeExpression__Group__0__Impl rule__RangeExpression__Group__1 ;
    public final void rule__RangeExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9382:1: ( rule__RangeExpression__Group__0__Impl rule__RangeExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9383:2: rule__RangeExpression__Group__0__Impl rule__RangeExpression__Group__1
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group__0__Impl_in_rule__RangeExpression__Group__019346);
            rule__RangeExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeExpression__Group__1_in_rule__RangeExpression__Group__019349);
            rule__RangeExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group__0"


    // $ANTLR start "rule__RangeExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9390:1: rule__RangeExpression__Group__0__Impl : ( ruleImpliesExpression ) ;
    public final void rule__RangeExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9394:1: ( ( ruleImpliesExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9395:1: ( ruleImpliesExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9395:1: ( ruleImpliesExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9396:1: ruleImpliesExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getImpliesExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleImpliesExpression_in_rule__RangeExpression__Group__0__Impl19376);
            ruleImpliesExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getImpliesExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group__0__Impl"


    // $ANTLR start "rule__RangeExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9407:1: rule__RangeExpression__Group__1 : rule__RangeExpression__Group__1__Impl ;
    public final void rule__RangeExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9411:1: ( rule__RangeExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9412:2: rule__RangeExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group__1__Impl_in_rule__RangeExpression__Group__119405);
            rule__RangeExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group__1"


    // $ANTLR start "rule__RangeExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9418:1: rule__RangeExpression__Group__1__Impl : ( ( rule__RangeExpression__Group_1__0 )? ) ;
    public final void rule__RangeExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9422:1: ( ( ( rule__RangeExpression__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9423:1: ( ( rule__RangeExpression__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9423:1: ( ( rule__RangeExpression__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9424:1: ( rule__RangeExpression__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9425:1: ( rule__RangeExpression__Group_1__0 )?
            int alt69=2;
            int LA69_0 = input.LA(1);

            if ( (LA69_0==45) ) {
                int LA69_1 = input.LA(2);

                if ( ((LA69_1>=RULE_REAL && LA69_1<=RULE_STRING)||LA69_1==15||LA69_1==29||LA69_1==36||LA69_1==38||LA69_1==47||LA69_1==60||LA69_1==77||(LA69_1>=79 && LA69_1<=81)||LA69_1==90) ) {
                    alt69=1;
                }
            }
            switch (alt69) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9425:2: rule__RangeExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__RangeExpression__Group_1__0_in_rule__RangeExpression__Group__1__Impl19432);
                    rule__RangeExpression__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group__1__Impl"


    // $ANTLR start "rule__RangeExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9439:1: rule__RangeExpression__Group_1__0 : rule__RangeExpression__Group_1__0__Impl rule__RangeExpression__Group_1__1 ;
    public final void rule__RangeExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9443:1: ( rule__RangeExpression__Group_1__0__Impl rule__RangeExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9444:2: rule__RangeExpression__Group_1__0__Impl rule__RangeExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group_1__0__Impl_in_rule__RangeExpression__Group_1__019467);
            rule__RangeExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeExpression__Group_1__1_in_rule__RangeExpression__Group_1__019470);
            rule__RangeExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__0"


    // $ANTLR start "rule__RangeExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9451:1: rule__RangeExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__RangeExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9455:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9456:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9456:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9457:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getRangeExpressionOperandsAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9458:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9460:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getRangeExpressionOperandsAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__0__Impl"


    // $ANTLR start "rule__RangeExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9470:1: rule__RangeExpression__Group_1__1 : rule__RangeExpression__Group_1__1__Impl rule__RangeExpression__Group_1__2 ;
    public final void rule__RangeExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9474:1: ( rule__RangeExpression__Group_1__1__Impl rule__RangeExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9475:2: rule__RangeExpression__Group_1__1__Impl rule__RangeExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group_1__1__Impl_in_rule__RangeExpression__Group_1__119528);
            rule__RangeExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeExpression__Group_1__2_in_rule__RangeExpression__Group_1__119531);
            rule__RangeExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__1"


    // $ANTLR start "rule__RangeExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9482:1: rule__RangeExpression__Group_1__1__Impl : ( ':' ) ;
    public final void rule__RangeExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9486:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9487:1: ( ':' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9487:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9488:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getColonKeyword_1_1()); 
            }
            match(input,45,FOLLOW_45_in_rule__RangeExpression__Group_1__1__Impl19559); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getColonKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__1__Impl"


    // $ANTLR start "rule__RangeExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9501:1: rule__RangeExpression__Group_1__2 : rule__RangeExpression__Group_1__2__Impl rule__RangeExpression__Group_1__3 ;
    public final void rule__RangeExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9505:1: ( rule__RangeExpression__Group_1__2__Impl rule__RangeExpression__Group_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9506:2: rule__RangeExpression__Group_1__2__Impl rule__RangeExpression__Group_1__3
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group_1__2__Impl_in_rule__RangeExpression__Group_1__219590);
            rule__RangeExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeExpression__Group_1__3_in_rule__RangeExpression__Group_1__219593);
            rule__RangeExpression__Group_1__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__2"


    // $ANTLR start "rule__RangeExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9513:1: rule__RangeExpression__Group_1__2__Impl : ( ( rule__RangeExpression__OperandsAssignment_1_2 ) ) ;
    public final void rule__RangeExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9517:1: ( ( ( rule__RangeExpression__OperandsAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9518:1: ( ( rule__RangeExpression__OperandsAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9518:1: ( ( rule__RangeExpression__OperandsAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9519:1: ( rule__RangeExpression__OperandsAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getOperandsAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9520:1: ( rule__RangeExpression__OperandsAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9520:2: rule__RangeExpression__OperandsAssignment_1_2
            {
            pushFollow(FOLLOW_rule__RangeExpression__OperandsAssignment_1_2_in_rule__RangeExpression__Group_1__2__Impl19620);
            rule__RangeExpression__OperandsAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getOperandsAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__2__Impl"


    // $ANTLR start "rule__RangeExpression__Group_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9530:1: rule__RangeExpression__Group_1__3 : rule__RangeExpression__Group_1__3__Impl ;
    public final void rule__RangeExpression__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9534:1: ( rule__RangeExpression__Group_1__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9535:2: rule__RangeExpression__Group_1__3__Impl
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group_1__3__Impl_in_rule__RangeExpression__Group_1__319650);
            rule__RangeExpression__Group_1__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__3"


    // $ANTLR start "rule__RangeExpression__Group_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9541:1: rule__RangeExpression__Group_1__3__Impl : ( ( rule__RangeExpression__Group_1_3__0 )? ) ;
    public final void rule__RangeExpression__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9545:1: ( ( ( rule__RangeExpression__Group_1_3__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9546:1: ( ( rule__RangeExpression__Group_1_3__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9546:1: ( ( rule__RangeExpression__Group_1_3__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9547:1: ( rule__RangeExpression__Group_1_3__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getGroup_1_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9548:1: ( rule__RangeExpression__Group_1_3__0 )?
            int alt70=2;
            int LA70_0 = input.LA(1);

            if ( (LA70_0==45) ) {
                int LA70_1 = input.LA(2);

                if ( ((LA70_1>=RULE_REAL && LA70_1<=RULE_STRING)||LA70_1==15||LA70_1==29||LA70_1==36||LA70_1==38||LA70_1==47||LA70_1==60||LA70_1==77||(LA70_1>=79 && LA70_1<=81)||LA70_1==90) ) {
                    alt70=1;
                }
            }
            switch (alt70) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9548:2: rule__RangeExpression__Group_1_3__0
                    {
                    pushFollow(FOLLOW_rule__RangeExpression__Group_1_3__0_in_rule__RangeExpression__Group_1__3__Impl19677);
                    rule__RangeExpression__Group_1_3__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getGroup_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1__3__Impl"


    // $ANTLR start "rule__RangeExpression__Group_1_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9566:1: rule__RangeExpression__Group_1_3__0 : rule__RangeExpression__Group_1_3__0__Impl rule__RangeExpression__Group_1_3__1 ;
    public final void rule__RangeExpression__Group_1_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9570:1: ( rule__RangeExpression__Group_1_3__0__Impl rule__RangeExpression__Group_1_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9571:2: rule__RangeExpression__Group_1_3__0__Impl rule__RangeExpression__Group_1_3__1
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group_1_3__0__Impl_in_rule__RangeExpression__Group_1_3__019716);
            rule__RangeExpression__Group_1_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeExpression__Group_1_3__1_in_rule__RangeExpression__Group_1_3__019719);
            rule__RangeExpression__Group_1_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1_3__0"


    // $ANTLR start "rule__RangeExpression__Group_1_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9578:1: rule__RangeExpression__Group_1_3__0__Impl : ( ':' ) ;
    public final void rule__RangeExpression__Group_1_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9582:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9583:1: ( ':' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9583:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9584:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getColonKeyword_1_3_0()); 
            }
            match(input,45,FOLLOW_45_in_rule__RangeExpression__Group_1_3__0__Impl19747); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getColonKeyword_1_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1_3__0__Impl"


    // $ANTLR start "rule__RangeExpression__Group_1_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9597:1: rule__RangeExpression__Group_1_3__1 : rule__RangeExpression__Group_1_3__1__Impl ;
    public final void rule__RangeExpression__Group_1_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9601:1: ( rule__RangeExpression__Group_1_3__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9602:2: rule__RangeExpression__Group_1_3__1__Impl
            {
            pushFollow(FOLLOW_rule__RangeExpression__Group_1_3__1__Impl_in_rule__RangeExpression__Group_1_3__119778);
            rule__RangeExpression__Group_1_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1_3__1"


    // $ANTLR start "rule__RangeExpression__Group_1_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9608:1: rule__RangeExpression__Group_1_3__1__Impl : ( ( rule__RangeExpression__OperandsAssignment_1_3_1 ) ) ;
    public final void rule__RangeExpression__Group_1_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9612:1: ( ( ( rule__RangeExpression__OperandsAssignment_1_3_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9613:1: ( ( rule__RangeExpression__OperandsAssignment_1_3_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9613:1: ( ( rule__RangeExpression__OperandsAssignment_1_3_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9614:1: ( rule__RangeExpression__OperandsAssignment_1_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getOperandsAssignment_1_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9615:1: ( rule__RangeExpression__OperandsAssignment_1_3_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9615:2: rule__RangeExpression__OperandsAssignment_1_3_1
            {
            pushFollow(FOLLOW_rule__RangeExpression__OperandsAssignment_1_3_1_in_rule__RangeExpression__Group_1_3__1__Impl19805);
            rule__RangeExpression__OperandsAssignment_1_3_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getOperandsAssignment_1_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__Group_1_3__1__Impl"


    // $ANTLR start "rule__ImpliesExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9629:1: rule__ImpliesExpression__Group__0 : rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 ;
    public final void rule__ImpliesExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9633:1: ( rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9634:2: rule__ImpliesExpression__Group__0__Impl rule__ImpliesExpression__Group__1
            {
            pushFollow(FOLLOW_rule__ImpliesExpression__Group__0__Impl_in_rule__ImpliesExpression__Group__019839);
            rule__ImpliesExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ImpliesExpression__Group__1_in_rule__ImpliesExpression__Group__019842);
            rule__ImpliesExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group__0"


    // $ANTLR start "rule__ImpliesExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9641:1: rule__ImpliesExpression__Group__0__Impl : ( ruleLogicalOrExpression ) ;
    public final void rule__ImpliesExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9645:1: ( ( ruleLogicalOrExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9646:1: ( ruleLogicalOrExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9646:1: ( ruleLogicalOrExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9647:1: ruleLogicalOrExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionAccess().getLogicalOrExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleLogicalOrExpression_in_rule__ImpliesExpression__Group__0__Impl19869);
            ruleLogicalOrExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getImpliesExpressionAccess().getLogicalOrExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group__0__Impl"


    // $ANTLR start "rule__ImpliesExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9658:1: rule__ImpliesExpression__Group__1 : rule__ImpliesExpression__Group__1__Impl ;
    public final void rule__ImpliesExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9662:1: ( rule__ImpliesExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9663:2: rule__ImpliesExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__ImpliesExpression__Group__1__Impl_in_rule__ImpliesExpression__Group__119898);
            rule__ImpliesExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group__1"


    // $ANTLR start "rule__ImpliesExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9669:1: rule__ImpliesExpression__Group__1__Impl : ( ( rule__ImpliesExpression__Group_1__0 )? ) ;
    public final void rule__ImpliesExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9673:1: ( ( ( rule__ImpliesExpression__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9674:1: ( ( rule__ImpliesExpression__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9674:1: ( ( rule__ImpliesExpression__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9675:1: ( rule__ImpliesExpression__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9676:1: ( rule__ImpliesExpression__Group_1__0 )?
            int alt71=2;
            int LA71_0 = input.LA(1);

            if ( (LA71_0==70) ) {
                alt71=1;
            }
            switch (alt71) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9676:2: rule__ImpliesExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__ImpliesExpression__Group_1__0_in_rule__ImpliesExpression__Group__1__Impl19925);
                    rule__ImpliesExpression__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getImpliesExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group__1__Impl"


    // $ANTLR start "rule__ImpliesExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9690:1: rule__ImpliesExpression__Group_1__0 : rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 ;
    public final void rule__ImpliesExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9694:1: ( rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9695:2: rule__ImpliesExpression__Group_1__0__Impl rule__ImpliesExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__ImpliesExpression__Group_1__0__Impl_in_rule__ImpliesExpression__Group_1__019960);
            rule__ImpliesExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ImpliesExpression__Group_1__1_in_rule__ImpliesExpression__Group_1__019963);
            rule__ImpliesExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group_1__0"


    // $ANTLR start "rule__ImpliesExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9702:1: rule__ImpliesExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__ImpliesExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9706:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9707:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9707:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9708:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionAccess().getImpliesExpressionLeftOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9709:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9711:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getImpliesExpressionAccess().getImpliesExpressionLeftOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group_1__0__Impl"


    // $ANTLR start "rule__ImpliesExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9721:1: rule__ImpliesExpression__Group_1__1 : rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 ;
    public final void rule__ImpliesExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9725:1: ( rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9726:2: rule__ImpliesExpression__Group_1__1__Impl rule__ImpliesExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__ImpliesExpression__Group_1__1__Impl_in_rule__ImpliesExpression__Group_1__120021);
            rule__ImpliesExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ImpliesExpression__Group_1__2_in_rule__ImpliesExpression__Group_1__120024);
            rule__ImpliesExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group_1__1"


    // $ANTLR start "rule__ImpliesExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9733:1: rule__ImpliesExpression__Group_1__1__Impl : ( '=>' ) ;
    public final void rule__ImpliesExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9737:1: ( ( '=>' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9738:1: ( '=>' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9738:1: ( '=>' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9739:1: '=>'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionAccess().getEqualsSignGreaterThanSignKeyword_1_1()); 
            }
            match(input,70,FOLLOW_70_in_rule__ImpliesExpression__Group_1__1__Impl20052); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getImpliesExpressionAccess().getEqualsSignGreaterThanSignKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group_1__1__Impl"


    // $ANTLR start "rule__ImpliesExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9752:1: rule__ImpliesExpression__Group_1__2 : rule__ImpliesExpression__Group_1__2__Impl ;
    public final void rule__ImpliesExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9756:1: ( rule__ImpliesExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9757:2: rule__ImpliesExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__ImpliesExpression__Group_1__2__Impl_in_rule__ImpliesExpression__Group_1__220083);
            rule__ImpliesExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group_1__2"


    // $ANTLR start "rule__ImpliesExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9763:1: rule__ImpliesExpression__Group_1__2__Impl : ( ( rule__ImpliesExpression__RightOperandAssignment_1_2 ) ) ;
    public final void rule__ImpliesExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9767:1: ( ( ( rule__ImpliesExpression__RightOperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9768:1: ( ( rule__ImpliesExpression__RightOperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9768:1: ( ( rule__ImpliesExpression__RightOperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9769:1: ( rule__ImpliesExpression__RightOperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionAccess().getRightOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9770:1: ( rule__ImpliesExpression__RightOperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9770:2: rule__ImpliesExpression__RightOperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__ImpliesExpression__RightOperandAssignment_1_2_in_rule__ImpliesExpression__Group_1__2__Impl20110);
            rule__ImpliesExpression__RightOperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getImpliesExpressionAccess().getRightOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__Group_1__2__Impl"


    // $ANTLR start "rule__LogicalOrExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9786:1: rule__LogicalOrExpression__Group__0 : rule__LogicalOrExpression__Group__0__Impl rule__LogicalOrExpression__Group__1 ;
    public final void rule__LogicalOrExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9790:1: ( rule__LogicalOrExpression__Group__0__Impl rule__LogicalOrExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9791:2: rule__LogicalOrExpression__Group__0__Impl rule__LogicalOrExpression__Group__1
            {
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group__0__Impl_in_rule__LogicalOrExpression__Group__020146);
            rule__LogicalOrExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group__1_in_rule__LogicalOrExpression__Group__020149);
            rule__LogicalOrExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group__0"


    // $ANTLR start "rule__LogicalOrExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9798:1: rule__LogicalOrExpression__Group__0__Impl : ( ruleLogicalAndExpression ) ;
    public final void rule__LogicalOrExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9802:1: ( ( ruleLogicalAndExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9803:1: ( ruleLogicalAndExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9803:1: ( ruleLogicalAndExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9804:1: ruleLogicalAndExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionAccess().getLogicalAndExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleLogicalAndExpression_in_rule__LogicalOrExpression__Group__0__Impl20176);
            ruleLogicalAndExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalOrExpressionAccess().getLogicalAndExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group__0__Impl"


    // $ANTLR start "rule__LogicalOrExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9815:1: rule__LogicalOrExpression__Group__1 : rule__LogicalOrExpression__Group__1__Impl ;
    public final void rule__LogicalOrExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9819:1: ( rule__LogicalOrExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9820:2: rule__LogicalOrExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group__1__Impl_in_rule__LogicalOrExpression__Group__120205);
            rule__LogicalOrExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group__1"


    // $ANTLR start "rule__LogicalOrExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9826:1: rule__LogicalOrExpression__Group__1__Impl : ( ( rule__LogicalOrExpression__Group_1__0 )* ) ;
    public final void rule__LogicalOrExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9830:1: ( ( ( rule__LogicalOrExpression__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9831:1: ( ( rule__LogicalOrExpression__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9831:1: ( ( rule__LogicalOrExpression__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9832:1: ( rule__LogicalOrExpression__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9833:1: ( rule__LogicalOrExpression__Group_1__0 )*
            loop72:
            do {
                int alt72=2;
                int LA72_0 = input.LA(1);

                if ( (LA72_0==71) ) {
                    alt72=1;
                }


                switch (alt72) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9833:2: rule__LogicalOrExpression__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__LogicalOrExpression__Group_1__0_in_rule__LogicalOrExpression__Group__1__Impl20232);
            	    rule__LogicalOrExpression__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop72;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalOrExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group__1__Impl"


    // $ANTLR start "rule__LogicalOrExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9847:1: rule__LogicalOrExpression__Group_1__0 : rule__LogicalOrExpression__Group_1__0__Impl rule__LogicalOrExpression__Group_1__1 ;
    public final void rule__LogicalOrExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9851:1: ( rule__LogicalOrExpression__Group_1__0__Impl rule__LogicalOrExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9852:2: rule__LogicalOrExpression__Group_1__0__Impl rule__LogicalOrExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group_1__0__Impl_in_rule__LogicalOrExpression__Group_1__020267);
            rule__LogicalOrExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group_1__1_in_rule__LogicalOrExpression__Group_1__020270);
            rule__LogicalOrExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group_1__0"


    // $ANTLR start "rule__LogicalOrExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9859:1: rule__LogicalOrExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__LogicalOrExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9863:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9864:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9864:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9865:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionAccess().getLogicalOrExpressionLeftOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9866:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9868:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalOrExpressionAccess().getLogicalOrExpressionLeftOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group_1__0__Impl"


    // $ANTLR start "rule__LogicalOrExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9878:1: rule__LogicalOrExpression__Group_1__1 : rule__LogicalOrExpression__Group_1__1__Impl rule__LogicalOrExpression__Group_1__2 ;
    public final void rule__LogicalOrExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9882:1: ( rule__LogicalOrExpression__Group_1__1__Impl rule__LogicalOrExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9883:2: rule__LogicalOrExpression__Group_1__1__Impl rule__LogicalOrExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group_1__1__Impl_in_rule__LogicalOrExpression__Group_1__120328);
            rule__LogicalOrExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group_1__2_in_rule__LogicalOrExpression__Group_1__120331);
            rule__LogicalOrExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group_1__1"


    // $ANTLR start "rule__LogicalOrExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9890:1: rule__LogicalOrExpression__Group_1__1__Impl : ( '||' ) ;
    public final void rule__LogicalOrExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9894:1: ( ( '||' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9895:1: ( '||' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9895:1: ( '||' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9896:1: '||'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionAccess().getVerticalLineVerticalLineKeyword_1_1()); 
            }
            match(input,71,FOLLOW_71_in_rule__LogicalOrExpression__Group_1__1__Impl20359); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalOrExpressionAccess().getVerticalLineVerticalLineKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group_1__1__Impl"


    // $ANTLR start "rule__LogicalOrExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9909:1: rule__LogicalOrExpression__Group_1__2 : rule__LogicalOrExpression__Group_1__2__Impl ;
    public final void rule__LogicalOrExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9913:1: ( rule__LogicalOrExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9914:2: rule__LogicalOrExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__LogicalOrExpression__Group_1__2__Impl_in_rule__LogicalOrExpression__Group_1__220390);
            rule__LogicalOrExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group_1__2"


    // $ANTLR start "rule__LogicalOrExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9920:1: rule__LogicalOrExpression__Group_1__2__Impl : ( ( rule__LogicalOrExpression__RightOperandAssignment_1_2 ) ) ;
    public final void rule__LogicalOrExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9924:1: ( ( ( rule__LogicalOrExpression__RightOperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9925:1: ( ( rule__LogicalOrExpression__RightOperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9925:1: ( ( rule__LogicalOrExpression__RightOperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9926:1: ( rule__LogicalOrExpression__RightOperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionAccess().getRightOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9927:1: ( rule__LogicalOrExpression__RightOperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9927:2: rule__LogicalOrExpression__RightOperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__LogicalOrExpression__RightOperandAssignment_1_2_in_rule__LogicalOrExpression__Group_1__2__Impl20417);
            rule__LogicalOrExpression__RightOperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalOrExpressionAccess().getRightOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__Group_1__2__Impl"


    // $ANTLR start "rule__LogicalAndExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9943:1: rule__LogicalAndExpression__Group__0 : rule__LogicalAndExpression__Group__0__Impl rule__LogicalAndExpression__Group__1 ;
    public final void rule__LogicalAndExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9947:1: ( rule__LogicalAndExpression__Group__0__Impl rule__LogicalAndExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9948:2: rule__LogicalAndExpression__Group__0__Impl rule__LogicalAndExpression__Group__1
            {
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group__0__Impl_in_rule__LogicalAndExpression__Group__020453);
            rule__LogicalAndExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group__1_in_rule__LogicalAndExpression__Group__020456);
            rule__LogicalAndExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group__0"


    // $ANTLR start "rule__LogicalAndExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9955:1: rule__LogicalAndExpression__Group__0__Impl : ( ruleEqualityExpression ) ;
    public final void rule__LogicalAndExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9959:1: ( ( ruleEqualityExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9960:1: ( ruleEqualityExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9960:1: ( ruleEqualityExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9961:1: ruleEqualityExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionAccess().getEqualityExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleEqualityExpression_in_rule__LogicalAndExpression__Group__0__Impl20483);
            ruleEqualityExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalAndExpressionAccess().getEqualityExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group__0__Impl"


    // $ANTLR start "rule__LogicalAndExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9972:1: rule__LogicalAndExpression__Group__1 : rule__LogicalAndExpression__Group__1__Impl ;
    public final void rule__LogicalAndExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9976:1: ( rule__LogicalAndExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9977:2: rule__LogicalAndExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group__1__Impl_in_rule__LogicalAndExpression__Group__120512);
            rule__LogicalAndExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group__1"


    // $ANTLR start "rule__LogicalAndExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9983:1: rule__LogicalAndExpression__Group__1__Impl : ( ( rule__LogicalAndExpression__Group_1__0 )* ) ;
    public final void rule__LogicalAndExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9987:1: ( ( ( rule__LogicalAndExpression__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9988:1: ( ( rule__LogicalAndExpression__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9988:1: ( ( rule__LogicalAndExpression__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9989:1: ( rule__LogicalAndExpression__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9990:1: ( rule__LogicalAndExpression__Group_1__0 )*
            loop73:
            do {
                int alt73=2;
                int LA73_0 = input.LA(1);

                if ( (LA73_0==72) ) {
                    alt73=1;
                }


                switch (alt73) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:9990:2: rule__LogicalAndExpression__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__LogicalAndExpression__Group_1__0_in_rule__LogicalAndExpression__Group__1__Impl20539);
            	    rule__LogicalAndExpression__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop73;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalAndExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group__1__Impl"


    // $ANTLR start "rule__LogicalAndExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10004:1: rule__LogicalAndExpression__Group_1__0 : rule__LogicalAndExpression__Group_1__0__Impl rule__LogicalAndExpression__Group_1__1 ;
    public final void rule__LogicalAndExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10008:1: ( rule__LogicalAndExpression__Group_1__0__Impl rule__LogicalAndExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10009:2: rule__LogicalAndExpression__Group_1__0__Impl rule__LogicalAndExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group_1__0__Impl_in_rule__LogicalAndExpression__Group_1__020574);
            rule__LogicalAndExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group_1__1_in_rule__LogicalAndExpression__Group_1__020577);
            rule__LogicalAndExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group_1__0"


    // $ANTLR start "rule__LogicalAndExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10016:1: rule__LogicalAndExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__LogicalAndExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10020:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10021:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10021:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10022:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10023:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10025:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalAndExpressionAccess().getLogicalAndExpressionLeftOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group_1__0__Impl"


    // $ANTLR start "rule__LogicalAndExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10035:1: rule__LogicalAndExpression__Group_1__1 : rule__LogicalAndExpression__Group_1__1__Impl rule__LogicalAndExpression__Group_1__2 ;
    public final void rule__LogicalAndExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10039:1: ( rule__LogicalAndExpression__Group_1__1__Impl rule__LogicalAndExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10040:2: rule__LogicalAndExpression__Group_1__1__Impl rule__LogicalAndExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group_1__1__Impl_in_rule__LogicalAndExpression__Group_1__120635);
            rule__LogicalAndExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group_1__2_in_rule__LogicalAndExpression__Group_1__120638);
            rule__LogicalAndExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group_1__1"


    // $ANTLR start "rule__LogicalAndExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10047:1: rule__LogicalAndExpression__Group_1__1__Impl : ( '&&' ) ;
    public final void rule__LogicalAndExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10051:1: ( ( '&&' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10052:1: ( '&&' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10052:1: ( '&&' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10053:1: '&&'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionAccess().getAmpersandAmpersandKeyword_1_1()); 
            }
            match(input,72,FOLLOW_72_in_rule__LogicalAndExpression__Group_1__1__Impl20666); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalAndExpressionAccess().getAmpersandAmpersandKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group_1__1__Impl"


    // $ANTLR start "rule__LogicalAndExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10066:1: rule__LogicalAndExpression__Group_1__2 : rule__LogicalAndExpression__Group_1__2__Impl ;
    public final void rule__LogicalAndExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10070:1: ( rule__LogicalAndExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10071:2: rule__LogicalAndExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__LogicalAndExpression__Group_1__2__Impl_in_rule__LogicalAndExpression__Group_1__220697);
            rule__LogicalAndExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group_1__2"


    // $ANTLR start "rule__LogicalAndExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10077:1: rule__LogicalAndExpression__Group_1__2__Impl : ( ( rule__LogicalAndExpression__RightOperandAssignment_1_2 ) ) ;
    public final void rule__LogicalAndExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10081:1: ( ( ( rule__LogicalAndExpression__RightOperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10082:1: ( ( rule__LogicalAndExpression__RightOperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10082:1: ( ( rule__LogicalAndExpression__RightOperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10083:1: ( rule__LogicalAndExpression__RightOperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionAccess().getRightOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10084:1: ( rule__LogicalAndExpression__RightOperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10084:2: rule__LogicalAndExpression__RightOperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__LogicalAndExpression__RightOperandAssignment_1_2_in_rule__LogicalAndExpression__Group_1__2__Impl20724);
            rule__LogicalAndExpression__RightOperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalAndExpressionAccess().getRightOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__Group_1__2__Impl"


    // $ANTLR start "rule__EqualityExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10100:1: rule__EqualityExpression__Group__0 : rule__EqualityExpression__Group__0__Impl rule__EqualityExpression__Group__1 ;
    public final void rule__EqualityExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10104:1: ( rule__EqualityExpression__Group__0__Impl rule__EqualityExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10105:2: rule__EqualityExpression__Group__0__Impl rule__EqualityExpression__Group__1
            {
            pushFollow(FOLLOW_rule__EqualityExpression__Group__0__Impl_in_rule__EqualityExpression__Group__020760);
            rule__EqualityExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EqualityExpression__Group__1_in_rule__EqualityExpression__Group__020763);
            rule__EqualityExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group__0"


    // $ANTLR start "rule__EqualityExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10112:1: rule__EqualityExpression__Group__0__Impl : ( ruleRelationalExpression ) ;
    public final void rule__EqualityExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10116:1: ( ( ruleRelationalExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10117:1: ( ruleRelationalExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10117:1: ( ruleRelationalExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10118:1: ruleRelationalExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getRelationalExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleRelationalExpression_in_rule__EqualityExpression__Group__0__Impl20790);
            ruleRelationalExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEqualityExpressionAccess().getRelationalExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group__0__Impl"


    // $ANTLR start "rule__EqualityExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10129:1: rule__EqualityExpression__Group__1 : rule__EqualityExpression__Group__1__Impl ;
    public final void rule__EqualityExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10133:1: ( rule__EqualityExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10134:2: rule__EqualityExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__EqualityExpression__Group__1__Impl_in_rule__EqualityExpression__Group__120819);
            rule__EqualityExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group__1"


    // $ANTLR start "rule__EqualityExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10140:1: rule__EqualityExpression__Group__1__Impl : ( ( rule__EqualityExpression__Group_1__0 )* ) ;
    public final void rule__EqualityExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10144:1: ( ( ( rule__EqualityExpression__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10145:1: ( ( rule__EqualityExpression__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10145:1: ( ( rule__EqualityExpression__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10146:1: ( rule__EqualityExpression__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10147:1: ( rule__EqualityExpression__Group_1__0 )*
            loop74:
            do {
                int alt74=2;
                int LA74_0 = input.LA(1);

                if ( ((LA74_0>=22 && LA74_0<=23)) ) {
                    alt74=1;
                }


                switch (alt74) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10147:2: rule__EqualityExpression__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__EqualityExpression__Group_1__0_in_rule__EqualityExpression__Group__1__Impl20846);
            	    rule__EqualityExpression__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop74;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEqualityExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group__1__Impl"


    // $ANTLR start "rule__EqualityExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10161:1: rule__EqualityExpression__Group_1__0 : rule__EqualityExpression__Group_1__0__Impl rule__EqualityExpression__Group_1__1 ;
    public final void rule__EqualityExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10165:1: ( rule__EqualityExpression__Group_1__0__Impl rule__EqualityExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10166:2: rule__EqualityExpression__Group_1__0__Impl rule__EqualityExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__EqualityExpression__Group_1__0__Impl_in_rule__EqualityExpression__Group_1__020881);
            rule__EqualityExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EqualityExpression__Group_1__1_in_rule__EqualityExpression__Group_1__020884);
            rule__EqualityExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group_1__0"


    // $ANTLR start "rule__EqualityExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10173:1: rule__EqualityExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__EqualityExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10177:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10178:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10178:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10179:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getEqualityExpressionLeftOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10180:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10182:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEqualityExpressionAccess().getEqualityExpressionLeftOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group_1__0__Impl"


    // $ANTLR start "rule__EqualityExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10192:1: rule__EqualityExpression__Group_1__1 : rule__EqualityExpression__Group_1__1__Impl rule__EqualityExpression__Group_1__2 ;
    public final void rule__EqualityExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10196:1: ( rule__EqualityExpression__Group_1__1__Impl rule__EqualityExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10197:2: rule__EqualityExpression__Group_1__1__Impl rule__EqualityExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__EqualityExpression__Group_1__1__Impl_in_rule__EqualityExpression__Group_1__120942);
            rule__EqualityExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EqualityExpression__Group_1__2_in_rule__EqualityExpression__Group_1__120945);
            rule__EqualityExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group_1__1"


    // $ANTLR start "rule__EqualityExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10204:1: rule__EqualityExpression__Group_1__1__Impl : ( ( rule__EqualityExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__EqualityExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10208:1: ( ( ( rule__EqualityExpression__OperatorAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10209:1: ( ( rule__EqualityExpression__OperatorAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10209:1: ( ( rule__EqualityExpression__OperatorAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10210:1: ( rule__EqualityExpression__OperatorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10211:1: ( rule__EqualityExpression__OperatorAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10211:2: rule__EqualityExpression__OperatorAssignment_1_1
            {
            pushFollow(FOLLOW_rule__EqualityExpression__OperatorAssignment_1_1_in_rule__EqualityExpression__Group_1__1__Impl20972);
            rule__EqualityExpression__OperatorAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEqualityExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group_1__1__Impl"


    // $ANTLR start "rule__EqualityExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10221:1: rule__EqualityExpression__Group_1__2 : rule__EqualityExpression__Group_1__2__Impl ;
    public final void rule__EqualityExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10225:1: ( rule__EqualityExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10226:2: rule__EqualityExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__EqualityExpression__Group_1__2__Impl_in_rule__EqualityExpression__Group_1__221002);
            rule__EqualityExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group_1__2"


    // $ANTLR start "rule__EqualityExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10232:1: rule__EqualityExpression__Group_1__2__Impl : ( ( rule__EqualityExpression__RightOperandAssignment_1_2 ) ) ;
    public final void rule__EqualityExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10236:1: ( ( ( rule__EqualityExpression__RightOperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10237:1: ( ( rule__EqualityExpression__RightOperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10237:1: ( ( rule__EqualityExpression__RightOperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10238:1: ( rule__EqualityExpression__RightOperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getRightOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10239:1: ( rule__EqualityExpression__RightOperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10239:2: rule__EqualityExpression__RightOperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__EqualityExpression__RightOperandAssignment_1_2_in_rule__EqualityExpression__Group_1__2__Impl21029);
            rule__EqualityExpression__RightOperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEqualityExpressionAccess().getRightOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__Group_1__2__Impl"


    // $ANTLR start "rule__RelationalExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10255:1: rule__RelationalExpression__Group__0 : rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 ;
    public final void rule__RelationalExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10259:1: ( rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10260:2: rule__RelationalExpression__Group__0__Impl rule__RelationalExpression__Group__1
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group__0__Impl_in_rule__RelationalExpression__Group__021065);
            rule__RelationalExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RelationalExpression__Group__1_in_rule__RelationalExpression__Group__021068);
            rule__RelationalExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group__0"


    // $ANTLR start "rule__RelationalExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10267:1: rule__RelationalExpression__Group__0__Impl : ( ruleAdditiveExpression ) ;
    public final void rule__RelationalExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10271:1: ( ( ruleAdditiveExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10272:1: ( ruleAdditiveExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10272:1: ( ruleAdditiveExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10273:1: ruleAdditiveExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleAdditiveExpression_in_rule__RelationalExpression__Group__0__Impl21095);
            ruleAdditiveExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getAdditiveExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group__0__Impl"


    // $ANTLR start "rule__RelationalExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10284:1: rule__RelationalExpression__Group__1 : rule__RelationalExpression__Group__1__Impl ;
    public final void rule__RelationalExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10288:1: ( rule__RelationalExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10289:2: rule__RelationalExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group__1__Impl_in_rule__RelationalExpression__Group__121124);
            rule__RelationalExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group__1"


    // $ANTLR start "rule__RelationalExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10295:1: rule__RelationalExpression__Group__1__Impl : ( ( rule__RelationalExpression__Group_1__0 )? ) ;
    public final void rule__RelationalExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10299:1: ( ( ( rule__RelationalExpression__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10300:1: ( ( rule__RelationalExpression__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10300:1: ( ( rule__RelationalExpression__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10301:1: ( rule__RelationalExpression__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10302:1: ( rule__RelationalExpression__Group_1__0 )?
            int alt75=2;
            alt75 = dfa75.predict(input);
            switch (alt75) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10302:2: rule__RelationalExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__RelationalExpression__Group_1__0_in_rule__RelationalExpression__Group__1__Impl21151);
                    rule__RelationalExpression__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group__1__Impl"


    // $ANTLR start "rule__RelationalExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10316:1: rule__RelationalExpression__Group_1__0 : rule__RelationalExpression__Group_1__0__Impl ;
    public final void rule__RelationalExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10320:1: ( rule__RelationalExpression__Group_1__0__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10321:2: rule__RelationalExpression__Group_1__0__Impl
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1__0__Impl_in_rule__RelationalExpression__Group_1__021186);
            rule__RelationalExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1__0"


    // $ANTLR start "rule__RelationalExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10327:1: rule__RelationalExpression__Group_1__0__Impl : ( ( rule__RelationalExpression__Alternatives_1_0 ) ) ;
    public final void rule__RelationalExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10331:1: ( ( ( rule__RelationalExpression__Alternatives_1_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10332:1: ( ( rule__RelationalExpression__Alternatives_1_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10332:1: ( ( rule__RelationalExpression__Alternatives_1_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10333:1: ( rule__RelationalExpression__Alternatives_1_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getAlternatives_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10334:1: ( rule__RelationalExpression__Alternatives_1_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10334:2: rule__RelationalExpression__Alternatives_1_0
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Alternatives_1_0_in_rule__RelationalExpression__Group_1__0__Impl21213);
            rule__RelationalExpression__Alternatives_1_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getAlternatives_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1__0__Impl"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_0__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10346:1: rule__RelationalExpression__Group_1_0_0__0 : rule__RelationalExpression__Group_1_0_0__0__Impl rule__RelationalExpression__Group_1_0_0__1 ;
    public final void rule__RelationalExpression__Group_1_0_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10350:1: ( rule__RelationalExpression__Group_1_0_0__0__Impl rule__RelationalExpression__Group_1_0_0__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10351:2: rule__RelationalExpression__Group_1_0_0__0__Impl rule__RelationalExpression__Group_1_0_0__1
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_0__0__Impl_in_rule__RelationalExpression__Group_1_0_0__021245);
            rule__RelationalExpression__Group_1_0_0__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_0__1_in_rule__RelationalExpression__Group_1_0_0__021248);
            rule__RelationalExpression__Group_1_0_0__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_0__0"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_0__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10358:1: rule__RelationalExpression__Group_1_0_0__0__Impl : ( () ) ;
    public final void rule__RelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10362:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10363:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10363:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10364:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getRelationalExpressionLeftOperandAction_1_0_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10365:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10367:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getRelationalExpressionLeftOperandAction_1_0_0_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_0__0__Impl"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_0__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10377:1: rule__RelationalExpression__Group_1_0_0__1 : rule__RelationalExpression__Group_1_0_0__1__Impl rule__RelationalExpression__Group_1_0_0__2 ;
    public final void rule__RelationalExpression__Group_1_0_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10381:1: ( rule__RelationalExpression__Group_1_0_0__1__Impl rule__RelationalExpression__Group_1_0_0__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10382:2: rule__RelationalExpression__Group_1_0_0__1__Impl rule__RelationalExpression__Group_1_0_0__2
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_0__1__Impl_in_rule__RelationalExpression__Group_1_0_0__121306);
            rule__RelationalExpression__Group_1_0_0__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_0__2_in_rule__RelationalExpression__Group_1_0_0__121309);
            rule__RelationalExpression__Group_1_0_0__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_0__1"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_0__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10389:1: rule__RelationalExpression__Group_1_0_0__1__Impl : ( ( rule__RelationalExpression__OperatorAssignment_1_0_0_1 ) ) ;
    public final void rule__RelationalExpression__Group_1_0_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10393:1: ( ( ( rule__RelationalExpression__OperatorAssignment_1_0_0_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10394:1: ( ( rule__RelationalExpression__OperatorAssignment_1_0_0_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10394:1: ( ( rule__RelationalExpression__OperatorAssignment_1_0_0_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10395:1: ( rule__RelationalExpression__OperatorAssignment_1_0_0_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_0_0_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10396:1: ( rule__RelationalExpression__OperatorAssignment_1_0_0_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10396:2: rule__RelationalExpression__OperatorAssignment_1_0_0_1
            {
            pushFollow(FOLLOW_rule__RelationalExpression__OperatorAssignment_1_0_0_1_in_rule__RelationalExpression__Group_1_0_0__1__Impl21336);
            rule__RelationalExpression__OperatorAssignment_1_0_0_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getOperatorAssignment_1_0_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_0__1__Impl"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_0__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10406:1: rule__RelationalExpression__Group_1_0_0__2 : rule__RelationalExpression__Group_1_0_0__2__Impl ;
    public final void rule__RelationalExpression__Group_1_0_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10410:1: ( rule__RelationalExpression__Group_1_0_0__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10411:2: rule__RelationalExpression__Group_1_0_0__2__Impl
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_0__2__Impl_in_rule__RelationalExpression__Group_1_0_0__221366);
            rule__RelationalExpression__Group_1_0_0__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_0__2"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_0__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10417:1: rule__RelationalExpression__Group_1_0_0__2__Impl : ( ( rule__RelationalExpression__RightOperandAssignment_1_0_0_2 ) ) ;
    public final void rule__RelationalExpression__Group_1_0_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10421:1: ( ( ( rule__RelationalExpression__RightOperandAssignment_1_0_0_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10422:1: ( ( rule__RelationalExpression__RightOperandAssignment_1_0_0_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10422:1: ( ( rule__RelationalExpression__RightOperandAssignment_1_0_0_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10423:1: ( rule__RelationalExpression__RightOperandAssignment_1_0_0_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getRightOperandAssignment_1_0_0_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10424:1: ( rule__RelationalExpression__RightOperandAssignment_1_0_0_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10424:2: rule__RelationalExpression__RightOperandAssignment_1_0_0_2
            {
            pushFollow(FOLLOW_rule__RelationalExpression__RightOperandAssignment_1_0_0_2_in_rule__RelationalExpression__Group_1_0_0__2__Impl21393);
            rule__RelationalExpression__RightOperandAssignment_1_0_0_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getRightOperandAssignment_1_0_0_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_0__2__Impl"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10440:1: rule__RelationalExpression__Group_1_0_1__0 : rule__RelationalExpression__Group_1_0_1__0__Impl rule__RelationalExpression__Group_1_0_1__1 ;
    public final void rule__RelationalExpression__Group_1_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10444:1: ( rule__RelationalExpression__Group_1_0_1__0__Impl rule__RelationalExpression__Group_1_0_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10445:2: rule__RelationalExpression__Group_1_0_1__0__Impl rule__RelationalExpression__Group_1_0_1__1
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_1__0__Impl_in_rule__RelationalExpression__Group_1_0_1__021429);
            rule__RelationalExpression__Group_1_0_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_1__1_in_rule__RelationalExpression__Group_1_0_1__021432);
            rule__RelationalExpression__Group_1_0_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_1__0"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10452:1: rule__RelationalExpression__Group_1_0_1__0__Impl : ( () ) ;
    public final void rule__RelationalExpression__Group_1_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10456:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10457:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10457:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10458:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getTypeTestExpressionExpressionAction_1_0_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10459:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10461:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getTypeTestExpressionExpressionAction_1_0_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_1__0__Impl"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10471:1: rule__RelationalExpression__Group_1_0_1__1 : rule__RelationalExpression__Group_1_0_1__1__Impl rule__RelationalExpression__Group_1_0_1__2 ;
    public final void rule__RelationalExpression__Group_1_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10475:1: ( rule__RelationalExpression__Group_1_0_1__1__Impl rule__RelationalExpression__Group_1_0_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10476:2: rule__RelationalExpression__Group_1_0_1__1__Impl rule__RelationalExpression__Group_1_0_1__2
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_1__1__Impl_in_rule__RelationalExpression__Group_1_0_1__121490);
            rule__RelationalExpression__Group_1_0_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_1__2_in_rule__RelationalExpression__Group_1_0_1__121493);
            rule__RelationalExpression__Group_1_0_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_1__1"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10483:1: rule__RelationalExpression__Group_1_0_1__1__Impl : ( 'is' ) ;
    public final void rule__RelationalExpression__Group_1_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10487:1: ( ( 'is' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10488:1: ( 'is' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10488:1: ( 'is' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10489:1: 'is'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getIsKeyword_1_0_1_1()); 
            }
            match(input,73,FOLLOW_73_in_rule__RelationalExpression__Group_1_0_1__1__Impl21521); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getIsKeyword_1_0_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_1__1__Impl"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10502:1: rule__RelationalExpression__Group_1_0_1__2 : rule__RelationalExpression__Group_1_0_1__2__Impl ;
    public final void rule__RelationalExpression__Group_1_0_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10506:1: ( rule__RelationalExpression__Group_1_0_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10507:2: rule__RelationalExpression__Group_1_0_1__2__Impl
            {
            pushFollow(FOLLOW_rule__RelationalExpression__Group_1_0_1__2__Impl_in_rule__RelationalExpression__Group_1_0_1__221552);
            rule__RelationalExpression__Group_1_0_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_1__2"


    // $ANTLR start "rule__RelationalExpression__Group_1_0_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10513:1: rule__RelationalExpression__Group_1_0_1__2__Impl : ( ( rule__RelationalExpression__TypeAssignment_1_0_1_2 ) ) ;
    public final void rule__RelationalExpression__Group_1_0_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10517:1: ( ( ( rule__RelationalExpression__TypeAssignment_1_0_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10518:1: ( ( rule__RelationalExpression__TypeAssignment_1_0_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10518:1: ( ( rule__RelationalExpression__TypeAssignment_1_0_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10519:1: ( rule__RelationalExpression__TypeAssignment_1_0_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getTypeAssignment_1_0_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10520:1: ( rule__RelationalExpression__TypeAssignment_1_0_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10520:2: rule__RelationalExpression__TypeAssignment_1_0_1_2
            {
            pushFollow(FOLLOW_rule__RelationalExpression__TypeAssignment_1_0_1_2_in_rule__RelationalExpression__Group_1_0_1__2__Impl21579);
            rule__RelationalExpression__TypeAssignment_1_0_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getTypeAssignment_1_0_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__Group_1_0_1__2__Impl"


    // $ANTLR start "rule__AdditiveExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10536:1: rule__AdditiveExpression__Group__0 : rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 ;
    public final void rule__AdditiveExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10540:1: ( rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10541:2: rule__AdditiveExpression__Group__0__Impl rule__AdditiveExpression__Group__1
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__Group__0__Impl_in_rule__AdditiveExpression__Group__021615);
            rule__AdditiveExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AdditiveExpression__Group__1_in_rule__AdditiveExpression__Group__021618);
            rule__AdditiveExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group__0"


    // $ANTLR start "rule__AdditiveExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10548:1: rule__AdditiveExpression__Group__0__Impl : ( ruleMultiplicativeExpression ) ;
    public final void rule__AdditiveExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10552:1: ( ( ruleMultiplicativeExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10553:1: ( ruleMultiplicativeExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10553:1: ( ruleMultiplicativeExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10554:1: ruleMultiplicativeExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleMultiplicativeExpression_in_rule__AdditiveExpression__Group__0__Impl21645);
            ruleMultiplicativeExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group__0__Impl"


    // $ANTLR start "rule__AdditiveExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10565:1: rule__AdditiveExpression__Group__1 : rule__AdditiveExpression__Group__1__Impl ;
    public final void rule__AdditiveExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10569:1: ( rule__AdditiveExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10570:2: rule__AdditiveExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__Group__1__Impl_in_rule__AdditiveExpression__Group__121674);
            rule__AdditiveExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group__1"


    // $ANTLR start "rule__AdditiveExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10576:1: rule__AdditiveExpression__Group__1__Impl : ( ( rule__AdditiveExpression__Group_1__0 )* ) ;
    public final void rule__AdditiveExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10580:1: ( ( ( rule__AdditiveExpression__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10581:1: ( ( rule__AdditiveExpression__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10581:1: ( ( rule__AdditiveExpression__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10582:1: ( rule__AdditiveExpression__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10583:1: ( rule__AdditiveExpression__Group_1__0 )*
            loop76:
            do {
                int alt76=2;
                int LA76_0 = input.LA(1);

                if ( ((LA76_0>=28 && LA76_0<=29)) ) {
                    alt76=1;
                }


                switch (alt76) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10583:2: rule__AdditiveExpression__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__AdditiveExpression__Group_1__0_in_rule__AdditiveExpression__Group__1__Impl21701);
            	    rule__AdditiveExpression__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop76;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group__1__Impl"


    // $ANTLR start "rule__AdditiveExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10597:1: rule__AdditiveExpression__Group_1__0 : rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 ;
    public final void rule__AdditiveExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10601:1: ( rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10602:2: rule__AdditiveExpression__Group_1__0__Impl rule__AdditiveExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__Group_1__0__Impl_in_rule__AdditiveExpression__Group_1__021736);
            rule__AdditiveExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AdditiveExpression__Group_1__1_in_rule__AdditiveExpression__Group_1__021739);
            rule__AdditiveExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group_1__0"


    // $ANTLR start "rule__AdditiveExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10609:1: rule__AdditiveExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__AdditiveExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10613:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10614:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10614:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10615:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getAdditiveExpressionLeftOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10616:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10618:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveExpressionAccess().getAdditiveExpressionLeftOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group_1__0__Impl"


    // $ANTLR start "rule__AdditiveExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10628:1: rule__AdditiveExpression__Group_1__1 : rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 ;
    public final void rule__AdditiveExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10632:1: ( rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10633:2: rule__AdditiveExpression__Group_1__1__Impl rule__AdditiveExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__Group_1__1__Impl_in_rule__AdditiveExpression__Group_1__121797);
            rule__AdditiveExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AdditiveExpression__Group_1__2_in_rule__AdditiveExpression__Group_1__121800);
            rule__AdditiveExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group_1__1"


    // $ANTLR start "rule__AdditiveExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10640:1: rule__AdditiveExpression__Group_1__1__Impl : ( ( rule__AdditiveExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__AdditiveExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10644:1: ( ( ( rule__AdditiveExpression__OperatorAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10645:1: ( ( rule__AdditiveExpression__OperatorAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10645:1: ( ( rule__AdditiveExpression__OperatorAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10646:1: ( rule__AdditiveExpression__OperatorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10647:1: ( rule__AdditiveExpression__OperatorAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10647:2: rule__AdditiveExpression__OperatorAssignment_1_1
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__OperatorAssignment_1_1_in_rule__AdditiveExpression__Group_1__1__Impl21827);
            rule__AdditiveExpression__OperatorAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group_1__1__Impl"


    // $ANTLR start "rule__AdditiveExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10657:1: rule__AdditiveExpression__Group_1__2 : rule__AdditiveExpression__Group_1__2__Impl ;
    public final void rule__AdditiveExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10661:1: ( rule__AdditiveExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10662:2: rule__AdditiveExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__Group_1__2__Impl_in_rule__AdditiveExpression__Group_1__221857);
            rule__AdditiveExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group_1__2"


    // $ANTLR start "rule__AdditiveExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10668:1: rule__AdditiveExpression__Group_1__2__Impl : ( ( rule__AdditiveExpression__RightOperandAssignment_1_2 ) ) ;
    public final void rule__AdditiveExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10672:1: ( ( ( rule__AdditiveExpression__RightOperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10673:1: ( ( rule__AdditiveExpression__RightOperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10673:1: ( ( rule__AdditiveExpression__RightOperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10674:1: ( rule__AdditiveExpression__RightOperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getRightOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10675:1: ( rule__AdditiveExpression__RightOperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10675:2: rule__AdditiveExpression__RightOperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__AdditiveExpression__RightOperandAssignment_1_2_in_rule__AdditiveExpression__Group_1__2__Impl21884);
            rule__AdditiveExpression__RightOperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveExpressionAccess().getRightOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__Group_1__2__Impl"


    // $ANTLR start "rule__MultiplicativeExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10691:1: rule__MultiplicativeExpression__Group__0 : rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 ;
    public final void rule__MultiplicativeExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10695:1: ( rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10696:2: rule__MultiplicativeExpression__Group__0__Impl rule__MultiplicativeExpression__Group__1
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group__0__Impl_in_rule__MultiplicativeExpression__Group__021920);
            rule__MultiplicativeExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group__1_in_rule__MultiplicativeExpression__Group__021923);
            rule__MultiplicativeExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group__0"


    // $ANTLR start "rule__MultiplicativeExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10703:1: rule__MultiplicativeExpression__Group__0__Impl : ( rulePowerExpression ) ;
    public final void rule__MultiplicativeExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10707:1: ( ( rulePowerExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10708:1: ( rulePowerExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10708:1: ( rulePowerExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10709:1: rulePowerExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getPowerExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_rulePowerExpression_in_rule__MultiplicativeExpression__Group__0__Impl21950);
            rulePowerExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMultiplicativeExpressionAccess().getPowerExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group__0__Impl"


    // $ANTLR start "rule__MultiplicativeExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10720:1: rule__MultiplicativeExpression__Group__1 : rule__MultiplicativeExpression__Group__1__Impl ;
    public final void rule__MultiplicativeExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10724:1: ( rule__MultiplicativeExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10725:2: rule__MultiplicativeExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group__1__Impl_in_rule__MultiplicativeExpression__Group__121979);
            rule__MultiplicativeExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group__1"


    // $ANTLR start "rule__MultiplicativeExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10731:1: rule__MultiplicativeExpression__Group__1__Impl : ( ( rule__MultiplicativeExpression__Group_1__0 )* ) ;
    public final void rule__MultiplicativeExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10735:1: ( ( ( rule__MultiplicativeExpression__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10736:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10736:1: ( ( rule__MultiplicativeExpression__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10737:1: ( rule__MultiplicativeExpression__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10738:1: ( rule__MultiplicativeExpression__Group_1__0 )*
            loop77:
            do {
                int alt77=2;
                int LA77_0 = input.LA(1);

                if ( ((LA77_0>=30 && LA77_0<=33)) ) {
                    alt77=1;
                }


                switch (alt77) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10738:2: rule__MultiplicativeExpression__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__MultiplicativeExpression__Group_1__0_in_rule__MultiplicativeExpression__Group__1__Impl22006);
            	    rule__MultiplicativeExpression__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop77;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMultiplicativeExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group__1__Impl"


    // $ANTLR start "rule__MultiplicativeExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10752:1: rule__MultiplicativeExpression__Group_1__0 : rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 ;
    public final void rule__MultiplicativeExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10756:1: ( rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10757:2: rule__MultiplicativeExpression__Group_1__0__Impl rule__MultiplicativeExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group_1__0__Impl_in_rule__MultiplicativeExpression__Group_1__022041);
            rule__MultiplicativeExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group_1__1_in_rule__MultiplicativeExpression__Group_1__022044);
            rule__MultiplicativeExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group_1__0"


    // $ANTLR start "rule__MultiplicativeExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10764:1: rule__MultiplicativeExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__MultiplicativeExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10768:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10769:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10769:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10770:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getMultiplicativeExpressionLeftOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10771:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10773:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMultiplicativeExpressionAccess().getMultiplicativeExpressionLeftOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group_1__0__Impl"


    // $ANTLR start "rule__MultiplicativeExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10783:1: rule__MultiplicativeExpression__Group_1__1 : rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 ;
    public final void rule__MultiplicativeExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10787:1: ( rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10788:2: rule__MultiplicativeExpression__Group_1__1__Impl rule__MultiplicativeExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group_1__1__Impl_in_rule__MultiplicativeExpression__Group_1__122102);
            rule__MultiplicativeExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group_1__2_in_rule__MultiplicativeExpression__Group_1__122105);
            rule__MultiplicativeExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group_1__1"


    // $ANTLR start "rule__MultiplicativeExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10795:1: rule__MultiplicativeExpression__Group_1__1__Impl : ( ( rule__MultiplicativeExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__MultiplicativeExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10799:1: ( ( ( rule__MultiplicativeExpression__OperatorAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10800:1: ( ( rule__MultiplicativeExpression__OperatorAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10800:1: ( ( rule__MultiplicativeExpression__OperatorAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10801:1: ( rule__MultiplicativeExpression__OperatorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10802:1: ( rule__MultiplicativeExpression__OperatorAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10802:2: rule__MultiplicativeExpression__OperatorAssignment_1_1
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__OperatorAssignment_1_1_in_rule__MultiplicativeExpression__Group_1__1__Impl22132);
            rule__MultiplicativeExpression__OperatorAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMultiplicativeExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group_1__1__Impl"


    // $ANTLR start "rule__MultiplicativeExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10812:1: rule__MultiplicativeExpression__Group_1__2 : rule__MultiplicativeExpression__Group_1__2__Impl ;
    public final void rule__MultiplicativeExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10816:1: ( rule__MultiplicativeExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10817:2: rule__MultiplicativeExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__Group_1__2__Impl_in_rule__MultiplicativeExpression__Group_1__222162);
            rule__MultiplicativeExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group_1__2"


    // $ANTLR start "rule__MultiplicativeExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10823:1: rule__MultiplicativeExpression__Group_1__2__Impl : ( ( rule__MultiplicativeExpression__RightOperandAssignment_1_2 ) ) ;
    public final void rule__MultiplicativeExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10827:1: ( ( ( rule__MultiplicativeExpression__RightOperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10828:1: ( ( rule__MultiplicativeExpression__RightOperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10828:1: ( ( rule__MultiplicativeExpression__RightOperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10829:1: ( rule__MultiplicativeExpression__RightOperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getRightOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10830:1: ( rule__MultiplicativeExpression__RightOperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10830:2: rule__MultiplicativeExpression__RightOperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__MultiplicativeExpression__RightOperandAssignment_1_2_in_rule__MultiplicativeExpression__Group_1__2__Impl22189);
            rule__MultiplicativeExpression__RightOperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMultiplicativeExpressionAccess().getRightOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__Group_1__2__Impl"


    // $ANTLR start "rule__PowerExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10846:1: rule__PowerExpression__Group__0 : rule__PowerExpression__Group__0__Impl rule__PowerExpression__Group__1 ;
    public final void rule__PowerExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10850:1: ( rule__PowerExpression__Group__0__Impl rule__PowerExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10851:2: rule__PowerExpression__Group__0__Impl rule__PowerExpression__Group__1
            {
            pushFollow(FOLLOW_rule__PowerExpression__Group__0__Impl_in_rule__PowerExpression__Group__022225);
            rule__PowerExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__PowerExpression__Group__1_in_rule__PowerExpression__Group__022228);
            rule__PowerExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group__0"


    // $ANTLR start "rule__PowerExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10858:1: rule__PowerExpression__Group__0__Impl : ( ruleUnaryExpression ) ;
    public final void rule__PowerExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10862:1: ( ( ruleUnaryExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10863:1: ( ruleUnaryExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10863:1: ( ruleUnaryExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10864:1: ruleUnaryExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getUnaryExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleUnaryExpression_in_rule__PowerExpression__Group__0__Impl22255);
            ruleUnaryExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getPowerExpressionAccess().getUnaryExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group__0__Impl"


    // $ANTLR start "rule__PowerExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10875:1: rule__PowerExpression__Group__1 : rule__PowerExpression__Group__1__Impl ;
    public final void rule__PowerExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10879:1: ( rule__PowerExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10880:2: rule__PowerExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__PowerExpression__Group__1__Impl_in_rule__PowerExpression__Group__122284);
            rule__PowerExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group__1"


    // $ANTLR start "rule__PowerExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10886:1: rule__PowerExpression__Group__1__Impl : ( ( rule__PowerExpression__Group_1__0 )? ) ;
    public final void rule__PowerExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10890:1: ( ( ( rule__PowerExpression__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10891:1: ( ( rule__PowerExpression__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10891:1: ( ( rule__PowerExpression__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10892:1: ( rule__PowerExpression__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10893:1: ( rule__PowerExpression__Group_1__0 )?
            int alt78=2;
            int LA78_0 = input.LA(1);

            if ( ((LA78_0>=34 && LA78_0<=35)) ) {
                alt78=1;
            }
            switch (alt78) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10893:2: rule__PowerExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__PowerExpression__Group_1__0_in_rule__PowerExpression__Group__1__Impl22311);
                    rule__PowerExpression__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPowerExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group__1__Impl"


    // $ANTLR start "rule__PowerExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10907:1: rule__PowerExpression__Group_1__0 : rule__PowerExpression__Group_1__0__Impl rule__PowerExpression__Group_1__1 ;
    public final void rule__PowerExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10911:1: ( rule__PowerExpression__Group_1__0__Impl rule__PowerExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10912:2: rule__PowerExpression__Group_1__0__Impl rule__PowerExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__PowerExpression__Group_1__0__Impl_in_rule__PowerExpression__Group_1__022346);
            rule__PowerExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__PowerExpression__Group_1__1_in_rule__PowerExpression__Group_1__022349);
            rule__PowerExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group_1__0"


    // $ANTLR start "rule__PowerExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10919:1: rule__PowerExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__PowerExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10923:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10924:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10924:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10925:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getPowerExpressionOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10926:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10928:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPowerExpressionAccess().getPowerExpressionOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group_1__0__Impl"


    // $ANTLR start "rule__PowerExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10938:1: rule__PowerExpression__Group_1__1 : rule__PowerExpression__Group_1__1__Impl rule__PowerExpression__Group_1__2 ;
    public final void rule__PowerExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10942:1: ( rule__PowerExpression__Group_1__1__Impl rule__PowerExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10943:2: rule__PowerExpression__Group_1__1__Impl rule__PowerExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__PowerExpression__Group_1__1__Impl_in_rule__PowerExpression__Group_1__122407);
            rule__PowerExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__PowerExpression__Group_1__2_in_rule__PowerExpression__Group_1__122410);
            rule__PowerExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group_1__1"


    // $ANTLR start "rule__PowerExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10950:1: rule__PowerExpression__Group_1__1__Impl : ( ( rule__PowerExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__PowerExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10954:1: ( ( ( rule__PowerExpression__OperatorAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10955:1: ( ( rule__PowerExpression__OperatorAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10955:1: ( ( rule__PowerExpression__OperatorAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10956:1: ( rule__PowerExpression__OperatorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10957:1: ( rule__PowerExpression__OperatorAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10957:2: rule__PowerExpression__OperatorAssignment_1_1
            {
            pushFollow(FOLLOW_rule__PowerExpression__OperatorAssignment_1_1_in_rule__PowerExpression__Group_1__1__Impl22437);
            rule__PowerExpression__OperatorAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPowerExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group_1__1__Impl"


    // $ANTLR start "rule__PowerExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10967:1: rule__PowerExpression__Group_1__2 : rule__PowerExpression__Group_1__2__Impl ;
    public final void rule__PowerExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10971:1: ( rule__PowerExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10972:2: rule__PowerExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__PowerExpression__Group_1__2__Impl_in_rule__PowerExpression__Group_1__222467);
            rule__PowerExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group_1__2"


    // $ANTLR start "rule__PowerExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10978:1: rule__PowerExpression__Group_1__2__Impl : ( ( rule__PowerExpression__ExponentAssignment_1_2 ) ) ;
    public final void rule__PowerExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10982:1: ( ( ( rule__PowerExpression__ExponentAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10983:1: ( ( rule__PowerExpression__ExponentAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10983:1: ( ( rule__PowerExpression__ExponentAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10984:1: ( rule__PowerExpression__ExponentAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getExponentAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10985:1: ( rule__PowerExpression__ExponentAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10985:2: rule__PowerExpression__ExponentAssignment_1_2
            {
            pushFollow(FOLLOW_rule__PowerExpression__ExponentAssignment_1_2_in_rule__PowerExpression__Group_1__2__Impl22494);
            rule__PowerExpression__ExponentAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPowerExpressionAccess().getExponentAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__Group_1__2__Impl"


    // $ANTLR start "rule__UnaryExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11001:1: rule__UnaryExpression__Group_1__0 : rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 ;
    public final void rule__UnaryExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11005:1: ( rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11006:2: rule__UnaryExpression__Group_1__0__Impl rule__UnaryExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__UnaryExpression__Group_1__0__Impl_in_rule__UnaryExpression__Group_1__022530);
            rule__UnaryExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnaryExpression__Group_1__1_in_rule__UnaryExpression__Group_1__022533);
            rule__UnaryExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__Group_1__0"


    // $ANTLR start "rule__UnaryExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11013:1: rule__UnaryExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__UnaryExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11017:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11018:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11018:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11019:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11020:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11022:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnaryExpressionAccess().getUnaryExpressionAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__Group_1__0__Impl"


    // $ANTLR start "rule__UnaryExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11032:1: rule__UnaryExpression__Group_1__1 : rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 ;
    public final void rule__UnaryExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11036:1: ( rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11037:2: rule__UnaryExpression__Group_1__1__Impl rule__UnaryExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__UnaryExpression__Group_1__1__Impl_in_rule__UnaryExpression__Group_1__122591);
            rule__UnaryExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnaryExpression__Group_1__2_in_rule__UnaryExpression__Group_1__122594);
            rule__UnaryExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__Group_1__1"


    // $ANTLR start "rule__UnaryExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11044:1: rule__UnaryExpression__Group_1__1__Impl : ( ( rule__UnaryExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__UnaryExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11048:1: ( ( ( rule__UnaryExpression__OperatorAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11049:1: ( ( rule__UnaryExpression__OperatorAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11049:1: ( ( rule__UnaryExpression__OperatorAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11050:1: ( rule__UnaryExpression__OperatorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11051:1: ( rule__UnaryExpression__OperatorAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11051:2: rule__UnaryExpression__OperatorAssignment_1_1
            {
            pushFollow(FOLLOW_rule__UnaryExpression__OperatorAssignment_1_1_in_rule__UnaryExpression__Group_1__1__Impl22621);
            rule__UnaryExpression__OperatorAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnaryExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__Group_1__1__Impl"


    // $ANTLR start "rule__UnaryExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11061:1: rule__UnaryExpression__Group_1__2 : rule__UnaryExpression__Group_1__2__Impl ;
    public final void rule__UnaryExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11065:1: ( rule__UnaryExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11066:2: rule__UnaryExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__UnaryExpression__Group_1__2__Impl_in_rule__UnaryExpression__Group_1__222651);
            rule__UnaryExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__Group_1__2"


    // $ANTLR start "rule__UnaryExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11072:1: rule__UnaryExpression__Group_1__2__Impl : ( ( rule__UnaryExpression__OperandAssignment_1_2 ) ) ;
    public final void rule__UnaryExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11076:1: ( ( ( rule__UnaryExpression__OperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11077:1: ( ( rule__UnaryExpression__OperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11077:1: ( ( rule__UnaryExpression__OperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11078:1: ( rule__UnaryExpression__OperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryExpressionAccess().getOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11079:1: ( rule__UnaryExpression__OperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11079:2: rule__UnaryExpression__OperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__UnaryExpression__OperandAssignment_1_2_in_rule__UnaryExpression__Group_1__2__Impl22678);
            rule__UnaryExpression__OperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnaryExpressionAccess().getOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__Group_1__2__Impl"


    // $ANTLR start "rule__PostfixExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11095:1: rule__PostfixExpression__Group__0 : rule__PostfixExpression__Group__0__Impl rule__PostfixExpression__Group__1 ;
    public final void rule__PostfixExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11099:1: ( rule__PostfixExpression__Group__0__Impl rule__PostfixExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11100:2: rule__PostfixExpression__Group__0__Impl rule__PostfixExpression__Group__1
            {
            pushFollow(FOLLOW_rule__PostfixExpression__Group__0__Impl_in_rule__PostfixExpression__Group__022714);
            rule__PostfixExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__PostfixExpression__Group__1_in_rule__PostfixExpression__Group__022717);
            rule__PostfixExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group__0"


    // $ANTLR start "rule__PostfixExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11107:1: rule__PostfixExpression__Group__0__Impl : ( ruleArrayElementAccess ) ;
    public final void rule__PostfixExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11111:1: ( ( ruleArrayElementAccess ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11112:1: ( ruleArrayElementAccess )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11112:1: ( ruleArrayElementAccess )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11113:1: ruleArrayElementAccess
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixExpressionAccess().getArrayElementAccessParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleArrayElementAccess_in_rule__PostfixExpression__Group__0__Impl22744);
            ruleArrayElementAccess();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getPostfixExpressionAccess().getArrayElementAccessParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group__0__Impl"


    // $ANTLR start "rule__PostfixExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11124:1: rule__PostfixExpression__Group__1 : rule__PostfixExpression__Group__1__Impl ;
    public final void rule__PostfixExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11128:1: ( rule__PostfixExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11129:2: rule__PostfixExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__PostfixExpression__Group__1__Impl_in_rule__PostfixExpression__Group__122773);
            rule__PostfixExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group__1"


    // $ANTLR start "rule__PostfixExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11135:1: rule__PostfixExpression__Group__1__Impl : ( ( rule__PostfixExpression__Group_1__0 )? ) ;
    public final void rule__PostfixExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11139:1: ( ( ( rule__PostfixExpression__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11140:1: ( ( rule__PostfixExpression__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11140:1: ( ( rule__PostfixExpression__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11141:1: ( rule__PostfixExpression__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11142:1: ( rule__PostfixExpression__Group_1__0 )?
            int alt79=2;
            int LA79_0 = input.LA(1);

            if ( (LA79_0==14) ) {
                alt79=1;
            }
            switch (alt79) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11142:2: rule__PostfixExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__PostfixExpression__Group_1__0_in_rule__PostfixExpression__Group__1__Impl22800);
                    rule__PostfixExpression__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPostfixExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group__1__Impl"


    // $ANTLR start "rule__PostfixExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11156:1: rule__PostfixExpression__Group_1__0 : rule__PostfixExpression__Group_1__0__Impl rule__PostfixExpression__Group_1__1 ;
    public final void rule__PostfixExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11160:1: ( rule__PostfixExpression__Group_1__0__Impl rule__PostfixExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11161:2: rule__PostfixExpression__Group_1__0__Impl rule__PostfixExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__PostfixExpression__Group_1__0__Impl_in_rule__PostfixExpression__Group_1__022835);
            rule__PostfixExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__PostfixExpression__Group_1__1_in_rule__PostfixExpression__Group_1__022838);
            rule__PostfixExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group_1__0"


    // $ANTLR start "rule__PostfixExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11168:1: rule__PostfixExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__PostfixExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11172:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11173:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11173:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11174:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixExpressionAccess().getPostfixExpressionOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11175:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11177:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPostfixExpressionAccess().getPostfixExpressionOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group_1__0__Impl"


    // $ANTLR start "rule__PostfixExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11187:1: rule__PostfixExpression__Group_1__1 : rule__PostfixExpression__Group_1__1__Impl ;
    public final void rule__PostfixExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11191:1: ( rule__PostfixExpression__Group_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11192:2: rule__PostfixExpression__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__PostfixExpression__Group_1__1__Impl_in_rule__PostfixExpression__Group_1__122896);
            rule__PostfixExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group_1__1"


    // $ANTLR start "rule__PostfixExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11198:1: rule__PostfixExpression__Group_1__1__Impl : ( ( rule__PostfixExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__PostfixExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11202:1: ( ( ( rule__PostfixExpression__OperatorAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11203:1: ( ( rule__PostfixExpression__OperatorAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11203:1: ( ( rule__PostfixExpression__OperatorAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11204:1: ( rule__PostfixExpression__OperatorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11205:1: ( rule__PostfixExpression__OperatorAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11205:2: rule__PostfixExpression__OperatorAssignment_1_1
            {
            pushFollow(FOLLOW_rule__PostfixExpression__OperatorAssignment_1_1_in_rule__PostfixExpression__Group_1__1__Impl22923);
            rule__PostfixExpression__OperatorAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getPostfixExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__Group_1__1__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11219:1: rule__ArrayElementAccess__Group__0 : rule__ArrayElementAccess__Group__0__Impl rule__ArrayElementAccess__Group__1 ;
    public final void rule__ArrayElementAccess__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11223:1: ( rule__ArrayElementAccess__Group__0__Impl rule__ArrayElementAccess__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11224:2: rule__ArrayElementAccess__Group__0__Impl rule__ArrayElementAccess__Group__1
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group__0__Impl_in_rule__ArrayElementAccess__Group__022957);
            rule__ArrayElementAccess__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group__1_in_rule__ArrayElementAccess__Group__022960);
            rule__ArrayElementAccess__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group__0"


    // $ANTLR start "rule__ArrayElementAccess__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11231:1: rule__ArrayElementAccess__Group__0__Impl : ( ruleMemberFeatureCall ) ;
    public final void rule__ArrayElementAccess__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11235:1: ( ( ruleMemberFeatureCall ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11236:1: ( ruleMemberFeatureCall )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11236:1: ( ruleMemberFeatureCall )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11237:1: ruleMemberFeatureCall
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getMemberFeatureCallParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleMemberFeatureCall_in_rule__ArrayElementAccess__Group__0__Impl22987);
            ruleMemberFeatureCall();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getMemberFeatureCallParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group__0__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11248:1: rule__ArrayElementAccess__Group__1 : rule__ArrayElementAccess__Group__1__Impl ;
    public final void rule__ArrayElementAccess__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11252:1: ( rule__ArrayElementAccess__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11253:2: rule__ArrayElementAccess__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group__1__Impl_in_rule__ArrayElementAccess__Group__123016);
            rule__ArrayElementAccess__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group__1"


    // $ANTLR start "rule__ArrayElementAccess__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11259:1: rule__ArrayElementAccess__Group__1__Impl : ( ( rule__ArrayElementAccess__Group_1__0 )* ) ;
    public final void rule__ArrayElementAccess__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11263:1: ( ( ( rule__ArrayElementAccess__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11264:1: ( ( rule__ArrayElementAccess__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11264:1: ( ( rule__ArrayElementAccess__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11265:1: ( rule__ArrayElementAccess__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11266:1: ( rule__ArrayElementAccess__Group_1__0 )*
            loop80:
            do {
                int alt80=2;
                int LA80_0 = input.LA(1);

                if ( (LA80_0==60) ) {
                    alt80=1;
                }


                switch (alt80) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11266:2: rule__ArrayElementAccess__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__0_in_rule__ArrayElementAccess__Group__1__Impl23043);
            	    rule__ArrayElementAccess__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop80;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group__1__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11280:1: rule__ArrayElementAccess__Group_1__0 : rule__ArrayElementAccess__Group_1__0__Impl rule__ArrayElementAccess__Group_1__1 ;
    public final void rule__ArrayElementAccess__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11284:1: ( rule__ArrayElementAccess__Group_1__0__Impl rule__ArrayElementAccess__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11285:2: rule__ArrayElementAccess__Group_1__0__Impl rule__ArrayElementAccess__Group_1__1
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__0__Impl_in_rule__ArrayElementAccess__Group_1__023078);
            rule__ArrayElementAccess__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__1_in_rule__ArrayElementAccess__Group_1__023081);
            rule__ArrayElementAccess__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__0"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11292:1: rule__ArrayElementAccess__Group_1__0__Impl : ( () ) ;
    public final void rule__ArrayElementAccess__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11296:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11297:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11297:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11298:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getArrayElementAccessArrayAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11299:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11301:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getArrayElementAccessArrayAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__0__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11311:1: rule__ArrayElementAccess__Group_1__1 : rule__ArrayElementAccess__Group_1__1__Impl rule__ArrayElementAccess__Group_1__2 ;
    public final void rule__ArrayElementAccess__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11315:1: ( rule__ArrayElementAccess__Group_1__1__Impl rule__ArrayElementAccess__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11316:2: rule__ArrayElementAccess__Group_1__1__Impl rule__ArrayElementAccess__Group_1__2
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__1__Impl_in_rule__ArrayElementAccess__Group_1__123139);
            rule__ArrayElementAccess__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__2_in_rule__ArrayElementAccess__Group_1__123142);
            rule__ArrayElementAccess__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__1"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11323:1: rule__ArrayElementAccess__Group_1__1__Impl : ( '[' ) ;
    public final void rule__ArrayElementAccess__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11327:1: ( ( '[' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11328:1: ( '[' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11328:1: ( '[' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11329:1: '['
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getLeftSquareBracketKeyword_1_1()); 
            }
            match(input,60,FOLLOW_60_in_rule__ArrayElementAccess__Group_1__1__Impl23170); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getLeftSquareBracketKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__1__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11342:1: rule__ArrayElementAccess__Group_1__2 : rule__ArrayElementAccess__Group_1__2__Impl rule__ArrayElementAccess__Group_1__3 ;
    public final void rule__ArrayElementAccess__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11346:1: ( rule__ArrayElementAccess__Group_1__2__Impl rule__ArrayElementAccess__Group_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11347:2: rule__ArrayElementAccess__Group_1__2__Impl rule__ArrayElementAccess__Group_1__3
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__2__Impl_in_rule__ArrayElementAccess__Group_1__223201);
            rule__ArrayElementAccess__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__3_in_rule__ArrayElementAccess__Group_1__223204);
            rule__ArrayElementAccess__Group_1__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__2"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11354:1: rule__ArrayElementAccess__Group_1__2__Impl : ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_2 ) ) ;
    public final void rule__ArrayElementAccess__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11358:1: ( ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11359:1: ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11359:1: ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11360:1: ( rule__ArrayElementAccess__SubscriptsAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getSubscriptsAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11361:1: ( rule__ArrayElementAccess__SubscriptsAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11361:2: rule__ArrayElementAccess__SubscriptsAssignment_1_2
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__SubscriptsAssignment_1_2_in_rule__ArrayElementAccess__Group_1__2__Impl23231);
            rule__ArrayElementAccess__SubscriptsAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getSubscriptsAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__2__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11371:1: rule__ArrayElementAccess__Group_1__3 : rule__ArrayElementAccess__Group_1__3__Impl rule__ArrayElementAccess__Group_1__4 ;
    public final void rule__ArrayElementAccess__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11375:1: ( rule__ArrayElementAccess__Group_1__3__Impl rule__ArrayElementAccess__Group_1__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11376:2: rule__ArrayElementAccess__Group_1__3__Impl rule__ArrayElementAccess__Group_1__4
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__3__Impl_in_rule__ArrayElementAccess__Group_1__323261);
            rule__ArrayElementAccess__Group_1__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__4_in_rule__ArrayElementAccess__Group_1__323264);
            rule__ArrayElementAccess__Group_1__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__3"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11383:1: rule__ArrayElementAccess__Group_1__3__Impl : ( ( rule__ArrayElementAccess__Group_1_3__0 )* ) ;
    public final void rule__ArrayElementAccess__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11387:1: ( ( ( rule__ArrayElementAccess__Group_1_3__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11388:1: ( ( rule__ArrayElementAccess__Group_1_3__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11388:1: ( ( rule__ArrayElementAccess__Group_1_3__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11389:1: ( rule__ArrayElementAccess__Group_1_3__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getGroup_1_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11390:1: ( rule__ArrayElementAccess__Group_1_3__0 )*
            loop81:
            do {
                int alt81=2;
                int LA81_0 = input.LA(1);

                if ( (LA81_0==40) ) {
                    alt81=1;
                }


                switch (alt81) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11390:2: rule__ArrayElementAccess__Group_1_3__0
            	    {
            	    pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1_3__0_in_rule__ArrayElementAccess__Group_1__3__Impl23291);
            	    rule__ArrayElementAccess__Group_1_3__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop81;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getGroup_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__3__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11400:1: rule__ArrayElementAccess__Group_1__4 : rule__ArrayElementAccess__Group_1__4__Impl ;
    public final void rule__ArrayElementAccess__Group_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11404:1: ( rule__ArrayElementAccess__Group_1__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11405:2: rule__ArrayElementAccess__Group_1__4__Impl
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1__4__Impl_in_rule__ArrayElementAccess__Group_1__423322);
            rule__ArrayElementAccess__Group_1__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__4"


    // $ANTLR start "rule__ArrayElementAccess__Group_1__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11411:1: rule__ArrayElementAccess__Group_1__4__Impl : ( ']' ) ;
    public final void rule__ArrayElementAccess__Group_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11415:1: ( ( ']' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11416:1: ( ']' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11416:1: ( ']' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11417:1: ']'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getRightSquareBracketKeyword_1_4()); 
            }
            match(input,61,FOLLOW_61_in_rule__ArrayElementAccess__Group_1__4__Impl23350); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getRightSquareBracketKeyword_1_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1__4__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group_1_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11440:1: rule__ArrayElementAccess__Group_1_3__0 : rule__ArrayElementAccess__Group_1_3__0__Impl rule__ArrayElementAccess__Group_1_3__1 ;
    public final void rule__ArrayElementAccess__Group_1_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11444:1: ( rule__ArrayElementAccess__Group_1_3__0__Impl rule__ArrayElementAccess__Group_1_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11445:2: rule__ArrayElementAccess__Group_1_3__0__Impl rule__ArrayElementAccess__Group_1_3__1
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1_3__0__Impl_in_rule__ArrayElementAccess__Group_1_3__023391);
            rule__ArrayElementAccess__Group_1_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1_3__1_in_rule__ArrayElementAccess__Group_1_3__023394);
            rule__ArrayElementAccess__Group_1_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1_3__0"


    // $ANTLR start "rule__ArrayElementAccess__Group_1_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11452:1: rule__ArrayElementAccess__Group_1_3__0__Impl : ( ',' ) ;
    public final void rule__ArrayElementAccess__Group_1_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11456:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11457:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11457:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11458:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getCommaKeyword_1_3_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__ArrayElementAccess__Group_1_3__0__Impl23422); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getCommaKeyword_1_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1_3__0__Impl"


    // $ANTLR start "rule__ArrayElementAccess__Group_1_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11471:1: rule__ArrayElementAccess__Group_1_3__1 : rule__ArrayElementAccess__Group_1_3__1__Impl ;
    public final void rule__ArrayElementAccess__Group_1_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11475:1: ( rule__ArrayElementAccess__Group_1_3__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11476:2: rule__ArrayElementAccess__Group_1_3__1__Impl
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__Group_1_3__1__Impl_in_rule__ArrayElementAccess__Group_1_3__123453);
            rule__ArrayElementAccess__Group_1_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1_3__1"


    // $ANTLR start "rule__ArrayElementAccess__Group_1_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11482:1: rule__ArrayElementAccess__Group_1_3__1__Impl : ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_3_1 ) ) ;
    public final void rule__ArrayElementAccess__Group_1_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11486:1: ( ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_3_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11487:1: ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_3_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11487:1: ( ( rule__ArrayElementAccess__SubscriptsAssignment_1_3_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11488:1: ( rule__ArrayElementAccess__SubscriptsAssignment_1_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getSubscriptsAssignment_1_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11489:1: ( rule__ArrayElementAccess__SubscriptsAssignment_1_3_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11489:2: rule__ArrayElementAccess__SubscriptsAssignment_1_3_1
            {
            pushFollow(FOLLOW_rule__ArrayElementAccess__SubscriptsAssignment_1_3_1_in_rule__ArrayElementAccess__Group_1_3__1__Impl23480);
            rule__ArrayElementAccess__SubscriptsAssignment_1_3_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getSubscriptsAssignment_1_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__Group_1_3__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11503:1: rule__MemberFeatureCall__Group__0 : rule__MemberFeatureCall__Group__0__Impl rule__MemberFeatureCall__Group__1 ;
    public final void rule__MemberFeatureCall__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11507:1: ( rule__MemberFeatureCall__Group__0__Impl rule__MemberFeatureCall__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11508:2: rule__MemberFeatureCall__Group__0__Impl rule__MemberFeatureCall__Group__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group__0__Impl_in_rule__MemberFeatureCall__Group__023514);
            rule__MemberFeatureCall__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group__1_in_rule__MemberFeatureCall__Group__023517);
            rule__MemberFeatureCall__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group__0"


    // $ANTLR start "rule__MemberFeatureCall__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11515:1: rule__MemberFeatureCall__Group__0__Impl : ( rulePrimaryExpression ) ;
    public final void rule__MemberFeatureCall__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11519:1: ( ( rulePrimaryExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11520:1: ( rulePrimaryExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11520:1: ( rulePrimaryExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11521:1: rulePrimaryExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getPrimaryExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_rulePrimaryExpression_in_rule__MemberFeatureCall__Group__0__Impl23544);
            rulePrimaryExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getPrimaryExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11532:1: rule__MemberFeatureCall__Group__1 : rule__MemberFeatureCall__Group__1__Impl ;
    public final void rule__MemberFeatureCall__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11536:1: ( rule__MemberFeatureCall__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11537:2: rule__MemberFeatureCall__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group__1__Impl_in_rule__MemberFeatureCall__Group__123573);
            rule__MemberFeatureCall__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group__1"


    // $ANTLR start "rule__MemberFeatureCall__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11543:1: rule__MemberFeatureCall__Group__1__Impl : ( ( rule__MemberFeatureCall__Alternatives_1 )* ) ;
    public final void rule__MemberFeatureCall__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11547:1: ( ( ( rule__MemberFeatureCall__Alternatives_1 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11548:1: ( ( rule__MemberFeatureCall__Alternatives_1 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11548:1: ( ( rule__MemberFeatureCall__Alternatives_1 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11549:1: ( rule__MemberFeatureCall__Alternatives_1 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getAlternatives_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11550:1: ( rule__MemberFeatureCall__Alternatives_1 )*
            loop82:
            do {
                int alt82=2;
                int LA82_0 = input.LA(1);

                if ( (LA82_0==74) ) {
                    alt82=1;
                }


                switch (alt82) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11550:2: rule__MemberFeatureCall__Alternatives_1
            	    {
            	    pushFollow(FOLLOW_rule__MemberFeatureCall__Alternatives_1_in_rule__MemberFeatureCall__Group__1__Impl23600);
            	    rule__MemberFeatureCall__Alternatives_1();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop82;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getAlternatives_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_0__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11564:1: rule__MemberFeatureCall__Group_1_0__0 : rule__MemberFeatureCall__Group_1_0__0__Impl rule__MemberFeatureCall__Group_1_0__1 ;
    public final void rule__MemberFeatureCall__Group_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11568:1: ( rule__MemberFeatureCall__Group_1_0__0__Impl rule__MemberFeatureCall__Group_1_0__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11569:2: rule__MemberFeatureCall__Group_1_0__0__Impl rule__MemberFeatureCall__Group_1_0__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_0__0__Impl_in_rule__MemberFeatureCall__Group_1_0__023635);
            rule__MemberFeatureCall__Group_1_0__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_0__1_in_rule__MemberFeatureCall__Group_1_0__023638);
            rule__MemberFeatureCall__Group_1_0__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_0__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_0__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11576:1: rule__MemberFeatureCall__Group_1_0__0__Impl : ( () ) ;
    public final void rule__MemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11580:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11581:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11581:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11582:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getMemberVariableAccessTargetAction_1_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11583:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11585:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getMemberVariableAccessTargetAction_1_0_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_0__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_0__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11595:1: rule__MemberFeatureCall__Group_1_0__1 : rule__MemberFeatureCall__Group_1_0__1__Impl rule__MemberFeatureCall__Group_1_0__2 ;
    public final void rule__MemberFeatureCall__Group_1_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11599:1: ( rule__MemberFeatureCall__Group_1_0__1__Impl rule__MemberFeatureCall__Group_1_0__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11600:2: rule__MemberFeatureCall__Group_1_0__1__Impl rule__MemberFeatureCall__Group_1_0__2
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_0__1__Impl_in_rule__MemberFeatureCall__Group_1_0__123696);
            rule__MemberFeatureCall__Group_1_0__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_0__2_in_rule__MemberFeatureCall__Group_1_0__123699);
            rule__MemberFeatureCall__Group_1_0__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_0__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_0__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11607:1: rule__MemberFeatureCall__Group_1_0__1__Impl : ( '.' ) ;
    public final void rule__MemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11611:1: ( ( '.' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11612:1: ( '.' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11612:1: ( '.' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11613:1: '.'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getFullStopKeyword_1_0_1()); 
            }
            match(input,74,FOLLOW_74_in_rule__MemberFeatureCall__Group_1_0__1__Impl23727); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getFullStopKeyword_1_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_0__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_0__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11626:1: rule__MemberFeatureCall__Group_1_0__2 : rule__MemberFeatureCall__Group_1_0__2__Impl ;
    public final void rule__MemberFeatureCall__Group_1_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11630:1: ( rule__MemberFeatureCall__Group_1_0__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11631:2: rule__MemberFeatureCall__Group_1_0__2__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_0__2__Impl_in_rule__MemberFeatureCall__Group_1_0__223758);
            rule__MemberFeatureCall__Group_1_0__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_0__2"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_0__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11637:1: rule__MemberFeatureCall__Group_1_0__2__Impl : ( ( rule__MemberFeatureCall__MemberVariableAssignment_1_0_2 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11641:1: ( ( ( rule__MemberFeatureCall__MemberVariableAssignment_1_0_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11642:1: ( ( rule__MemberFeatureCall__MemberVariableAssignment_1_0_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11642:1: ( ( rule__MemberFeatureCall__MemberVariableAssignment_1_0_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11643:1: ( rule__MemberFeatureCall__MemberVariableAssignment_1_0_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getMemberVariableAssignment_1_0_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11644:1: ( rule__MemberFeatureCall__MemberVariableAssignment_1_0_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11644:2: rule__MemberFeatureCall__MemberVariableAssignment_1_0_2
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__MemberVariableAssignment_1_0_2_in_rule__MemberFeatureCall__Group_1_0__2__Impl23785);
            rule__MemberFeatureCall__MemberVariableAssignment_1_0_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getMemberVariableAssignment_1_0_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_0__2__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11660:1: rule__MemberFeatureCall__Group_1_1__0 : rule__MemberFeatureCall__Group_1_1__0__Impl rule__MemberFeatureCall__Group_1_1__1 ;
    public final void rule__MemberFeatureCall__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11664:1: ( rule__MemberFeatureCall__Group_1_1__0__Impl rule__MemberFeatureCall__Group_1_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11665:2: rule__MemberFeatureCall__Group_1_1__0__Impl rule__MemberFeatureCall__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__0__Impl_in_rule__MemberFeatureCall__Group_1_1__023821);
            rule__MemberFeatureCall__Group_1_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__1_in_rule__MemberFeatureCall__Group_1_1__023824);
            rule__MemberFeatureCall__Group_1_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11672:1: rule__MemberFeatureCall__Group_1_1__0__Impl : ( () ) ;
    public final void rule__MemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11676:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11677:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11677:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11678:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getFunctionCallArgumentsAction_1_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11679:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11681:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getFunctionCallArgumentsAction_1_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11691:1: rule__MemberFeatureCall__Group_1_1__1 : rule__MemberFeatureCall__Group_1_1__1__Impl rule__MemberFeatureCall__Group_1_1__2 ;
    public final void rule__MemberFeatureCall__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11695:1: ( rule__MemberFeatureCall__Group_1_1__1__Impl rule__MemberFeatureCall__Group_1_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11696:2: rule__MemberFeatureCall__Group_1_1__1__Impl rule__MemberFeatureCall__Group_1_1__2
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__1__Impl_in_rule__MemberFeatureCall__Group_1_1__123882);
            rule__MemberFeatureCall__Group_1_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__2_in_rule__MemberFeatureCall__Group_1_1__123885);
            rule__MemberFeatureCall__Group_1_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11703:1: rule__MemberFeatureCall__Group_1_1__1__Impl : ( '.' ) ;
    public final void rule__MemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11707:1: ( ( '.' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11708:1: ( '.' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11708:1: ( '.' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11709:1: '.'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getFullStopKeyword_1_1_1()); 
            }
            match(input,74,FOLLOW_74_in_rule__MemberFeatureCall__Group_1_1__1__Impl23913); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getFullStopKeyword_1_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11722:1: rule__MemberFeatureCall__Group_1_1__2 : rule__MemberFeatureCall__Group_1_1__2__Impl rule__MemberFeatureCall__Group_1_1__3 ;
    public final void rule__MemberFeatureCall__Group_1_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11726:1: ( rule__MemberFeatureCall__Group_1_1__2__Impl rule__MemberFeatureCall__Group_1_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11727:2: rule__MemberFeatureCall__Group_1_1__2__Impl rule__MemberFeatureCall__Group_1_1__3
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__2__Impl_in_rule__MemberFeatureCall__Group_1_1__223944);
            rule__MemberFeatureCall__Group_1_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__3_in_rule__MemberFeatureCall__Group_1_1__223947);
            rule__MemberFeatureCall__Group_1_1__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__2"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11734:1: rule__MemberFeatureCall__Group_1_1__2__Impl : ( ( rule__MemberFeatureCall__FeatureAssignment_1_1_2 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11738:1: ( ( ( rule__MemberFeatureCall__FeatureAssignment_1_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11739:1: ( ( rule__MemberFeatureCall__FeatureAssignment_1_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11739:1: ( ( rule__MemberFeatureCall__FeatureAssignment_1_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11740:1: ( rule__MemberFeatureCall__FeatureAssignment_1_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11741:1: ( rule__MemberFeatureCall__FeatureAssignment_1_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11741:2: rule__MemberFeatureCall__FeatureAssignment_1_1_2
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__FeatureAssignment_1_1_2_in_rule__MemberFeatureCall__Group_1_1__2__Impl23974);
            rule__MemberFeatureCall__FeatureAssignment_1_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__2__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11751:1: rule__MemberFeatureCall__Group_1_1__3 : rule__MemberFeatureCall__Group_1_1__3__Impl rule__MemberFeatureCall__Group_1_1__4 ;
    public final void rule__MemberFeatureCall__Group_1_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11755:1: ( rule__MemberFeatureCall__Group_1_1__3__Impl rule__MemberFeatureCall__Group_1_1__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11756:2: rule__MemberFeatureCall__Group_1_1__3__Impl rule__MemberFeatureCall__Group_1_1__4
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__3__Impl_in_rule__MemberFeatureCall__Group_1_1__324004);
            rule__MemberFeatureCall__Group_1_1__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__4_in_rule__MemberFeatureCall__Group_1_1__324007);
            rule__MemberFeatureCall__Group_1_1__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__3"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11763:1: rule__MemberFeatureCall__Group_1_1__3__Impl : ( '(' ) ;
    public final void rule__MemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11767:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11768:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11768:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11769:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getLeftParenthesisKeyword_1_1_3()); 
            }
            match(input,47,FOLLOW_47_in_rule__MemberFeatureCall__Group_1_1__3__Impl24035); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getLeftParenthesisKeyword_1_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__3__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11782:1: rule__MemberFeatureCall__Group_1_1__4 : rule__MemberFeatureCall__Group_1_1__4__Impl rule__MemberFeatureCall__Group_1_1__5 ;
    public final void rule__MemberFeatureCall__Group_1_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11786:1: ( rule__MemberFeatureCall__Group_1_1__4__Impl rule__MemberFeatureCall__Group_1_1__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11787:2: rule__MemberFeatureCall__Group_1_1__4__Impl rule__MemberFeatureCall__Group_1_1__5
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__4__Impl_in_rule__MemberFeatureCall__Group_1_1__424066);
            rule__MemberFeatureCall__Group_1_1__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__5_in_rule__MemberFeatureCall__Group_1_1__424069);
            rule__MemberFeatureCall__Group_1_1__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__4"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11794:1: rule__MemberFeatureCall__Group_1_1__4__Impl : ( ( rule__MemberFeatureCall__Group_1_1_4__0 )? ) ;
    public final void rule__MemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11798:1: ( ( ( rule__MemberFeatureCall__Group_1_1_4__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11799:1: ( ( rule__MemberFeatureCall__Group_1_1_4__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11799:1: ( ( rule__MemberFeatureCall__Group_1_1_4__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11800:1: ( rule__MemberFeatureCall__Group_1_1_4__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_1_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11801:1: ( rule__MemberFeatureCall__Group_1_1_4__0 )?
            int alt83=2;
            int LA83_0 = input.LA(1);

            if ( ((LA83_0>=RULE_REAL && LA83_0<=RULE_STRING)||LA83_0==15||LA83_0==29||LA83_0==36||LA83_0==38||LA83_0==47||LA83_0==60||LA83_0==62||LA83_0==64||LA83_0==67||LA83_0==77||(LA83_0>=79 && LA83_0<=81)||LA83_0==88||LA83_0==90) ) {
                alt83=1;
            }
            switch (alt83) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11801:2: rule__MemberFeatureCall__Group_1_1_4__0
                    {
                    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4__0_in_rule__MemberFeatureCall__Group_1_1__4__Impl24096);
                    rule__MemberFeatureCall__Group_1_1_4__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_1_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__4__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11811:1: rule__MemberFeatureCall__Group_1_1__5 : rule__MemberFeatureCall__Group_1_1__5__Impl ;
    public final void rule__MemberFeatureCall__Group_1_1__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11815:1: ( rule__MemberFeatureCall__Group_1_1__5__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11816:2: rule__MemberFeatureCall__Group_1_1__5__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1__5__Impl_in_rule__MemberFeatureCall__Group_1_1__524127);
            rule__MemberFeatureCall__Group_1_1__5__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__5"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11822:1: rule__MemberFeatureCall__Group_1_1__5__Impl : ( ')' ) ;
    public final void rule__MemberFeatureCall__Group_1_1__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11826:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11827:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11827:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11828:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_5()); 
            }
            match(input,48,FOLLOW_48_in_rule__MemberFeatureCall__Group_1_1__5__Impl24155); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1__5__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11853:1: rule__MemberFeatureCall__Group_1_1_4__0 : rule__MemberFeatureCall__Group_1_1_4__0__Impl rule__MemberFeatureCall__Group_1_1_4__1 ;
    public final void rule__MemberFeatureCall__Group_1_1_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11857:1: ( rule__MemberFeatureCall__Group_1_1_4__0__Impl rule__MemberFeatureCall__Group_1_1_4__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11858:2: rule__MemberFeatureCall__Group_1_1_4__0__Impl rule__MemberFeatureCall__Group_1_1_4__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4__0__Impl_in_rule__MemberFeatureCall__Group_1_1_4__024198);
            rule__MemberFeatureCall__Group_1_1_4__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4__1_in_rule__MemberFeatureCall__Group_1_1_4__024201);
            rule__MemberFeatureCall__Group_1_1_4__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11865:1: rule__MemberFeatureCall__Group_1_1_4__0__Impl : ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_1_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11869:1: ( ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11870:1: ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11870:1: ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11871:1: ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getArgumentsAssignment_1_1_4_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11872:1: ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11872:2: rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0_in_rule__MemberFeatureCall__Group_1_1_4__0__Impl24228);
            rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getArgumentsAssignment_1_1_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11882:1: rule__MemberFeatureCall__Group_1_1_4__1 : rule__MemberFeatureCall__Group_1_1_4__1__Impl ;
    public final void rule__MemberFeatureCall__Group_1_1_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11886:1: ( rule__MemberFeatureCall__Group_1_1_4__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11887:2: rule__MemberFeatureCall__Group_1_1_4__1__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4__1__Impl_in_rule__MemberFeatureCall__Group_1_1_4__124258);
            rule__MemberFeatureCall__Group_1_1_4__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11893:1: rule__MemberFeatureCall__Group_1_1_4__1__Impl : ( ( rule__MemberFeatureCall__Group_1_1_4_1__0 )* ) ;
    public final void rule__MemberFeatureCall__Group_1_1_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11897:1: ( ( ( rule__MemberFeatureCall__Group_1_1_4_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11898:1: ( ( rule__MemberFeatureCall__Group_1_1_4_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11898:1: ( ( rule__MemberFeatureCall__Group_1_1_4_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11899:1: ( rule__MemberFeatureCall__Group_1_1_4_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_1_4_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11900:1: ( rule__MemberFeatureCall__Group_1_1_4_1__0 )*
            loop84:
            do {
                int alt84=2;
                int LA84_0 = input.LA(1);

                if ( (LA84_0==40) ) {
                    alt84=1;
                }


                switch (alt84) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11900:2: rule__MemberFeatureCall__Group_1_1_4_1__0
            	    {
            	    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__0_in_rule__MemberFeatureCall__Group_1_1_4__1__Impl24285);
            	    rule__MemberFeatureCall__Group_1_1_4_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop84;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_1_4_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11914:1: rule__MemberFeatureCall__Group_1_1_4_1__0 : rule__MemberFeatureCall__Group_1_1_4_1__0__Impl rule__MemberFeatureCall__Group_1_1_4_1__1 ;
    public final void rule__MemberFeatureCall__Group_1_1_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11918:1: ( rule__MemberFeatureCall__Group_1_1_4_1__0__Impl rule__MemberFeatureCall__Group_1_1_4_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11919:2: rule__MemberFeatureCall__Group_1_1_4_1__0__Impl rule__MemberFeatureCall__Group_1_1_4_1__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__0__Impl_in_rule__MemberFeatureCall__Group_1_1_4_1__024320);
            rule__MemberFeatureCall__Group_1_1_4_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__1_in_rule__MemberFeatureCall__Group_1_1_4_1__024323);
            rule__MemberFeatureCall__Group_1_1_4_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4_1__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11926:1: rule__MemberFeatureCall__Group_1_1_4_1__0__Impl : ( ',' ) ;
    public final void rule__MemberFeatureCall__Group_1_1_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11930:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11931:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11931:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11932:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getCommaKeyword_1_1_4_1_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__MemberFeatureCall__Group_1_1_4_1__0__Impl24351); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getCommaKeyword_1_1_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4_1__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11945:1: rule__MemberFeatureCall__Group_1_1_4_1__1 : rule__MemberFeatureCall__Group_1_1_4_1__1__Impl ;
    public final void rule__MemberFeatureCall__Group_1_1_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11949:1: ( rule__MemberFeatureCall__Group_1_1_4_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11950:2: rule__MemberFeatureCall__Group_1_1_4_1__1__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__1__Impl_in_rule__MemberFeatureCall__Group_1_1_4_1__124382);
            rule__MemberFeatureCall__Group_1_1_4_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4_1__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_1_4_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11956:1: rule__MemberFeatureCall__Group_1_1_4_1__1__Impl : ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_1_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11960:1: ( ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11961:1: ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11961:1: ( ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11962:1: ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getArgumentsAssignment_1_1_4_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11963:1: ( rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11963:2: rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1_in_rule__MemberFeatureCall__Group_1_1_4_1__1__Impl24409);
            rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getArgumentsAssignment_1_1_4_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_1_4_1__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11977:1: rule__MemberFeatureCall__Group_1_2__0 : rule__MemberFeatureCall__Group_1_2__0__Impl rule__MemberFeatureCall__Group_1_2__1 ;
    public final void rule__MemberFeatureCall__Group_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11981:1: ( rule__MemberFeatureCall__Group_1_2__0__Impl rule__MemberFeatureCall__Group_1_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11982:2: rule__MemberFeatureCall__Group_1_2__0__Impl rule__MemberFeatureCall__Group_1_2__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__0__Impl_in_rule__MemberFeatureCall__Group_1_2__024443);
            rule__MemberFeatureCall__Group_1_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__1_in_rule__MemberFeatureCall__Group_1_2__024446);
            rule__MemberFeatureCall__Group_1_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11989:1: rule__MemberFeatureCall__Group_1_2__0__Impl : ( () ) ;
    public final void rule__MemberFeatureCall__Group_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11993:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11994:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11994:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11995:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getIterationCallTargetAction_1_2_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11996:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:11998:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getIterationCallTargetAction_1_2_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12008:1: rule__MemberFeatureCall__Group_1_2__1 : rule__MemberFeatureCall__Group_1_2__1__Impl rule__MemberFeatureCall__Group_1_2__2 ;
    public final void rule__MemberFeatureCall__Group_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12012:1: ( rule__MemberFeatureCall__Group_1_2__1__Impl rule__MemberFeatureCall__Group_1_2__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12013:2: rule__MemberFeatureCall__Group_1_2__1__Impl rule__MemberFeatureCall__Group_1_2__2
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__1__Impl_in_rule__MemberFeatureCall__Group_1_2__124504);
            rule__MemberFeatureCall__Group_1_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__2_in_rule__MemberFeatureCall__Group_1_2__124507);
            rule__MemberFeatureCall__Group_1_2__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12020:1: rule__MemberFeatureCall__Group_1_2__1__Impl : ( '.' ) ;
    public final void rule__MemberFeatureCall__Group_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12024:1: ( ( '.' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12025:1: ( '.' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12025:1: ( '.' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12026:1: '.'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getFullStopKeyword_1_2_1()); 
            }
            match(input,74,FOLLOW_74_in_rule__MemberFeatureCall__Group_1_2__1__Impl24535); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getFullStopKeyword_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12039:1: rule__MemberFeatureCall__Group_1_2__2 : rule__MemberFeatureCall__Group_1_2__2__Impl rule__MemberFeatureCall__Group_1_2__3 ;
    public final void rule__MemberFeatureCall__Group_1_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12043:1: ( rule__MemberFeatureCall__Group_1_2__2__Impl rule__MemberFeatureCall__Group_1_2__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12044:2: rule__MemberFeatureCall__Group_1_2__2__Impl rule__MemberFeatureCall__Group_1_2__3
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__2__Impl_in_rule__MemberFeatureCall__Group_1_2__224566);
            rule__MemberFeatureCall__Group_1_2__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__3_in_rule__MemberFeatureCall__Group_1_2__224569);
            rule__MemberFeatureCall__Group_1_2__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__2"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12051:1: rule__MemberFeatureCall__Group_1_2__2__Impl : ( ( rule__MemberFeatureCall__IdentifierAssignment_1_2_2 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12055:1: ( ( ( rule__MemberFeatureCall__IdentifierAssignment_1_2_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12056:1: ( ( rule__MemberFeatureCall__IdentifierAssignment_1_2_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12056:1: ( ( rule__MemberFeatureCall__IdentifierAssignment_1_2_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12057:1: ( rule__MemberFeatureCall__IdentifierAssignment_1_2_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getIdentifierAssignment_1_2_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12058:1: ( rule__MemberFeatureCall__IdentifierAssignment_1_2_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12058:2: rule__MemberFeatureCall__IdentifierAssignment_1_2_2
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__IdentifierAssignment_1_2_2_in_rule__MemberFeatureCall__Group_1_2__2__Impl24596);
            rule__MemberFeatureCall__IdentifierAssignment_1_2_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getIdentifierAssignment_1_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__2__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12068:1: rule__MemberFeatureCall__Group_1_2__3 : rule__MemberFeatureCall__Group_1_2__3__Impl rule__MemberFeatureCall__Group_1_2__4 ;
    public final void rule__MemberFeatureCall__Group_1_2__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12072:1: ( rule__MemberFeatureCall__Group_1_2__3__Impl rule__MemberFeatureCall__Group_1_2__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12073:2: rule__MemberFeatureCall__Group_1_2__3__Impl rule__MemberFeatureCall__Group_1_2__4
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__3__Impl_in_rule__MemberFeatureCall__Group_1_2__324626);
            rule__MemberFeatureCall__Group_1_2__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__4_in_rule__MemberFeatureCall__Group_1_2__324629);
            rule__MemberFeatureCall__Group_1_2__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__3"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12080:1: rule__MemberFeatureCall__Group_1_2__3__Impl : ( '(' ) ;
    public final void rule__MemberFeatureCall__Group_1_2__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12084:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12085:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12085:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12086:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getLeftParenthesisKeyword_1_2_3()); 
            }
            match(input,47,FOLLOW_47_in_rule__MemberFeatureCall__Group_1_2__3__Impl24657); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getLeftParenthesisKeyword_1_2_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__3__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12099:1: rule__MemberFeatureCall__Group_1_2__4 : rule__MemberFeatureCall__Group_1_2__4__Impl rule__MemberFeatureCall__Group_1_2__5 ;
    public final void rule__MemberFeatureCall__Group_1_2__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12103:1: ( rule__MemberFeatureCall__Group_1_2__4__Impl rule__MemberFeatureCall__Group_1_2__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12104:2: rule__MemberFeatureCall__Group_1_2__4__Impl rule__MemberFeatureCall__Group_1_2__5
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__4__Impl_in_rule__MemberFeatureCall__Group_1_2__424688);
            rule__MemberFeatureCall__Group_1_2__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__5_in_rule__MemberFeatureCall__Group_1_2__424691);
            rule__MemberFeatureCall__Group_1_2__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__4"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12111:1: rule__MemberFeatureCall__Group_1_2__4__Impl : ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_4 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_2__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12115:1: ( ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12116:1: ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12116:1: ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12117:1: ( rule__MemberFeatureCall__VariablesAssignment_1_2_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getVariablesAssignment_1_2_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12118:1: ( rule__MemberFeatureCall__VariablesAssignment_1_2_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12118:2: rule__MemberFeatureCall__VariablesAssignment_1_2_4
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__VariablesAssignment_1_2_4_in_rule__MemberFeatureCall__Group_1_2__4__Impl24718);
            rule__MemberFeatureCall__VariablesAssignment_1_2_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getVariablesAssignment_1_2_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__4__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12128:1: rule__MemberFeatureCall__Group_1_2__5 : rule__MemberFeatureCall__Group_1_2__5__Impl rule__MemberFeatureCall__Group_1_2__6 ;
    public final void rule__MemberFeatureCall__Group_1_2__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12132:1: ( rule__MemberFeatureCall__Group_1_2__5__Impl rule__MemberFeatureCall__Group_1_2__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12133:2: rule__MemberFeatureCall__Group_1_2__5__Impl rule__MemberFeatureCall__Group_1_2__6
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__5__Impl_in_rule__MemberFeatureCall__Group_1_2__524748);
            rule__MemberFeatureCall__Group_1_2__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__6_in_rule__MemberFeatureCall__Group_1_2__524751);
            rule__MemberFeatureCall__Group_1_2__6();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__5"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12140:1: rule__MemberFeatureCall__Group_1_2__5__Impl : ( ( rule__MemberFeatureCall__Group_1_2_5__0 )* ) ;
    public final void rule__MemberFeatureCall__Group_1_2__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12144:1: ( ( ( rule__MemberFeatureCall__Group_1_2_5__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12145:1: ( ( rule__MemberFeatureCall__Group_1_2_5__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12145:1: ( ( rule__MemberFeatureCall__Group_1_2_5__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12146:1: ( rule__MemberFeatureCall__Group_1_2_5__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2_5()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12147:1: ( rule__MemberFeatureCall__Group_1_2_5__0 )*
            loop85:
            do {
                int alt85=2;
                int LA85_0 = input.LA(1);

                if ( (LA85_0==40) ) {
                    alt85=1;
                }


                switch (alt85) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12147:2: rule__MemberFeatureCall__Group_1_2_5__0
            	    {
            	    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_5__0_in_rule__MemberFeatureCall__Group_1_2__5__Impl24778);
            	    rule__MemberFeatureCall__Group_1_2_5__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop85;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__5__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12157:1: rule__MemberFeatureCall__Group_1_2__6 : rule__MemberFeatureCall__Group_1_2__6__Impl rule__MemberFeatureCall__Group_1_2__7 ;
    public final void rule__MemberFeatureCall__Group_1_2__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12161:1: ( rule__MemberFeatureCall__Group_1_2__6__Impl rule__MemberFeatureCall__Group_1_2__7 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12162:2: rule__MemberFeatureCall__Group_1_2__6__Impl rule__MemberFeatureCall__Group_1_2__7
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__6__Impl_in_rule__MemberFeatureCall__Group_1_2__624809);
            rule__MemberFeatureCall__Group_1_2__6__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__7_in_rule__MemberFeatureCall__Group_1_2__624812);
            rule__MemberFeatureCall__Group_1_2__7();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__6"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12169:1: rule__MemberFeatureCall__Group_1_2__6__Impl : ( ( rule__MemberFeatureCall__Group_1_2_6__0 )? ) ;
    public final void rule__MemberFeatureCall__Group_1_2__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12173:1: ( ( ( rule__MemberFeatureCall__Group_1_2_6__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12174:1: ( ( rule__MemberFeatureCall__Group_1_2_6__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12174:1: ( ( rule__MemberFeatureCall__Group_1_2_6__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12175:1: ( rule__MemberFeatureCall__Group_1_2_6__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2_6()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12176:1: ( rule__MemberFeatureCall__Group_1_2_6__0 )?
            int alt86=2;
            int LA86_0 = input.LA(1);

            if ( (LA86_0==43) ) {
                int LA86_1 = input.LA(2);

                if ( (LA86_1==RULE_N) ) {
                    int LA86_3 = input.LA(3);

                    if ( (LA86_3==42) ) {
                        alt86=1;
                    }
                }
                else if ( (LA86_1==RULE_ID) ) {
                    int LA86_4 = input.LA(3);

                    if ( (LA86_4==42) ) {
                        alt86=1;
                    }
                }
            }
            switch (alt86) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12176:2: rule__MemberFeatureCall__Group_1_2_6__0
                    {
                    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_6__0_in_rule__MemberFeatureCall__Group_1_2__6__Impl24839);
                    rule__MemberFeatureCall__Group_1_2_6__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__6__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__7"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12186:1: rule__MemberFeatureCall__Group_1_2__7 : rule__MemberFeatureCall__Group_1_2__7__Impl rule__MemberFeatureCall__Group_1_2__8 ;
    public final void rule__MemberFeatureCall__Group_1_2__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12190:1: ( rule__MemberFeatureCall__Group_1_2__7__Impl rule__MemberFeatureCall__Group_1_2__8 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12191:2: rule__MemberFeatureCall__Group_1_2__7__Impl rule__MemberFeatureCall__Group_1_2__8
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__7__Impl_in_rule__MemberFeatureCall__Group_1_2__724870);
            rule__MemberFeatureCall__Group_1_2__7__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__8_in_rule__MemberFeatureCall__Group_1_2__724873);
            rule__MemberFeatureCall__Group_1_2__8();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__7"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__7__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12198:1: rule__MemberFeatureCall__Group_1_2__7__Impl : ( ( rule__MemberFeatureCall__Group_1_2_7__0 )? ) ;
    public final void rule__MemberFeatureCall__Group_1_2__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12202:1: ( ( ( rule__MemberFeatureCall__Group_1_2_7__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12203:1: ( ( rule__MemberFeatureCall__Group_1_2_7__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12203:1: ( ( rule__MemberFeatureCall__Group_1_2_7__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12204:1: ( rule__MemberFeatureCall__Group_1_2_7__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2_7()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12205:1: ( rule__MemberFeatureCall__Group_1_2_7__0 )?
            int alt87=2;
            int LA87_0 = input.LA(1);

            if ( (LA87_0==43) ) {
                alt87=1;
            }
            switch (alt87) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12205:2: rule__MemberFeatureCall__Group_1_2_7__0
                    {
                    pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_7__0_in_rule__MemberFeatureCall__Group_1_2__7__Impl24900);
                    rule__MemberFeatureCall__Group_1_2_7__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getGroup_1_2_7()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__7__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__8"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12215:1: rule__MemberFeatureCall__Group_1_2__8 : rule__MemberFeatureCall__Group_1_2__8__Impl rule__MemberFeatureCall__Group_1_2__9 ;
    public final void rule__MemberFeatureCall__Group_1_2__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12219:1: ( rule__MemberFeatureCall__Group_1_2__8__Impl rule__MemberFeatureCall__Group_1_2__9 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12220:2: rule__MemberFeatureCall__Group_1_2__8__Impl rule__MemberFeatureCall__Group_1_2__9
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__8__Impl_in_rule__MemberFeatureCall__Group_1_2__824931);
            rule__MemberFeatureCall__Group_1_2__8__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__9_in_rule__MemberFeatureCall__Group_1_2__824934);
            rule__MemberFeatureCall__Group_1_2__9();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__8"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__8__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12227:1: rule__MemberFeatureCall__Group_1_2__8__Impl : ( '|' ) ;
    public final void rule__MemberFeatureCall__Group_1_2__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12231:1: ( ( '|' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12232:1: ( '|' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12232:1: ( '|' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12233:1: '|'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getVerticalLineKeyword_1_2_8()); 
            }
            match(input,75,FOLLOW_75_in_rule__MemberFeatureCall__Group_1_2__8__Impl24962); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getVerticalLineKeyword_1_2_8()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__8__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__9"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12246:1: rule__MemberFeatureCall__Group_1_2__9 : rule__MemberFeatureCall__Group_1_2__9__Impl rule__MemberFeatureCall__Group_1_2__10 ;
    public final void rule__MemberFeatureCall__Group_1_2__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12250:1: ( rule__MemberFeatureCall__Group_1_2__9__Impl rule__MemberFeatureCall__Group_1_2__10 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12251:2: rule__MemberFeatureCall__Group_1_2__9__Impl rule__MemberFeatureCall__Group_1_2__10
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__9__Impl_in_rule__MemberFeatureCall__Group_1_2__924993);
            rule__MemberFeatureCall__Group_1_2__9__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__10_in_rule__MemberFeatureCall__Group_1_2__924996);
            rule__MemberFeatureCall__Group_1_2__10();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__9"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__9__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12258:1: rule__MemberFeatureCall__Group_1_2__9__Impl : ( ( rule__MemberFeatureCall__ExpressionAssignment_1_2_9 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_2__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12262:1: ( ( ( rule__MemberFeatureCall__ExpressionAssignment_1_2_9 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12263:1: ( ( rule__MemberFeatureCall__ExpressionAssignment_1_2_9 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12263:1: ( ( rule__MemberFeatureCall__ExpressionAssignment_1_2_9 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12264:1: ( rule__MemberFeatureCall__ExpressionAssignment_1_2_9 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getExpressionAssignment_1_2_9()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12265:1: ( rule__MemberFeatureCall__ExpressionAssignment_1_2_9 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12265:2: rule__MemberFeatureCall__ExpressionAssignment_1_2_9
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__ExpressionAssignment_1_2_9_in_rule__MemberFeatureCall__Group_1_2__9__Impl25023);
            rule__MemberFeatureCall__ExpressionAssignment_1_2_9();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getExpressionAssignment_1_2_9()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__9__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__10"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12275:1: rule__MemberFeatureCall__Group_1_2__10 : rule__MemberFeatureCall__Group_1_2__10__Impl ;
    public final void rule__MemberFeatureCall__Group_1_2__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12279:1: ( rule__MemberFeatureCall__Group_1_2__10__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12280:2: rule__MemberFeatureCall__Group_1_2__10__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2__10__Impl_in_rule__MemberFeatureCall__Group_1_2__1025053);
            rule__MemberFeatureCall__Group_1_2__10__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__10"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2__10__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12286:1: rule__MemberFeatureCall__Group_1_2__10__Impl : ( ')' ) ;
    public final void rule__MemberFeatureCall__Group_1_2__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12290:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12291:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12291:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12292:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getRightParenthesisKeyword_1_2_10()); 
            }
            match(input,48,FOLLOW_48_in_rule__MemberFeatureCall__Group_1_2__10__Impl25081); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getRightParenthesisKeyword_1_2_10()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2__10__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_5__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12327:1: rule__MemberFeatureCall__Group_1_2_5__0 : rule__MemberFeatureCall__Group_1_2_5__0__Impl rule__MemberFeatureCall__Group_1_2_5__1 ;
    public final void rule__MemberFeatureCall__Group_1_2_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12331:1: ( rule__MemberFeatureCall__Group_1_2_5__0__Impl rule__MemberFeatureCall__Group_1_2_5__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12332:2: rule__MemberFeatureCall__Group_1_2_5__0__Impl rule__MemberFeatureCall__Group_1_2_5__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_5__0__Impl_in_rule__MemberFeatureCall__Group_1_2_5__025134);
            rule__MemberFeatureCall__Group_1_2_5__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_5__1_in_rule__MemberFeatureCall__Group_1_2_5__025137);
            rule__MemberFeatureCall__Group_1_2_5__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_5__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_5__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12339:1: rule__MemberFeatureCall__Group_1_2_5__0__Impl : ( ',' ) ;
    public final void rule__MemberFeatureCall__Group_1_2_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12343:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12344:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12344:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12345:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getCommaKeyword_1_2_5_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__MemberFeatureCall__Group_1_2_5__0__Impl25165); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getCommaKeyword_1_2_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_5__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_5__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12358:1: rule__MemberFeatureCall__Group_1_2_5__1 : rule__MemberFeatureCall__Group_1_2_5__1__Impl ;
    public final void rule__MemberFeatureCall__Group_1_2_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12362:1: ( rule__MemberFeatureCall__Group_1_2_5__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12363:2: rule__MemberFeatureCall__Group_1_2_5__1__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_5__1__Impl_in_rule__MemberFeatureCall__Group_1_2_5__125196);
            rule__MemberFeatureCall__Group_1_2_5__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_5__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_5__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12369:1: rule__MemberFeatureCall__Group_1_2_5__1__Impl : ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_5_1 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_2_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12373:1: ( ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_5_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12374:1: ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_5_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12374:1: ( ( rule__MemberFeatureCall__VariablesAssignment_1_2_5_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12375:1: ( rule__MemberFeatureCall__VariablesAssignment_1_2_5_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getVariablesAssignment_1_2_5_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12376:1: ( rule__MemberFeatureCall__VariablesAssignment_1_2_5_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12376:2: rule__MemberFeatureCall__VariablesAssignment_1_2_5_1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__VariablesAssignment_1_2_5_1_in_rule__MemberFeatureCall__Group_1_2_5__1__Impl25223);
            rule__MemberFeatureCall__VariablesAssignment_1_2_5_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getVariablesAssignment_1_2_5_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_5__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_6__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12390:1: rule__MemberFeatureCall__Group_1_2_6__0 : rule__MemberFeatureCall__Group_1_2_6__0__Impl rule__MemberFeatureCall__Group_1_2_6__1 ;
    public final void rule__MemberFeatureCall__Group_1_2_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12394:1: ( rule__MemberFeatureCall__Group_1_2_6__0__Impl rule__MemberFeatureCall__Group_1_2_6__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12395:2: rule__MemberFeatureCall__Group_1_2_6__0__Impl rule__MemberFeatureCall__Group_1_2_6__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_6__0__Impl_in_rule__MemberFeatureCall__Group_1_2_6__025257);
            rule__MemberFeatureCall__Group_1_2_6__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_6__1_in_rule__MemberFeatureCall__Group_1_2_6__025260);
            rule__MemberFeatureCall__Group_1_2_6__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_6__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_6__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12402:1: rule__MemberFeatureCall__Group_1_2_6__0__Impl : ( ';' ) ;
    public final void rule__MemberFeatureCall__Group_1_2_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12406:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12407:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12407:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12408:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getSemicolonKeyword_1_2_6_0()); 
            }
            match(input,43,FOLLOW_43_in_rule__MemberFeatureCall__Group_1_2_6__0__Impl25288); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getSemicolonKeyword_1_2_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_6__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_6__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12421:1: rule__MemberFeatureCall__Group_1_2_6__1 : rule__MemberFeatureCall__Group_1_2_6__1__Impl ;
    public final void rule__MemberFeatureCall__Group_1_2_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12425:1: ( rule__MemberFeatureCall__Group_1_2_6__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12426:2: rule__MemberFeatureCall__Group_1_2_6__1__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_6__1__Impl_in_rule__MemberFeatureCall__Group_1_2_6__125319);
            rule__MemberFeatureCall__Group_1_2_6__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_6__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_6__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12432:1: rule__MemberFeatureCall__Group_1_2_6__1__Impl : ( ( rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_2_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12436:1: ( ( ( rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12437:1: ( ( rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12437:1: ( ( rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12438:1: ( rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getAccumulatorAssignment_1_2_6_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12439:1: ( rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12439:2: rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1_in_rule__MemberFeatureCall__Group_1_2_6__1__Impl25346);
            rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getAccumulatorAssignment_1_2_6_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_6__1__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_7__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12453:1: rule__MemberFeatureCall__Group_1_2_7__0 : rule__MemberFeatureCall__Group_1_2_7__0__Impl rule__MemberFeatureCall__Group_1_2_7__1 ;
    public final void rule__MemberFeatureCall__Group_1_2_7__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12457:1: ( rule__MemberFeatureCall__Group_1_2_7__0__Impl rule__MemberFeatureCall__Group_1_2_7__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12458:2: rule__MemberFeatureCall__Group_1_2_7__0__Impl rule__MemberFeatureCall__Group_1_2_7__1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_7__0__Impl_in_rule__MemberFeatureCall__Group_1_2_7__025380);
            rule__MemberFeatureCall__Group_1_2_7__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_7__1_in_rule__MemberFeatureCall__Group_1_2_7__025383);
            rule__MemberFeatureCall__Group_1_2_7__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_7__0"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_7__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12465:1: rule__MemberFeatureCall__Group_1_2_7__0__Impl : ( ';' ) ;
    public final void rule__MemberFeatureCall__Group_1_2_7__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12469:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12470:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12470:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12471:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getSemicolonKeyword_1_2_7_0()); 
            }
            match(input,43,FOLLOW_43_in_rule__MemberFeatureCall__Group_1_2_7__0__Impl25411); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getSemicolonKeyword_1_2_7_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_7__0__Impl"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_7__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12484:1: rule__MemberFeatureCall__Group_1_2_7__1 : rule__MemberFeatureCall__Group_1_2_7__1__Impl ;
    public final void rule__MemberFeatureCall__Group_1_2_7__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12488:1: ( rule__MemberFeatureCall__Group_1_2_7__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12489:2: rule__MemberFeatureCall__Group_1_2_7__1__Impl
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__Group_1_2_7__1__Impl_in_rule__MemberFeatureCall__Group_1_2_7__125442);
            rule__MemberFeatureCall__Group_1_2_7__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_7__1"


    // $ANTLR start "rule__MemberFeatureCall__Group_1_2_7__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12495:1: rule__MemberFeatureCall__Group_1_2_7__1__Impl : ( ( rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1 ) ) ;
    public final void rule__MemberFeatureCall__Group_1_2_7__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12499:1: ( ( ( rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12500:1: ( ( rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12500:1: ( ( rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12501:1: ( rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getBreakConditionAssignment_1_2_7_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12502:1: ( rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12502:2: rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1
            {
            pushFollow(FOLLOW_rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1_in_rule__MemberFeatureCall__Group_1_2_7__1__Impl25469);
            rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getBreakConditionAssignment_1_2_7_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__Group_1_2_7__1__Impl"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12516:1: rule__AssignableMemberFeatureCall__Group__0 : rule__AssignableMemberFeatureCall__Group__0__Impl rule__AssignableMemberFeatureCall__Group__1 ;
    public final void rule__AssignableMemberFeatureCall__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12520:1: ( rule__AssignableMemberFeatureCall__Group__0__Impl rule__AssignableMemberFeatureCall__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12521:2: rule__AssignableMemberFeatureCall__Group__0__Impl rule__AssignableMemberFeatureCall__Group__1
            {
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group__0__Impl_in_rule__AssignableMemberFeatureCall__Group__025503);
            rule__AssignableMemberFeatureCall__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group__1_in_rule__AssignableMemberFeatureCall__Group__025506);
            rule__AssignableMemberFeatureCall__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group__0"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12528:1: rule__AssignableMemberFeatureCall__Group__0__Impl : ( ruleAssignablePrimaryExpression ) ;
    public final void rule__AssignableMemberFeatureCall__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12532:1: ( ( ruleAssignablePrimaryExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12533:1: ( ruleAssignablePrimaryExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12533:1: ( ruleAssignablePrimaryExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12534:1: ruleAssignablePrimaryExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getAssignablePrimaryExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleAssignablePrimaryExpression_in_rule__AssignableMemberFeatureCall__Group__0__Impl25533);
            ruleAssignablePrimaryExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignableMemberFeatureCallAccess().getAssignablePrimaryExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group__0__Impl"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12545:1: rule__AssignableMemberFeatureCall__Group__1 : rule__AssignableMemberFeatureCall__Group__1__Impl ;
    public final void rule__AssignableMemberFeatureCall__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12549:1: ( rule__AssignableMemberFeatureCall__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12550:2: rule__AssignableMemberFeatureCall__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group__1__Impl_in_rule__AssignableMemberFeatureCall__Group__125562);
            rule__AssignableMemberFeatureCall__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group__1"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12556:1: rule__AssignableMemberFeatureCall__Group__1__Impl : ( ( rule__AssignableMemberFeatureCall__Group_1__0 )* ) ;
    public final void rule__AssignableMemberFeatureCall__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12560:1: ( ( ( rule__AssignableMemberFeatureCall__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12561:1: ( ( rule__AssignableMemberFeatureCall__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12561:1: ( ( rule__AssignableMemberFeatureCall__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12562:1: ( rule__AssignableMemberFeatureCall__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12563:1: ( rule__AssignableMemberFeatureCall__Group_1__0 )*
            loop88:
            do {
                int alt88=2;
                int LA88_0 = input.LA(1);

                if ( (LA88_0==74) ) {
                    alt88=1;
                }


                switch (alt88) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12563:2: rule__AssignableMemberFeatureCall__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group_1__0_in_rule__AssignableMemberFeatureCall__Group__1__Impl25589);
            	    rule__AssignableMemberFeatureCall__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop88;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignableMemberFeatureCallAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group__1__Impl"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12577:1: rule__AssignableMemberFeatureCall__Group_1__0 : rule__AssignableMemberFeatureCall__Group_1__0__Impl rule__AssignableMemberFeatureCall__Group_1__1 ;
    public final void rule__AssignableMemberFeatureCall__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12581:1: ( rule__AssignableMemberFeatureCall__Group_1__0__Impl rule__AssignableMemberFeatureCall__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12582:2: rule__AssignableMemberFeatureCall__Group_1__0__Impl rule__AssignableMemberFeatureCall__Group_1__1
            {
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group_1__0__Impl_in_rule__AssignableMemberFeatureCall__Group_1__025624);
            rule__AssignableMemberFeatureCall__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group_1__1_in_rule__AssignableMemberFeatureCall__Group_1__025627);
            rule__AssignableMemberFeatureCall__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group_1__0"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12589:1: rule__AssignableMemberFeatureCall__Group_1__0__Impl : ( () ) ;
    public final void rule__AssignableMemberFeatureCall__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12593:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12594:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12594:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12595:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableAccessTargetAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12596:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12598:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableAccessTargetAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group_1__0__Impl"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12608:1: rule__AssignableMemberFeatureCall__Group_1__1 : rule__AssignableMemberFeatureCall__Group_1__1__Impl rule__AssignableMemberFeatureCall__Group_1__2 ;
    public final void rule__AssignableMemberFeatureCall__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12612:1: ( rule__AssignableMemberFeatureCall__Group_1__1__Impl rule__AssignableMemberFeatureCall__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12613:2: rule__AssignableMemberFeatureCall__Group_1__1__Impl rule__AssignableMemberFeatureCall__Group_1__2
            {
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group_1__1__Impl_in_rule__AssignableMemberFeatureCall__Group_1__125685);
            rule__AssignableMemberFeatureCall__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group_1__2_in_rule__AssignableMemberFeatureCall__Group_1__125688);
            rule__AssignableMemberFeatureCall__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group_1__1"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12620:1: rule__AssignableMemberFeatureCall__Group_1__1__Impl : ( '.' ) ;
    public final void rule__AssignableMemberFeatureCall__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12624:1: ( ( '.' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12625:1: ( '.' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12625:1: ( '.' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12626:1: '.'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getFullStopKeyword_1_1()); 
            }
            match(input,74,FOLLOW_74_in_rule__AssignableMemberFeatureCall__Group_1__1__Impl25716); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignableMemberFeatureCallAccess().getFullStopKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group_1__1__Impl"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12639:1: rule__AssignableMemberFeatureCall__Group_1__2 : rule__AssignableMemberFeatureCall__Group_1__2__Impl ;
    public final void rule__AssignableMemberFeatureCall__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12643:1: ( rule__AssignableMemberFeatureCall__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12644:2: rule__AssignableMemberFeatureCall__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__Group_1__2__Impl_in_rule__AssignableMemberFeatureCall__Group_1__225747);
            rule__AssignableMemberFeatureCall__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group_1__2"


    // $ANTLR start "rule__AssignableMemberFeatureCall__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12650:1: rule__AssignableMemberFeatureCall__Group_1__2__Impl : ( ( rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2 ) ) ;
    public final void rule__AssignableMemberFeatureCall__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12654:1: ( ( ( rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12655:1: ( ( rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12655:1: ( ( rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12656:1: ( rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12657:1: ( rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12657:2: rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2
            {
            pushFollow(FOLLOW_rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2_in_rule__AssignableMemberFeatureCall__Group_1__2__Impl25774);
            rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__Group_1__2__Impl"


    // $ANTLR start "rule__IterationAccumulator__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12673:1: rule__IterationAccumulator__Group__0 : rule__IterationAccumulator__Group__0__Impl rule__IterationAccumulator__Group__1 ;
    public final void rule__IterationAccumulator__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12677:1: ( rule__IterationAccumulator__Group__0__Impl rule__IterationAccumulator__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12678:2: rule__IterationAccumulator__Group__0__Impl rule__IterationAccumulator__Group__1
            {
            pushFollow(FOLLOW_rule__IterationAccumulator__Group__0__Impl_in_rule__IterationAccumulator__Group__025810);
            rule__IterationAccumulator__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IterationAccumulator__Group__1_in_rule__IterationAccumulator__Group__025813);
            rule__IterationAccumulator__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__Group__0"


    // $ANTLR start "rule__IterationAccumulator__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12685:1: rule__IterationAccumulator__Group__0__Impl : ( ( rule__IterationAccumulator__NameAssignment_0 ) ) ;
    public final void rule__IterationAccumulator__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12689:1: ( ( ( rule__IterationAccumulator__NameAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12690:1: ( ( rule__IterationAccumulator__NameAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12690:1: ( ( rule__IterationAccumulator__NameAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12691:1: ( rule__IterationAccumulator__NameAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationAccumulatorAccess().getNameAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12692:1: ( rule__IterationAccumulator__NameAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12692:2: rule__IterationAccumulator__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__IterationAccumulator__NameAssignment_0_in_rule__IterationAccumulator__Group__0__Impl25840);
            rule__IterationAccumulator__NameAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIterationAccumulatorAccess().getNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__Group__0__Impl"


    // $ANTLR start "rule__IterationAccumulator__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12702:1: rule__IterationAccumulator__Group__1 : rule__IterationAccumulator__Group__1__Impl rule__IterationAccumulator__Group__2 ;
    public final void rule__IterationAccumulator__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12706:1: ( rule__IterationAccumulator__Group__1__Impl rule__IterationAccumulator__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12707:2: rule__IterationAccumulator__Group__1__Impl rule__IterationAccumulator__Group__2
            {
            pushFollow(FOLLOW_rule__IterationAccumulator__Group__1__Impl_in_rule__IterationAccumulator__Group__125870);
            rule__IterationAccumulator__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IterationAccumulator__Group__2_in_rule__IterationAccumulator__Group__125873);
            rule__IterationAccumulator__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__Group__1"


    // $ANTLR start "rule__IterationAccumulator__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12714:1: rule__IterationAccumulator__Group__1__Impl : ( '=' ) ;
    public final void rule__IterationAccumulator__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12718:1: ( ( '=' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12719:1: ( '=' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12719:1: ( '=' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12720:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationAccumulatorAccess().getEqualsSignKeyword_1()); 
            }
            match(input,42,FOLLOW_42_in_rule__IterationAccumulator__Group__1__Impl25901); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIterationAccumulatorAccess().getEqualsSignKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__Group__1__Impl"


    // $ANTLR start "rule__IterationAccumulator__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12733:1: rule__IterationAccumulator__Group__2 : rule__IterationAccumulator__Group__2__Impl ;
    public final void rule__IterationAccumulator__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12737:1: ( rule__IterationAccumulator__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12738:2: rule__IterationAccumulator__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__IterationAccumulator__Group__2__Impl_in_rule__IterationAccumulator__Group__225932);
            rule__IterationAccumulator__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__Group__2"


    // $ANTLR start "rule__IterationAccumulator__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12744:1: rule__IterationAccumulator__Group__2__Impl : ( ( rule__IterationAccumulator__InitializerAssignment_2 ) ) ;
    public final void rule__IterationAccumulator__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12748:1: ( ( ( rule__IterationAccumulator__InitializerAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12749:1: ( ( rule__IterationAccumulator__InitializerAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12749:1: ( ( rule__IterationAccumulator__InitializerAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12750:1: ( rule__IterationAccumulator__InitializerAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationAccumulatorAccess().getInitializerAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12751:1: ( rule__IterationAccumulator__InitializerAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12751:2: rule__IterationAccumulator__InitializerAssignment_2
            {
            pushFollow(FOLLOW_rule__IterationAccumulator__InitializerAssignment_2_in_rule__IterationAccumulator__Group__2__Impl25959);
            rule__IterationAccumulator__InitializerAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIterationAccumulatorAccess().getInitializerAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__Group__2__Impl"


    // $ANTLR start "rule__RealLiteral__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12767:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
    public final void rule__RealLiteral__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12771:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12772:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
            {
            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__025995);
            rule__RealLiteral__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__025998);
            rule__RealLiteral__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__Group__0"


    // $ANTLR start "rule__RealLiteral__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12779:1: rule__RealLiteral__Group__0__Impl : ( ( rule__RealLiteral__ValueAssignment_0 ) ) ;
    public final void rule__RealLiteral__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12783:1: ( ( ( rule__RealLiteral__ValueAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12784:1: ( ( rule__RealLiteral__ValueAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12784:1: ( ( rule__RealLiteral__ValueAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12785:1: ( rule__RealLiteral__ValueAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralAccess().getValueAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12786:1: ( rule__RealLiteral__ValueAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12786:2: rule__RealLiteral__ValueAssignment_0
            {
            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_0_in_rule__RealLiteral__Group__0__Impl26025);
            rule__RealLiteral__ValueAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealLiteralAccess().getValueAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__Group__0__Impl"


    // $ANTLR start "rule__RealLiteral__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12796:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl rule__RealLiteral__Group__2 ;
    public final void rule__RealLiteral__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12800:1: ( rule__RealLiteral__Group__1__Impl rule__RealLiteral__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12801:2: rule__RealLiteral__Group__1__Impl rule__RealLiteral__Group__2
            {
            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__126055);
            rule__RealLiteral__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RealLiteral__Group__2_in_rule__RealLiteral__Group__126058);
            rule__RealLiteral__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__Group__1"


    // $ANTLR start "rule__RealLiteral__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12808:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ModifierAssignment_1 )? ) ;
    public final void rule__RealLiteral__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12812:1: ( ( ( rule__RealLiteral__ModifierAssignment_1 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12813:1: ( ( rule__RealLiteral__ModifierAssignment_1 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12813:1: ( ( rule__RealLiteral__ModifierAssignment_1 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12814:1: ( rule__RealLiteral__ModifierAssignment_1 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralAccess().getModifierAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12815:1: ( rule__RealLiteral__ModifierAssignment_1 )?
            int alt89=2;
            int LA89_0 = input.LA(1);

            if ( ((LA89_0>=RULE_N && LA89_0<=RULE_ID)) ) {
                alt89=1;
            }
            switch (alt89) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12815:2: rule__RealLiteral__ModifierAssignment_1
                    {
                    pushFollow(FOLLOW_rule__RealLiteral__ModifierAssignment_1_in_rule__RealLiteral__Group__1__Impl26085);
                    rule__RealLiteral__ModifierAssignment_1();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealLiteralAccess().getModifierAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__Group__1__Impl"


    // $ANTLR start "rule__RealLiteral__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12825:1: rule__RealLiteral__Group__2 : rule__RealLiteral__Group__2__Impl ;
    public final void rule__RealLiteral__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12829:1: ( rule__RealLiteral__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12830:2: rule__RealLiteral__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__RealLiteral__Group__2__Impl_in_rule__RealLiteral__Group__226116);
            rule__RealLiteral__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__Group__2"


    // $ANTLR start "rule__RealLiteral__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12836:1: rule__RealLiteral__Group__2__Impl : ( ( rule__RealLiteral__UnitAssignment_2 ) ) ;
    public final void rule__RealLiteral__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12840:1: ( ( ( rule__RealLiteral__UnitAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12841:1: ( ( rule__RealLiteral__UnitAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12841:1: ( ( rule__RealLiteral__UnitAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12842:1: ( rule__RealLiteral__UnitAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralAccess().getUnitAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12843:1: ( rule__RealLiteral__UnitAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12843:2: rule__RealLiteral__UnitAssignment_2
            {
            pushFollow(FOLLOW_rule__RealLiteral__UnitAssignment_2_in_rule__RealLiteral__Group__2__Impl26143);
            rule__RealLiteral__UnitAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealLiteralAccess().getUnitAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__Group__2__Impl"


    // $ANTLR start "rule__IntegerLiteral__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12859:1: rule__IntegerLiteral__Group__0 : rule__IntegerLiteral__Group__0__Impl rule__IntegerLiteral__Group__1 ;
    public final void rule__IntegerLiteral__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12863:1: ( rule__IntegerLiteral__Group__0__Impl rule__IntegerLiteral__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12864:2: rule__IntegerLiteral__Group__0__Impl rule__IntegerLiteral__Group__1
            {
            pushFollow(FOLLOW_rule__IntegerLiteral__Group__0__Impl_in_rule__IntegerLiteral__Group__026179);
            rule__IntegerLiteral__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IntegerLiteral__Group__1_in_rule__IntegerLiteral__Group__026182);
            rule__IntegerLiteral__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__Group__0"


    // $ANTLR start "rule__IntegerLiteral__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12871:1: rule__IntegerLiteral__Group__0__Impl : ( ( rule__IntegerLiteral__ValueAssignment_0 ) ) ;
    public final void rule__IntegerLiteral__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12875:1: ( ( ( rule__IntegerLiteral__ValueAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12876:1: ( ( rule__IntegerLiteral__ValueAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12876:1: ( ( rule__IntegerLiteral__ValueAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12877:1: ( rule__IntegerLiteral__ValueAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralAccess().getValueAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12878:1: ( rule__IntegerLiteral__ValueAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12878:2: rule__IntegerLiteral__ValueAssignment_0
            {
            pushFollow(FOLLOW_rule__IntegerLiteral__ValueAssignment_0_in_rule__IntegerLiteral__Group__0__Impl26209);
            rule__IntegerLiteral__ValueAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerLiteralAccess().getValueAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__Group__0__Impl"


    // $ANTLR start "rule__IntegerLiteral__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12888:1: rule__IntegerLiteral__Group__1 : rule__IntegerLiteral__Group__1__Impl rule__IntegerLiteral__Group__2 ;
    public final void rule__IntegerLiteral__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12892:1: ( rule__IntegerLiteral__Group__1__Impl rule__IntegerLiteral__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12893:2: rule__IntegerLiteral__Group__1__Impl rule__IntegerLiteral__Group__2
            {
            pushFollow(FOLLOW_rule__IntegerLiteral__Group__1__Impl_in_rule__IntegerLiteral__Group__126239);
            rule__IntegerLiteral__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IntegerLiteral__Group__2_in_rule__IntegerLiteral__Group__126242);
            rule__IntegerLiteral__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__Group__1"


    // $ANTLR start "rule__IntegerLiteral__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12900:1: rule__IntegerLiteral__Group__1__Impl : ( ( rule__IntegerLiteral__ModifierAssignment_1 )? ) ;
    public final void rule__IntegerLiteral__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12904:1: ( ( ( rule__IntegerLiteral__ModifierAssignment_1 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12905:1: ( ( rule__IntegerLiteral__ModifierAssignment_1 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12905:1: ( ( rule__IntegerLiteral__ModifierAssignment_1 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12906:1: ( rule__IntegerLiteral__ModifierAssignment_1 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralAccess().getModifierAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12907:1: ( rule__IntegerLiteral__ModifierAssignment_1 )?
            int alt90=2;
            int LA90_0 = input.LA(1);

            if ( ((LA90_0>=RULE_N && LA90_0<=RULE_ID)) ) {
                alt90=1;
            }
            switch (alt90) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12907:2: rule__IntegerLiteral__ModifierAssignment_1
                    {
                    pushFollow(FOLLOW_rule__IntegerLiteral__ModifierAssignment_1_in_rule__IntegerLiteral__Group__1__Impl26269);
                    rule__IntegerLiteral__ModifierAssignment_1();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerLiteralAccess().getModifierAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__Group__1__Impl"


    // $ANTLR start "rule__IntegerLiteral__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12917:1: rule__IntegerLiteral__Group__2 : rule__IntegerLiteral__Group__2__Impl ;
    public final void rule__IntegerLiteral__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12921:1: ( rule__IntegerLiteral__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12922:2: rule__IntegerLiteral__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__IntegerLiteral__Group__2__Impl_in_rule__IntegerLiteral__Group__226300);
            rule__IntegerLiteral__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__Group__2"


    // $ANTLR start "rule__IntegerLiteral__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12928:1: rule__IntegerLiteral__Group__2__Impl : ( ( rule__IntegerLiteral__UnitAssignment_2 ) ) ;
    public final void rule__IntegerLiteral__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12932:1: ( ( ( rule__IntegerLiteral__UnitAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12933:1: ( ( rule__IntegerLiteral__UnitAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12933:1: ( ( rule__IntegerLiteral__UnitAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12934:1: ( rule__IntegerLiteral__UnitAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralAccess().getUnitAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12935:1: ( rule__IntegerLiteral__UnitAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12935:2: rule__IntegerLiteral__UnitAssignment_2
            {
            pushFollow(FOLLOW_rule__IntegerLiteral__UnitAssignment_2_in_rule__IntegerLiteral__Group__2__Impl26327);
            rule__IntegerLiteral__UnitAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerLiteralAccess().getUnitAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__Group__2__Impl"


    // $ANTLR start "rule__BooleanLiteral__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12951:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
    public final void rule__BooleanLiteral__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12955:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12956:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
            {
            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__026363);
            rule__BooleanLiteral__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__026366);
            rule__BooleanLiteral__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanLiteral__Group__0"


    // $ANTLR start "rule__BooleanLiteral__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12963:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
    public final void rule__BooleanLiteral__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12967:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12968:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12968:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12969:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12970:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12972:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanLiteral__Group__0__Impl"


    // $ANTLR start "rule__BooleanLiteral__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12982:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
    public final void rule__BooleanLiteral__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12986:1: ( rule__BooleanLiteral__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12987:2: rule__BooleanLiteral__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__126424);
            rule__BooleanLiteral__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanLiteral__Group__1"


    // $ANTLR start "rule__BooleanLiteral__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12993:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
    public final void rule__BooleanLiteral__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12997:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12998:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12998:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:12999:1: ( rule__BooleanLiteral__Alternatives_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13000:1: ( rule__BooleanLiteral__Alternatives_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13000:2: rule__BooleanLiteral__Alternatives_1
            {
            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl26451);
            rule__BooleanLiteral__Alternatives_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanLiteral__Group__1__Impl"


    // $ANTLR start "rule__VariableAccess__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13014:1: rule__VariableAccess__Group__0 : rule__VariableAccess__Group__0__Impl rule__VariableAccess__Group__1 ;
    public final void rule__VariableAccess__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13018:1: ( rule__VariableAccess__Group__0__Impl rule__VariableAccess__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13019:2: rule__VariableAccess__Group__0__Impl rule__VariableAccess__Group__1
            {
            pushFollow(FOLLOW_rule__VariableAccess__Group__0__Impl_in_rule__VariableAccess__Group__026485);
            rule__VariableAccess__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableAccess__Group__1_in_rule__VariableAccess__Group__026488);
            rule__VariableAccess__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group__0"


    // $ANTLR start "rule__VariableAccess__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13026:1: rule__VariableAccess__Group__0__Impl : ( () ) ;
    public final void rule__VariableAccess__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13030:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13031:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13031:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13032:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getVariableAccessAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13033:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13035:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getVariableAccessAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group__0__Impl"


    // $ANTLR start "rule__VariableAccess__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13045:1: rule__VariableAccess__Group__1 : rule__VariableAccess__Group__1__Impl rule__VariableAccess__Group__2 ;
    public final void rule__VariableAccess__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13049:1: ( rule__VariableAccess__Group__1__Impl rule__VariableAccess__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13050:2: rule__VariableAccess__Group__1__Impl rule__VariableAccess__Group__2
            {
            pushFollow(FOLLOW_rule__VariableAccess__Group__1__Impl_in_rule__VariableAccess__Group__126546);
            rule__VariableAccess__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableAccess__Group__2_in_rule__VariableAccess__Group__126549);
            rule__VariableAccess__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group__1"


    // $ANTLR start "rule__VariableAccess__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13057:1: rule__VariableAccess__Group__1__Impl : ( ( rule__VariableAccess__FeatureAssignment_1 ) ) ;
    public final void rule__VariableAccess__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13061:1: ( ( ( rule__VariableAccess__FeatureAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13062:1: ( ( rule__VariableAccess__FeatureAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13062:1: ( ( rule__VariableAccess__FeatureAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13063:1: ( rule__VariableAccess__FeatureAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getFeatureAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13064:1: ( rule__VariableAccess__FeatureAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13064:2: rule__VariableAccess__FeatureAssignment_1
            {
            pushFollow(FOLLOW_rule__VariableAccess__FeatureAssignment_1_in_rule__VariableAccess__Group__1__Impl26576);
            rule__VariableAccess__FeatureAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getFeatureAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group__1__Impl"


    // $ANTLR start "rule__VariableAccess__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13074:1: rule__VariableAccess__Group__2 : rule__VariableAccess__Group__2__Impl ;
    public final void rule__VariableAccess__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13078:1: ( rule__VariableAccess__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13079:2: rule__VariableAccess__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__VariableAccess__Group__2__Impl_in_rule__VariableAccess__Group__226606);
            rule__VariableAccess__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group__2"


    // $ANTLR start "rule__VariableAccess__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13085:1: rule__VariableAccess__Group__2__Impl : ( ( rule__VariableAccess__Group_2__0 )? ) ;
    public final void rule__VariableAccess__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13089:1: ( ( ( rule__VariableAccess__Group_2__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13090:1: ( ( rule__VariableAccess__Group_2__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13090:1: ( ( rule__VariableAccess__Group_2__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13091:1: ( rule__VariableAccess__Group_2__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getGroup_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13092:1: ( rule__VariableAccess__Group_2__0 )?
            int alt91=2;
            int LA91_0 = input.LA(1);

            if ( (LA91_0==38) ) {
                alt91=1;
            }
            switch (alt91) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13092:2: rule__VariableAccess__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__VariableAccess__Group_2__0_in_rule__VariableAccess__Group__2__Impl26633);
                    rule__VariableAccess__Group_2__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group__2__Impl"


    // $ANTLR start "rule__VariableAccess__Group_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13108:1: rule__VariableAccess__Group_2__0 : rule__VariableAccess__Group_2__0__Impl rule__VariableAccess__Group_2__1 ;
    public final void rule__VariableAccess__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13112:1: ( rule__VariableAccess__Group_2__0__Impl rule__VariableAccess__Group_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13113:2: rule__VariableAccess__Group_2__0__Impl rule__VariableAccess__Group_2__1
            {
            pushFollow(FOLLOW_rule__VariableAccess__Group_2__0__Impl_in_rule__VariableAccess__Group_2__026670);
            rule__VariableAccess__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableAccess__Group_2__1_in_rule__VariableAccess__Group_2__026673);
            rule__VariableAccess__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group_2__0"


    // $ANTLR start "rule__VariableAccess__Group_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13120:1: rule__VariableAccess__Group_2__0__Impl : ( '{' ) ;
    public final void rule__VariableAccess__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13124:1: ( ( '{' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13125:1: ( '{' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13125:1: ( '{' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13126:1: '{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getLeftCurlyBracketKeyword_2_0()); 
            }
            match(input,38,FOLLOW_38_in_rule__VariableAccess__Group_2__0__Impl26701); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getLeftCurlyBracketKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group_2__0__Impl"


    // $ANTLR start "rule__VariableAccess__Group_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13139:1: rule__VariableAccess__Group_2__1 : rule__VariableAccess__Group_2__1__Impl rule__VariableAccess__Group_2__2 ;
    public final void rule__VariableAccess__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13143:1: ( rule__VariableAccess__Group_2__1__Impl rule__VariableAccess__Group_2__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13144:2: rule__VariableAccess__Group_2__1__Impl rule__VariableAccess__Group_2__2
            {
            pushFollow(FOLLOW_rule__VariableAccess__Group_2__1__Impl_in_rule__VariableAccess__Group_2__126732);
            rule__VariableAccess__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableAccess__Group_2__2_in_rule__VariableAccess__Group_2__126735);
            rule__VariableAccess__Group_2__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group_2__1"


    // $ANTLR start "rule__VariableAccess__Group_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13151:1: rule__VariableAccess__Group_2__1__Impl : ( ( rule__VariableAccess__StepExpressionAssignment_2_1 ) ) ;
    public final void rule__VariableAccess__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13155:1: ( ( ( rule__VariableAccess__StepExpressionAssignment_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13156:1: ( ( rule__VariableAccess__StepExpressionAssignment_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13156:1: ( ( rule__VariableAccess__StepExpressionAssignment_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13157:1: ( rule__VariableAccess__StepExpressionAssignment_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getStepExpressionAssignment_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13158:1: ( rule__VariableAccess__StepExpressionAssignment_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13158:2: rule__VariableAccess__StepExpressionAssignment_2_1
            {
            pushFollow(FOLLOW_rule__VariableAccess__StepExpressionAssignment_2_1_in_rule__VariableAccess__Group_2__1__Impl26762);
            rule__VariableAccess__StepExpressionAssignment_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getStepExpressionAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group_2__1__Impl"


    // $ANTLR start "rule__VariableAccess__Group_2__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13168:1: rule__VariableAccess__Group_2__2 : rule__VariableAccess__Group_2__2__Impl ;
    public final void rule__VariableAccess__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13172:1: ( rule__VariableAccess__Group_2__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13173:2: rule__VariableAccess__Group_2__2__Impl
            {
            pushFollow(FOLLOW_rule__VariableAccess__Group_2__2__Impl_in_rule__VariableAccess__Group_2__226792);
            rule__VariableAccess__Group_2__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group_2__2"


    // $ANTLR start "rule__VariableAccess__Group_2__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13179:1: rule__VariableAccess__Group_2__2__Impl : ( '}' ) ;
    public final void rule__VariableAccess__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13183:1: ( ( '}' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13184:1: ( '}' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13184:1: ( '}' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13185:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getRightCurlyBracketKeyword_2_2()); 
            }
            match(input,39,FOLLOW_39_in_rule__VariableAccess__Group_2__2__Impl26820); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getRightCurlyBracketKeyword_2_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__Group_2__2__Impl"


    // $ANTLR start "rule__FunctionCall__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13204:1: rule__FunctionCall__Group__0 : rule__FunctionCall__Group__0__Impl rule__FunctionCall__Group__1 ;
    public final void rule__FunctionCall__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13208:1: ( rule__FunctionCall__Group__0__Impl rule__FunctionCall__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13209:2: rule__FunctionCall__Group__0__Impl rule__FunctionCall__Group__1
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group__0__Impl_in_rule__FunctionCall__Group__026857);
            rule__FunctionCall__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionCall__Group__1_in_rule__FunctionCall__Group__026860);
            rule__FunctionCall__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__0"


    // $ANTLR start "rule__FunctionCall__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13216:1: rule__FunctionCall__Group__0__Impl : ( () ) ;
    public final void rule__FunctionCall__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13220:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13221:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13221:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13222:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getFunctionCallAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13223:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13225:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getFunctionCallAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__0__Impl"


    // $ANTLR start "rule__FunctionCall__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13235:1: rule__FunctionCall__Group__1 : rule__FunctionCall__Group__1__Impl rule__FunctionCall__Group__2 ;
    public final void rule__FunctionCall__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13239:1: ( rule__FunctionCall__Group__1__Impl rule__FunctionCall__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13240:2: rule__FunctionCall__Group__1__Impl rule__FunctionCall__Group__2
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group__1__Impl_in_rule__FunctionCall__Group__126918);
            rule__FunctionCall__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionCall__Group__2_in_rule__FunctionCall__Group__126921);
            rule__FunctionCall__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__1"


    // $ANTLR start "rule__FunctionCall__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13247:1: rule__FunctionCall__Group__1__Impl : ( ( rule__FunctionCall__FeatureAssignment_1 ) ) ;
    public final void rule__FunctionCall__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13251:1: ( ( ( rule__FunctionCall__FeatureAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13252:1: ( ( rule__FunctionCall__FeatureAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13252:1: ( ( rule__FunctionCall__FeatureAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13253:1: ( rule__FunctionCall__FeatureAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getFeatureAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13254:1: ( rule__FunctionCall__FeatureAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13254:2: rule__FunctionCall__FeatureAssignment_1
            {
            pushFollow(FOLLOW_rule__FunctionCall__FeatureAssignment_1_in_rule__FunctionCall__Group__1__Impl26948);
            rule__FunctionCall__FeatureAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getFeatureAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__1__Impl"


    // $ANTLR start "rule__FunctionCall__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13264:1: rule__FunctionCall__Group__2 : rule__FunctionCall__Group__2__Impl rule__FunctionCall__Group__3 ;
    public final void rule__FunctionCall__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13268:1: ( rule__FunctionCall__Group__2__Impl rule__FunctionCall__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13269:2: rule__FunctionCall__Group__2__Impl rule__FunctionCall__Group__3
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group__2__Impl_in_rule__FunctionCall__Group__226978);
            rule__FunctionCall__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionCall__Group__3_in_rule__FunctionCall__Group__226981);
            rule__FunctionCall__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__2"


    // $ANTLR start "rule__FunctionCall__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13276:1: rule__FunctionCall__Group__2__Impl : ( '(' ) ;
    public final void rule__FunctionCall__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13280:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13281:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13281:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13282:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getLeftParenthesisKeyword_2()); 
            }
            match(input,47,FOLLOW_47_in_rule__FunctionCall__Group__2__Impl27009); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getLeftParenthesisKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__2__Impl"


    // $ANTLR start "rule__FunctionCall__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13295:1: rule__FunctionCall__Group__3 : rule__FunctionCall__Group__3__Impl rule__FunctionCall__Group__4 ;
    public final void rule__FunctionCall__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13299:1: ( rule__FunctionCall__Group__3__Impl rule__FunctionCall__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13300:2: rule__FunctionCall__Group__3__Impl rule__FunctionCall__Group__4
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group__3__Impl_in_rule__FunctionCall__Group__327040);
            rule__FunctionCall__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionCall__Group__4_in_rule__FunctionCall__Group__327043);
            rule__FunctionCall__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__3"


    // $ANTLR start "rule__FunctionCall__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13307:1: rule__FunctionCall__Group__3__Impl : ( ( rule__FunctionCall__Group_3__0 )? ) ;
    public final void rule__FunctionCall__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13311:1: ( ( ( rule__FunctionCall__Group_3__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13312:1: ( ( rule__FunctionCall__Group_3__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13312:1: ( ( rule__FunctionCall__Group_3__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13313:1: ( rule__FunctionCall__Group_3__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getGroup_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13314:1: ( rule__FunctionCall__Group_3__0 )?
            int alt92=2;
            int LA92_0 = input.LA(1);

            if ( ((LA92_0>=RULE_REAL && LA92_0<=RULE_STRING)||LA92_0==15||LA92_0==29||LA92_0==36||LA92_0==38||LA92_0==47||LA92_0==60||LA92_0==62||LA92_0==64||LA92_0==67||LA92_0==77||(LA92_0>=79 && LA92_0<=81)||LA92_0==88||LA92_0==90) ) {
                alt92=1;
            }
            switch (alt92) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13314:2: rule__FunctionCall__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__FunctionCall__Group_3__0_in_rule__FunctionCall__Group__3__Impl27070);
                    rule__FunctionCall__Group_3__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__3__Impl"


    // $ANTLR start "rule__FunctionCall__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13324:1: rule__FunctionCall__Group__4 : rule__FunctionCall__Group__4__Impl ;
    public final void rule__FunctionCall__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13328:1: ( rule__FunctionCall__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13329:2: rule__FunctionCall__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group__4__Impl_in_rule__FunctionCall__Group__427101);
            rule__FunctionCall__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__4"


    // $ANTLR start "rule__FunctionCall__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13335:1: rule__FunctionCall__Group__4__Impl : ( ')' ) ;
    public final void rule__FunctionCall__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13339:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13340:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13340:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13341:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getRightParenthesisKeyword_4()); 
            }
            match(input,48,FOLLOW_48_in_rule__FunctionCall__Group__4__Impl27129); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getRightParenthesisKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group__4__Impl"


    // $ANTLR start "rule__FunctionCall__Group_3__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13364:1: rule__FunctionCall__Group_3__0 : rule__FunctionCall__Group_3__0__Impl rule__FunctionCall__Group_3__1 ;
    public final void rule__FunctionCall__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13368:1: ( rule__FunctionCall__Group_3__0__Impl rule__FunctionCall__Group_3__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13369:2: rule__FunctionCall__Group_3__0__Impl rule__FunctionCall__Group_3__1
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group_3__0__Impl_in_rule__FunctionCall__Group_3__027170);
            rule__FunctionCall__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionCall__Group_3__1_in_rule__FunctionCall__Group_3__027173);
            rule__FunctionCall__Group_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3__0"


    // $ANTLR start "rule__FunctionCall__Group_3__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13376:1: rule__FunctionCall__Group_3__0__Impl : ( ( rule__FunctionCall__ArgumentsAssignment_3_0 ) ) ;
    public final void rule__FunctionCall__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13380:1: ( ( ( rule__FunctionCall__ArgumentsAssignment_3_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13381:1: ( ( rule__FunctionCall__ArgumentsAssignment_3_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13381:1: ( ( rule__FunctionCall__ArgumentsAssignment_3_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13382:1: ( rule__FunctionCall__ArgumentsAssignment_3_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getArgumentsAssignment_3_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13383:1: ( rule__FunctionCall__ArgumentsAssignment_3_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13383:2: rule__FunctionCall__ArgumentsAssignment_3_0
            {
            pushFollow(FOLLOW_rule__FunctionCall__ArgumentsAssignment_3_0_in_rule__FunctionCall__Group_3__0__Impl27200);
            rule__FunctionCall__ArgumentsAssignment_3_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getArgumentsAssignment_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3__0__Impl"


    // $ANTLR start "rule__FunctionCall__Group_3__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13393:1: rule__FunctionCall__Group_3__1 : rule__FunctionCall__Group_3__1__Impl ;
    public final void rule__FunctionCall__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13397:1: ( rule__FunctionCall__Group_3__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13398:2: rule__FunctionCall__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group_3__1__Impl_in_rule__FunctionCall__Group_3__127230);
            rule__FunctionCall__Group_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3__1"


    // $ANTLR start "rule__FunctionCall__Group_3__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13404:1: rule__FunctionCall__Group_3__1__Impl : ( ( rule__FunctionCall__Group_3_1__0 )* ) ;
    public final void rule__FunctionCall__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13408:1: ( ( ( rule__FunctionCall__Group_3_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13409:1: ( ( rule__FunctionCall__Group_3_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13409:1: ( ( rule__FunctionCall__Group_3_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13410:1: ( rule__FunctionCall__Group_3_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getGroup_3_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13411:1: ( rule__FunctionCall__Group_3_1__0 )*
            loop93:
            do {
                int alt93=2;
                int LA93_0 = input.LA(1);

                if ( (LA93_0==40) ) {
                    alt93=1;
                }


                switch (alt93) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13411:2: rule__FunctionCall__Group_3_1__0
            	    {
            	    pushFollow(FOLLOW_rule__FunctionCall__Group_3_1__0_in_rule__FunctionCall__Group_3__1__Impl27257);
            	    rule__FunctionCall__Group_3_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop93;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getGroup_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3__1__Impl"


    // $ANTLR start "rule__FunctionCall__Group_3_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13425:1: rule__FunctionCall__Group_3_1__0 : rule__FunctionCall__Group_3_1__0__Impl rule__FunctionCall__Group_3_1__1 ;
    public final void rule__FunctionCall__Group_3_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13429:1: ( rule__FunctionCall__Group_3_1__0__Impl rule__FunctionCall__Group_3_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13430:2: rule__FunctionCall__Group_3_1__0__Impl rule__FunctionCall__Group_3_1__1
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group_3_1__0__Impl_in_rule__FunctionCall__Group_3_1__027292);
            rule__FunctionCall__Group_3_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__FunctionCall__Group_3_1__1_in_rule__FunctionCall__Group_3_1__027295);
            rule__FunctionCall__Group_3_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3_1__0"


    // $ANTLR start "rule__FunctionCall__Group_3_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13437:1: rule__FunctionCall__Group_3_1__0__Impl : ( ',' ) ;
    public final void rule__FunctionCall__Group_3_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13441:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13442:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13442:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13443:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getCommaKeyword_3_1_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__FunctionCall__Group_3_1__0__Impl27323); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getCommaKeyword_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3_1__0__Impl"


    // $ANTLR start "rule__FunctionCall__Group_3_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13456:1: rule__FunctionCall__Group_3_1__1 : rule__FunctionCall__Group_3_1__1__Impl ;
    public final void rule__FunctionCall__Group_3_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13460:1: ( rule__FunctionCall__Group_3_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13461:2: rule__FunctionCall__Group_3_1__1__Impl
            {
            pushFollow(FOLLOW_rule__FunctionCall__Group_3_1__1__Impl_in_rule__FunctionCall__Group_3_1__127354);
            rule__FunctionCall__Group_3_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3_1__1"


    // $ANTLR start "rule__FunctionCall__Group_3_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13467:1: rule__FunctionCall__Group_3_1__1__Impl : ( ( rule__FunctionCall__ArgumentsAssignment_3_1_1 ) ) ;
    public final void rule__FunctionCall__Group_3_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13471:1: ( ( ( rule__FunctionCall__ArgumentsAssignment_3_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13472:1: ( ( rule__FunctionCall__ArgumentsAssignment_3_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13472:1: ( ( rule__FunctionCall__ArgumentsAssignment_3_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13473:1: ( rule__FunctionCall__ArgumentsAssignment_3_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getArgumentsAssignment_3_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13474:1: ( rule__FunctionCall__ArgumentsAssignment_3_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13474:2: rule__FunctionCall__ArgumentsAssignment_3_1_1
            {
            pushFollow(FOLLOW_rule__FunctionCall__ArgumentsAssignment_3_1_1_in_rule__FunctionCall__Group_3_1__1__Impl27381);
            rule__FunctionCall__ArgumentsAssignment_3_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getArgumentsAssignment_3_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__Group_3_1__1__Impl"


    // $ANTLR start "rule__RangeStepExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13488:1: rule__RangeStepExpression__Group__0 : rule__RangeStepExpression__Group__0__Impl rule__RangeStepExpression__Group__1 ;
    public final void rule__RangeStepExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13492:1: ( rule__RangeStepExpression__Group__0__Impl rule__RangeStepExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13493:2: rule__RangeStepExpression__Group__0__Impl rule__RangeStepExpression__Group__1
            {
            pushFollow(FOLLOW_rule__RangeStepExpression__Group__0__Impl_in_rule__RangeStepExpression__Group__027415);
            rule__RangeStepExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeStepExpression__Group__1_in_rule__RangeStepExpression__Group__027418);
            rule__RangeStepExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group__0"


    // $ANTLR start "rule__RangeStepExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13500:1: rule__RangeStepExpression__Group__0__Impl : ( ruleAdditiveStepExpression ) ;
    public final void rule__RangeStepExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13504:1: ( ( ruleAdditiveStepExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13505:1: ( ruleAdditiveStepExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13505:1: ( ruleAdditiveStepExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13506:1: ruleAdditiveStepExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionAccess().getAdditiveStepExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleAdditiveStepExpression_in_rule__RangeStepExpression__Group__0__Impl27445);
            ruleAdditiveStepExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeStepExpressionAccess().getAdditiveStepExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group__0__Impl"


    // $ANTLR start "rule__RangeStepExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13517:1: rule__RangeStepExpression__Group__1 : rule__RangeStepExpression__Group__1__Impl ;
    public final void rule__RangeStepExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13521:1: ( rule__RangeStepExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13522:2: rule__RangeStepExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__RangeStepExpression__Group__1__Impl_in_rule__RangeStepExpression__Group__127474);
            rule__RangeStepExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group__1"


    // $ANTLR start "rule__RangeStepExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13528:1: rule__RangeStepExpression__Group__1__Impl : ( ( rule__RangeStepExpression__Group_1__0 )? ) ;
    public final void rule__RangeStepExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13532:1: ( ( ( rule__RangeStepExpression__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13533:1: ( ( rule__RangeStepExpression__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13533:1: ( ( rule__RangeStepExpression__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13534:1: ( rule__RangeStepExpression__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13535:1: ( rule__RangeStepExpression__Group_1__0 )?
            int alt94=2;
            int LA94_0 = input.LA(1);

            if ( (LA94_0==76) ) {
                alt94=1;
            }
            switch (alt94) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13535:2: rule__RangeStepExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__RangeStepExpression__Group_1__0_in_rule__RangeStepExpression__Group__1__Impl27501);
                    rule__RangeStepExpression__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeStepExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group__1__Impl"


    // $ANTLR start "rule__RangeStepExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13549:1: rule__RangeStepExpression__Group_1__0 : rule__RangeStepExpression__Group_1__0__Impl rule__RangeStepExpression__Group_1__1 ;
    public final void rule__RangeStepExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13553:1: ( rule__RangeStepExpression__Group_1__0__Impl rule__RangeStepExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13554:2: rule__RangeStepExpression__Group_1__0__Impl rule__RangeStepExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__RangeStepExpression__Group_1__0__Impl_in_rule__RangeStepExpression__Group_1__027536);
            rule__RangeStepExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeStepExpression__Group_1__1_in_rule__RangeStepExpression__Group_1__027539);
            rule__RangeStepExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group_1__0"


    // $ANTLR start "rule__RangeStepExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13561:1: rule__RangeStepExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__RangeStepExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13565:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13566:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13566:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13567:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionAccess().getRangeStepExpressionStartAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13568:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13570:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeStepExpressionAccess().getRangeStepExpressionStartAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group_1__0__Impl"


    // $ANTLR start "rule__RangeStepExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13580:1: rule__RangeStepExpression__Group_1__1 : rule__RangeStepExpression__Group_1__1__Impl rule__RangeStepExpression__Group_1__2 ;
    public final void rule__RangeStepExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13584:1: ( rule__RangeStepExpression__Group_1__1__Impl rule__RangeStepExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13585:2: rule__RangeStepExpression__Group_1__1__Impl rule__RangeStepExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__RangeStepExpression__Group_1__1__Impl_in_rule__RangeStepExpression__Group_1__127597);
            rule__RangeStepExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__RangeStepExpression__Group_1__2_in_rule__RangeStepExpression__Group_1__127600);
            rule__RangeStepExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group_1__1"


    // $ANTLR start "rule__RangeStepExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13592:1: rule__RangeStepExpression__Group_1__1__Impl : ( '..' ) ;
    public final void rule__RangeStepExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13596:1: ( ( '..' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13597:1: ( '..' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13597:1: ( '..' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13598:1: '..'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionAccess().getFullStopFullStopKeyword_1_1()); 
            }
            match(input,76,FOLLOW_76_in_rule__RangeStepExpression__Group_1__1__Impl27628); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeStepExpressionAccess().getFullStopFullStopKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group_1__1__Impl"


    // $ANTLR start "rule__RangeStepExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13611:1: rule__RangeStepExpression__Group_1__2 : rule__RangeStepExpression__Group_1__2__Impl ;
    public final void rule__RangeStepExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13615:1: ( rule__RangeStepExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13616:2: rule__RangeStepExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__RangeStepExpression__Group_1__2__Impl_in_rule__RangeStepExpression__Group_1__227659);
            rule__RangeStepExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group_1__2"


    // $ANTLR start "rule__RangeStepExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13622:1: rule__RangeStepExpression__Group_1__2__Impl : ( ( rule__RangeStepExpression__EndAssignment_1_2 ) ) ;
    public final void rule__RangeStepExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13626:1: ( ( ( rule__RangeStepExpression__EndAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13627:1: ( ( rule__RangeStepExpression__EndAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13627:1: ( ( rule__RangeStepExpression__EndAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13628:1: ( rule__RangeStepExpression__EndAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionAccess().getEndAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13629:1: ( rule__RangeStepExpression__EndAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13629:2: rule__RangeStepExpression__EndAssignment_1_2
            {
            pushFollow(FOLLOW_rule__RangeStepExpression__EndAssignment_1_2_in_rule__RangeStepExpression__Group_1__2__Impl27686);
            rule__RangeStepExpression__EndAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeStepExpressionAccess().getEndAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__Group_1__2__Impl"


    // $ANTLR start "rule__AdditiveStepExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13645:1: rule__AdditiveStepExpression__Group__0 : rule__AdditiveStepExpression__Group__0__Impl rule__AdditiveStepExpression__Group__1 ;
    public final void rule__AdditiveStepExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13649:1: ( rule__AdditiveStepExpression__Group__0__Impl rule__AdditiveStepExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13650:2: rule__AdditiveStepExpression__Group__0__Impl rule__AdditiveStepExpression__Group__1
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group__0__Impl_in_rule__AdditiveStepExpression__Group__027722);
            rule__AdditiveStepExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group__1_in_rule__AdditiveStepExpression__Group__027725);
            rule__AdditiveStepExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group__0"


    // $ANTLR start "rule__AdditiveStepExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13657:1: rule__AdditiveStepExpression__Group__0__Impl : ( ruleNegateStepExpression ) ;
    public final void rule__AdditiveStepExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13661:1: ( ( ruleNegateStepExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13662:1: ( ruleNegateStepExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13662:1: ( ruleNegateStepExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13663:1: ruleNegateStepExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getNegateStepExpressionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleNegateStepExpression_in_rule__AdditiveStepExpression__Group__0__Impl27752);
            ruleNegateStepExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveStepExpressionAccess().getNegateStepExpressionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group__0__Impl"


    // $ANTLR start "rule__AdditiveStepExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13674:1: rule__AdditiveStepExpression__Group__1 : rule__AdditiveStepExpression__Group__1__Impl ;
    public final void rule__AdditiveStepExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13678:1: ( rule__AdditiveStepExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13679:2: rule__AdditiveStepExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group__1__Impl_in_rule__AdditiveStepExpression__Group__127781);
            rule__AdditiveStepExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group__1"


    // $ANTLR start "rule__AdditiveStepExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13685:1: rule__AdditiveStepExpression__Group__1__Impl : ( ( rule__AdditiveStepExpression__Group_1__0 )* ) ;
    public final void rule__AdditiveStepExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13689:1: ( ( ( rule__AdditiveStepExpression__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13690:1: ( ( rule__AdditiveStepExpression__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13690:1: ( ( rule__AdditiveStepExpression__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13691:1: ( rule__AdditiveStepExpression__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13692:1: ( rule__AdditiveStepExpression__Group_1__0 )*
            loop95:
            do {
                int alt95=2;
                int LA95_0 = input.LA(1);

                if ( ((LA95_0>=28 && LA95_0<=29)) ) {
                    alt95=1;
                }


                switch (alt95) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13692:2: rule__AdditiveStepExpression__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__AdditiveStepExpression__Group_1__0_in_rule__AdditiveStepExpression__Group__1__Impl27808);
            	    rule__AdditiveStepExpression__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop95;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveStepExpressionAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group__1__Impl"


    // $ANTLR start "rule__AdditiveStepExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13706:1: rule__AdditiveStepExpression__Group_1__0 : rule__AdditiveStepExpression__Group_1__0__Impl rule__AdditiveStepExpression__Group_1__1 ;
    public final void rule__AdditiveStepExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13710:1: ( rule__AdditiveStepExpression__Group_1__0__Impl rule__AdditiveStepExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13711:2: rule__AdditiveStepExpression__Group_1__0__Impl rule__AdditiveStepExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group_1__0__Impl_in_rule__AdditiveStepExpression__Group_1__027843);
            rule__AdditiveStepExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group_1__1_in_rule__AdditiveStepExpression__Group_1__027846);
            rule__AdditiveStepExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group_1__0"


    // $ANTLR start "rule__AdditiveStepExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13718:1: rule__AdditiveStepExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__AdditiveStepExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13722:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13723:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13723:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13724:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getAdditiveStepExpressionLeftOperandAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13725:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13727:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveStepExpressionAccess().getAdditiveStepExpressionLeftOperandAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group_1__0__Impl"


    // $ANTLR start "rule__AdditiveStepExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13737:1: rule__AdditiveStepExpression__Group_1__1 : rule__AdditiveStepExpression__Group_1__1__Impl rule__AdditiveStepExpression__Group_1__2 ;
    public final void rule__AdditiveStepExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13741:1: ( rule__AdditiveStepExpression__Group_1__1__Impl rule__AdditiveStepExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13742:2: rule__AdditiveStepExpression__Group_1__1__Impl rule__AdditiveStepExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group_1__1__Impl_in_rule__AdditiveStepExpression__Group_1__127904);
            rule__AdditiveStepExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group_1__2_in_rule__AdditiveStepExpression__Group_1__127907);
            rule__AdditiveStepExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group_1__1"


    // $ANTLR start "rule__AdditiveStepExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13749:1: rule__AdditiveStepExpression__Group_1__1__Impl : ( ( rule__AdditiveStepExpression__OperatorAssignment_1_1 ) ) ;
    public final void rule__AdditiveStepExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13753:1: ( ( ( rule__AdditiveStepExpression__OperatorAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13754:1: ( ( rule__AdditiveStepExpression__OperatorAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13754:1: ( ( rule__AdditiveStepExpression__OperatorAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13755:1: ( rule__AdditiveStepExpression__OperatorAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getOperatorAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13756:1: ( rule__AdditiveStepExpression__OperatorAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13756:2: rule__AdditiveStepExpression__OperatorAssignment_1_1
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__OperatorAssignment_1_1_in_rule__AdditiveStepExpression__Group_1__1__Impl27934);
            rule__AdditiveStepExpression__OperatorAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveStepExpressionAccess().getOperatorAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group_1__1__Impl"


    // $ANTLR start "rule__AdditiveStepExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13766:1: rule__AdditiveStepExpression__Group_1__2 : rule__AdditiveStepExpression__Group_1__2__Impl ;
    public final void rule__AdditiveStepExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13770:1: ( rule__AdditiveStepExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13771:2: rule__AdditiveStepExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__Group_1__2__Impl_in_rule__AdditiveStepExpression__Group_1__227964);
            rule__AdditiveStepExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group_1__2"


    // $ANTLR start "rule__AdditiveStepExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13777:1: rule__AdditiveStepExpression__Group_1__2__Impl : ( ( rule__AdditiveStepExpression__RightOperandAssignment_1_2 ) ) ;
    public final void rule__AdditiveStepExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13781:1: ( ( ( rule__AdditiveStepExpression__RightOperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13782:1: ( ( rule__AdditiveStepExpression__RightOperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13782:1: ( ( rule__AdditiveStepExpression__RightOperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13783:1: ( rule__AdditiveStepExpression__RightOperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getRightOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13784:1: ( rule__AdditiveStepExpression__RightOperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13784:2: rule__AdditiveStepExpression__RightOperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__AdditiveStepExpression__RightOperandAssignment_1_2_in_rule__AdditiveStepExpression__Group_1__2__Impl27991);
            rule__AdditiveStepExpression__RightOperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveStepExpressionAccess().getRightOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__Group_1__2__Impl"


    // $ANTLR start "rule__NegateStepExpression__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13800:1: rule__NegateStepExpression__Group_1__0 : rule__NegateStepExpression__Group_1__0__Impl rule__NegateStepExpression__Group_1__1 ;
    public final void rule__NegateStepExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13804:1: ( rule__NegateStepExpression__Group_1__0__Impl rule__NegateStepExpression__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13805:2: rule__NegateStepExpression__Group_1__0__Impl rule__NegateStepExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__NegateStepExpression__Group_1__0__Impl_in_rule__NegateStepExpression__Group_1__028027);
            rule__NegateStepExpression__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__NegateStepExpression__Group_1__1_in_rule__NegateStepExpression__Group_1__028030);
            rule__NegateStepExpression__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__Group_1__0"


    // $ANTLR start "rule__NegateStepExpression__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13812:1: rule__NegateStepExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__NegateStepExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13816:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13817:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13817:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13818:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNegateStepExpressionAccess().getNegateStepExpressionAction_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13819:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13821:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getNegateStepExpressionAccess().getNegateStepExpressionAction_1_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__Group_1__0__Impl"


    // $ANTLR start "rule__NegateStepExpression__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13831:1: rule__NegateStepExpression__Group_1__1 : rule__NegateStepExpression__Group_1__1__Impl rule__NegateStepExpression__Group_1__2 ;
    public final void rule__NegateStepExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13835:1: ( rule__NegateStepExpression__Group_1__1__Impl rule__NegateStepExpression__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13836:2: rule__NegateStepExpression__Group_1__1__Impl rule__NegateStepExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__NegateStepExpression__Group_1__1__Impl_in_rule__NegateStepExpression__Group_1__128088);
            rule__NegateStepExpression__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__NegateStepExpression__Group_1__2_in_rule__NegateStepExpression__Group_1__128091);
            rule__NegateStepExpression__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__Group_1__1"


    // $ANTLR start "rule__NegateStepExpression__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13843:1: rule__NegateStepExpression__Group_1__1__Impl : ( '-' ) ;
    public final void rule__NegateStepExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13847:1: ( ( '-' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13848:1: ( '-' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13848:1: ( '-' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13849:1: '-'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNegateStepExpressionAccess().getHyphenMinusKeyword_1_1()); 
            }
            match(input,29,FOLLOW_29_in_rule__NegateStepExpression__Group_1__1__Impl28119); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getNegateStepExpressionAccess().getHyphenMinusKeyword_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__Group_1__1__Impl"


    // $ANTLR start "rule__NegateStepExpression__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13862:1: rule__NegateStepExpression__Group_1__2 : rule__NegateStepExpression__Group_1__2__Impl ;
    public final void rule__NegateStepExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13866:1: ( rule__NegateStepExpression__Group_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13867:2: rule__NegateStepExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__NegateStepExpression__Group_1__2__Impl_in_rule__NegateStepExpression__Group_1__228150);
            rule__NegateStepExpression__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__Group_1__2"


    // $ANTLR start "rule__NegateStepExpression__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13873:1: rule__NegateStepExpression__Group_1__2__Impl : ( ( rule__NegateStepExpression__OperandAssignment_1_2 ) ) ;
    public final void rule__NegateStepExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13877:1: ( ( ( rule__NegateStepExpression__OperandAssignment_1_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13878:1: ( ( rule__NegateStepExpression__OperandAssignment_1_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13878:1: ( ( rule__NegateStepExpression__OperandAssignment_1_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13879:1: ( rule__NegateStepExpression__OperandAssignment_1_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNegateStepExpressionAccess().getOperandAssignment_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13880:1: ( rule__NegateStepExpression__OperandAssignment_1_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13880:2: rule__NegateStepExpression__OperandAssignment_1_2
            {
            pushFollow(FOLLOW_rule__NegateStepExpression__OperandAssignment_1_2_in_rule__NegateStepExpression__Group_1__2__Impl28177);
            rule__NegateStepExpression__OperandAssignment_1_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getNegateStepExpressionAccess().getOperandAssignment_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__Group_1__2__Impl"


    // $ANTLR start "rule__StepN__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13896:1: rule__StepN__Group__0 : rule__StepN__Group__0__Impl rule__StepN__Group__1 ;
    public final void rule__StepN__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13900:1: ( rule__StepN__Group__0__Impl rule__StepN__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13901:2: rule__StepN__Group__0__Impl rule__StepN__Group__1
            {
            pushFollow(FOLLOW_rule__StepN__Group__0__Impl_in_rule__StepN__Group__028213);
            rule__StepN__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__StepN__Group__1_in_rule__StepN__Group__028216);
            rule__StepN__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepN__Group__0"


    // $ANTLR start "rule__StepN__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13908:1: rule__StepN__Group__0__Impl : ( () ) ;
    public final void rule__StepN__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13912:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13913:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13913:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13914:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepNAccess().getStepNAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13915:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13917:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getStepNAccess().getStepNAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepN__Group__0__Impl"


    // $ANTLR start "rule__StepN__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13927:1: rule__StepN__Group__1 : rule__StepN__Group__1__Impl ;
    public final void rule__StepN__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13931:1: ( rule__StepN__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13932:2: rule__StepN__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__StepN__Group__1__Impl_in_rule__StepN__Group__128274);
            rule__StepN__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepN__Group__1"


    // $ANTLR start "rule__StepN__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13938:1: rule__StepN__Group__1__Impl : ( RULE_N ) ;
    public final void rule__StepN__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13942:1: ( ( RULE_N ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13943:1: ( RULE_N )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13943:1: ( RULE_N )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13944:1: RULE_N
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepNAccess().getNTerminalRuleCall_1()); 
            }
            match(input,RULE_N,FOLLOW_RULE_N_in_rule__StepN__Group__1__Impl28301); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStepNAccess().getNTerminalRuleCall_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepN__Group__1__Impl"


    // $ANTLR start "rule__DerivativeOperator__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13959:1: rule__DerivativeOperator__Group__0 : rule__DerivativeOperator__Group__0__Impl rule__DerivativeOperator__Group__1 ;
    public final void rule__DerivativeOperator__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13963:1: ( rule__DerivativeOperator__Group__0__Impl rule__DerivativeOperator__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13964:2: rule__DerivativeOperator__Group__0__Impl rule__DerivativeOperator__Group__1
            {
            pushFollow(FOLLOW_rule__DerivativeOperator__Group__0__Impl_in_rule__DerivativeOperator__Group__028334);
            rule__DerivativeOperator__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__DerivativeOperator__Group__1_in_rule__DerivativeOperator__Group__028337);
            rule__DerivativeOperator__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DerivativeOperator__Group__0"


    // $ANTLR start "rule__DerivativeOperator__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13971:1: rule__DerivativeOperator__Group__0__Impl : ( 'der' ) ;
    public final void rule__DerivativeOperator__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13975:1: ( ( 'der' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13976:1: ( 'der' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13976:1: ( 'der' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13977:1: 'der'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDerivativeOperatorAccess().getDerKeyword_0()); 
            }
            match(input,77,FOLLOW_77_in_rule__DerivativeOperator__Group__0__Impl28365); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDerivativeOperatorAccess().getDerKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DerivativeOperator__Group__0__Impl"


    // $ANTLR start "rule__DerivativeOperator__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13990:1: rule__DerivativeOperator__Group__1 : rule__DerivativeOperator__Group__1__Impl ;
    public final void rule__DerivativeOperator__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13994:1: ( rule__DerivativeOperator__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:13995:2: rule__DerivativeOperator__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__DerivativeOperator__Group__1__Impl_in_rule__DerivativeOperator__Group__128396);
            rule__DerivativeOperator__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DerivativeOperator__Group__1"


    // $ANTLR start "rule__DerivativeOperator__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14001:1: rule__DerivativeOperator__Group__1__Impl : ( ( rule__DerivativeOperator__VariableAssignment_1 ) ) ;
    public final void rule__DerivativeOperator__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14005:1: ( ( ( rule__DerivativeOperator__VariableAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14006:1: ( ( rule__DerivativeOperator__VariableAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14006:1: ( ( rule__DerivativeOperator__VariableAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14007:1: ( rule__DerivativeOperator__VariableAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDerivativeOperatorAccess().getVariableAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14008:1: ( rule__DerivativeOperator__VariableAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14008:2: rule__DerivativeOperator__VariableAssignment_1
            {
            pushFollow(FOLLOW_rule__DerivativeOperator__VariableAssignment_1_in_rule__DerivativeOperator__Group__1__Impl28423);
            rule__DerivativeOperator__VariableAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDerivativeOperatorAccess().getVariableAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DerivativeOperator__Group__1__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14022:1: rule__ArrayConstructionOperator__Group__0 : rule__ArrayConstructionOperator__Group__0__Impl rule__ArrayConstructionOperator__Group__1 ;
    public final void rule__ArrayConstructionOperator__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14026:1: ( rule__ArrayConstructionOperator__Group__0__Impl rule__ArrayConstructionOperator__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14027:2: rule__ArrayConstructionOperator__Group__0__Impl rule__ArrayConstructionOperator__Group__1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__0__Impl_in_rule__ArrayConstructionOperator__Group__028457);
            rule__ArrayConstructionOperator__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__1_in_rule__ArrayConstructionOperator__Group__028460);
            rule__ArrayConstructionOperator__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__0"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14034:1: rule__ArrayConstructionOperator__Group__0__Impl : ( '{' ) ;
    public final void rule__ArrayConstructionOperator__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14038:1: ( ( '{' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14039:1: ( '{' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14039:1: ( '{' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14040:1: '{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getLeftCurlyBracketKeyword_0()); 
            }
            match(input,38,FOLLOW_38_in_rule__ArrayConstructionOperator__Group__0__Impl28488); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getLeftCurlyBracketKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__0__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14053:1: rule__ArrayConstructionOperator__Group__1 : rule__ArrayConstructionOperator__Group__1__Impl rule__ArrayConstructionOperator__Group__2 ;
    public final void rule__ArrayConstructionOperator__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14057:1: ( rule__ArrayConstructionOperator__Group__1__Impl rule__ArrayConstructionOperator__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14058:2: rule__ArrayConstructionOperator__Group__1__Impl rule__ArrayConstructionOperator__Group__2
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__1__Impl_in_rule__ArrayConstructionOperator__Group__128519);
            rule__ArrayConstructionOperator__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__2_in_rule__ArrayConstructionOperator__Group__128522);
            rule__ArrayConstructionOperator__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__1"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14065:1: rule__ArrayConstructionOperator__Group__1__Impl : ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_1 ) ) ;
    public final void rule__ArrayConstructionOperator__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14069:1: ( ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14070:1: ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14070:1: ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14071:1: ( rule__ArrayConstructionOperator__ExpressionsAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14072:1: ( rule__ArrayConstructionOperator__ExpressionsAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14072:2: rule__ArrayConstructionOperator__ExpressionsAssignment_1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__ExpressionsAssignment_1_in_rule__ArrayConstructionOperator__Group__1__Impl28549);
            rule__ArrayConstructionOperator__ExpressionsAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__1__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14082:1: rule__ArrayConstructionOperator__Group__2 : rule__ArrayConstructionOperator__Group__2__Impl rule__ArrayConstructionOperator__Group__3 ;
    public final void rule__ArrayConstructionOperator__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14086:1: ( rule__ArrayConstructionOperator__Group__2__Impl rule__ArrayConstructionOperator__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14087:2: rule__ArrayConstructionOperator__Group__2__Impl rule__ArrayConstructionOperator__Group__3
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__2__Impl_in_rule__ArrayConstructionOperator__Group__228579);
            rule__ArrayConstructionOperator__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__3_in_rule__ArrayConstructionOperator__Group__228582);
            rule__ArrayConstructionOperator__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__2"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14094:1: rule__ArrayConstructionOperator__Group__2__Impl : ( ( rule__ArrayConstructionOperator__Alternatives_2 ) ) ;
    public final void rule__ArrayConstructionOperator__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14098:1: ( ( ( rule__ArrayConstructionOperator__Alternatives_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14099:1: ( ( rule__ArrayConstructionOperator__Alternatives_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14099:1: ( ( rule__ArrayConstructionOperator__Alternatives_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14100:1: ( rule__ArrayConstructionOperator__Alternatives_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getAlternatives_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14101:1: ( rule__ArrayConstructionOperator__Alternatives_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14101:2: rule__ArrayConstructionOperator__Alternatives_2
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Alternatives_2_in_rule__ArrayConstructionOperator__Group__2__Impl28609);
            rule__ArrayConstructionOperator__Alternatives_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getAlternatives_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__2__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14111:1: rule__ArrayConstructionOperator__Group__3 : rule__ArrayConstructionOperator__Group__3__Impl ;
    public final void rule__ArrayConstructionOperator__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14115:1: ( rule__ArrayConstructionOperator__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14116:2: rule__ArrayConstructionOperator__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group__3__Impl_in_rule__ArrayConstructionOperator__Group__328639);
            rule__ArrayConstructionOperator__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__3"


    // $ANTLR start "rule__ArrayConstructionOperator__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14122:1: rule__ArrayConstructionOperator__Group__3__Impl : ( '}' ) ;
    public final void rule__ArrayConstructionOperator__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14126:1: ( ( '}' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14127:1: ( '}' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14127:1: ( '}' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14128:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getRightCurlyBracketKeyword_3()); 
            }
            match(input,39,FOLLOW_39_in_rule__ArrayConstructionOperator__Group__3__Impl28667); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getRightCurlyBracketKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group__3__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_0__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14149:1: rule__ArrayConstructionOperator__Group_2_0__0 : rule__ArrayConstructionOperator__Group_2_0__0__Impl rule__ArrayConstructionOperator__Group_2_0__1 ;
    public final void rule__ArrayConstructionOperator__Group_2_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14153:1: ( rule__ArrayConstructionOperator__Group_2_0__0__Impl rule__ArrayConstructionOperator__Group_2_0__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14154:2: rule__ArrayConstructionOperator__Group_2_0__0__Impl rule__ArrayConstructionOperator__Group_2_0__1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_0__0__Impl_in_rule__ArrayConstructionOperator__Group_2_0__028706);
            rule__ArrayConstructionOperator__Group_2_0__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_0__1_in_rule__ArrayConstructionOperator__Group_2_0__028709);
            rule__ArrayConstructionOperator__Group_2_0__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_0__0"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_0__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14161:1: rule__ArrayConstructionOperator__Group_2_0__0__Impl : ( ',' ) ;
    public final void rule__ArrayConstructionOperator__Group_2_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14165:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14166:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14166:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14167:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getCommaKeyword_2_0_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__ArrayConstructionOperator__Group_2_0__0__Impl28737); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getCommaKeyword_2_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_0__0__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_0__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14180:1: rule__ArrayConstructionOperator__Group_2_0__1 : rule__ArrayConstructionOperator__Group_2_0__1__Impl ;
    public final void rule__ArrayConstructionOperator__Group_2_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14184:1: ( rule__ArrayConstructionOperator__Group_2_0__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14185:2: rule__ArrayConstructionOperator__Group_2_0__1__Impl
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_0__1__Impl_in_rule__ArrayConstructionOperator__Group_2_0__128768);
            rule__ArrayConstructionOperator__Group_2_0__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_0__1"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_0__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14191:1: rule__ArrayConstructionOperator__Group_2_0__1__Impl : ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1 ) ) ;
    public final void rule__ArrayConstructionOperator__Group_2_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14195:1: ( ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14196:1: ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14196:1: ( ( rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14197:1: ( rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsAssignment_2_0_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14198:1: ( rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14198:2: rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1_in_rule__ArrayConstructionOperator__Group_2_0__1__Impl28795);
            rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsAssignment_2_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_0__1__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14212:1: rule__ArrayConstructionOperator__Group_2_1__0 : rule__ArrayConstructionOperator__Group_2_1__0__Impl rule__ArrayConstructionOperator__Group_2_1__1 ;
    public final void rule__ArrayConstructionOperator__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14216:1: ( rule__ArrayConstructionOperator__Group_2_1__0__Impl rule__ArrayConstructionOperator__Group_2_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14217:2: rule__ArrayConstructionOperator__Group_2_1__0__Impl rule__ArrayConstructionOperator__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1__0__Impl_in_rule__ArrayConstructionOperator__Group_2_1__028829);
            rule__ArrayConstructionOperator__Group_2_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1__1_in_rule__ArrayConstructionOperator__Group_2_1__028832);
            rule__ArrayConstructionOperator__Group_2_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1__0"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14224:1: rule__ArrayConstructionOperator__Group_2_1__0__Impl : ( 'for' ) ;
    public final void rule__ArrayConstructionOperator__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14228:1: ( ( 'for' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14229:1: ( 'for' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14229:1: ( 'for' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14230:1: 'for'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getForKeyword_2_1_0()); 
            }
            match(input,78,FOLLOW_78_in_rule__ArrayConstructionOperator__Group_2_1__0__Impl28860); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getForKeyword_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1__0__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14243:1: rule__ArrayConstructionOperator__Group_2_1__1 : rule__ArrayConstructionOperator__Group_2_1__1__Impl rule__ArrayConstructionOperator__Group_2_1__2 ;
    public final void rule__ArrayConstructionOperator__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14247:1: ( rule__ArrayConstructionOperator__Group_2_1__1__Impl rule__ArrayConstructionOperator__Group_2_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14248:2: rule__ArrayConstructionOperator__Group_2_1__1__Impl rule__ArrayConstructionOperator__Group_2_1__2
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1__1__Impl_in_rule__ArrayConstructionOperator__Group_2_1__128891);
            rule__ArrayConstructionOperator__Group_2_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1__2_in_rule__ArrayConstructionOperator__Group_2_1__128894);
            rule__ArrayConstructionOperator__Group_2_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1__1"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14255:1: rule__ArrayConstructionOperator__Group_2_1__1__Impl : ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1 ) ) ;
    public final void rule__ArrayConstructionOperator__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14259:1: ( ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14260:1: ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14260:1: ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14261:1: ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesAssignment_2_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14262:1: ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14262:2: rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1_in_rule__ArrayConstructionOperator__Group_2_1__1__Impl28921);
            rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesAssignment_2_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1__1__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14272:1: rule__ArrayConstructionOperator__Group_2_1__2 : rule__ArrayConstructionOperator__Group_2_1__2__Impl ;
    public final void rule__ArrayConstructionOperator__Group_2_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14276:1: ( rule__ArrayConstructionOperator__Group_2_1__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14277:2: rule__ArrayConstructionOperator__Group_2_1__2__Impl
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1__2__Impl_in_rule__ArrayConstructionOperator__Group_2_1__228951);
            rule__ArrayConstructionOperator__Group_2_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1__2"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14283:1: rule__ArrayConstructionOperator__Group_2_1__2__Impl : ( ( rule__ArrayConstructionOperator__Group_2_1_2__0 )* ) ;
    public final void rule__ArrayConstructionOperator__Group_2_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14287:1: ( ( ( rule__ArrayConstructionOperator__Group_2_1_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14288:1: ( ( rule__ArrayConstructionOperator__Group_2_1_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14288:1: ( ( rule__ArrayConstructionOperator__Group_2_1_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14289:1: ( rule__ArrayConstructionOperator__Group_2_1_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getGroup_2_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14290:1: ( rule__ArrayConstructionOperator__Group_2_1_2__0 )*
            loop96:
            do {
                int alt96=2;
                int LA96_0 = input.LA(1);

                if ( (LA96_0==40) ) {
                    alt96=1;
                }


                switch (alt96) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14290:2: rule__ArrayConstructionOperator__Group_2_1_2__0
            	    {
            	    pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__0_in_rule__ArrayConstructionOperator__Group_2_1__2__Impl28978);
            	    rule__ArrayConstructionOperator__Group_2_1_2__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop96;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getGroup_2_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1__2__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14306:1: rule__ArrayConstructionOperator__Group_2_1_2__0 : rule__ArrayConstructionOperator__Group_2_1_2__0__Impl rule__ArrayConstructionOperator__Group_2_1_2__1 ;
    public final void rule__ArrayConstructionOperator__Group_2_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14310:1: ( rule__ArrayConstructionOperator__Group_2_1_2__0__Impl rule__ArrayConstructionOperator__Group_2_1_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14311:2: rule__ArrayConstructionOperator__Group_2_1_2__0__Impl rule__ArrayConstructionOperator__Group_2_1_2__1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__0__Impl_in_rule__ArrayConstructionOperator__Group_2_1_2__029015);
            rule__ArrayConstructionOperator__Group_2_1_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__1_in_rule__ArrayConstructionOperator__Group_2_1_2__029018);
            rule__ArrayConstructionOperator__Group_2_1_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1_2__0"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14318:1: rule__ArrayConstructionOperator__Group_2_1_2__0__Impl : ( ',' ) ;
    public final void rule__ArrayConstructionOperator__Group_2_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14322:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14323:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14323:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14324:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getCommaKeyword_2_1_2_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__ArrayConstructionOperator__Group_2_1_2__0__Impl29046); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getCommaKeyword_2_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1_2__0__Impl"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14337:1: rule__ArrayConstructionOperator__Group_2_1_2__1 : rule__ArrayConstructionOperator__Group_2_1_2__1__Impl ;
    public final void rule__ArrayConstructionOperator__Group_2_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14341:1: ( rule__ArrayConstructionOperator__Group_2_1_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14342:2: rule__ArrayConstructionOperator__Group_2_1_2__1__Impl
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__1__Impl_in_rule__ArrayConstructionOperator__Group_2_1_2__129077);
            rule__ArrayConstructionOperator__Group_2_1_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1_2__1"


    // $ANTLR start "rule__ArrayConstructionOperator__Group_2_1_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14348:1: rule__ArrayConstructionOperator__Group_2_1_2__1__Impl : ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1 ) ) ;
    public final void rule__ArrayConstructionOperator__Group_2_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14352:1: ( ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14353:1: ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14353:1: ( ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14354:1: ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesAssignment_2_1_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14355:1: ( rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14355:2: rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1_in_rule__ArrayConstructionOperator__Group_2_1_2__1__Impl29104);
            rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesAssignment_2_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__Group_2_1_2__1__Impl"


    // $ANTLR start "rule__ArrayConstructionIterationClause__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14369:1: rule__ArrayConstructionIterationClause__Group__0 : rule__ArrayConstructionIterationClause__Group__0__Impl rule__ArrayConstructionIterationClause__Group__1 ;
    public final void rule__ArrayConstructionIterationClause__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14373:1: ( rule__ArrayConstructionIterationClause__Group__0__Impl rule__ArrayConstructionIterationClause__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14374:2: rule__ArrayConstructionIterationClause__Group__0__Impl rule__ArrayConstructionIterationClause__Group__1
            {
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__Group__0__Impl_in_rule__ArrayConstructionIterationClause__Group__029138);
            rule__ArrayConstructionIterationClause__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__Group__1_in_rule__ArrayConstructionIterationClause__Group__029141);
            rule__ArrayConstructionIterationClause__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__Group__0"


    // $ANTLR start "rule__ArrayConstructionIterationClause__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14381:1: rule__ArrayConstructionIterationClause__Group__0__Impl : ( ( rule__ArrayConstructionIterationClause__VariableNameAssignment_0 ) ) ;
    public final void rule__ArrayConstructionIterationClause__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14385:1: ( ( ( rule__ArrayConstructionIterationClause__VariableNameAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14386:1: ( ( rule__ArrayConstructionIterationClause__VariableNameAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14386:1: ( ( rule__ArrayConstructionIterationClause__VariableNameAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14387:1: ( rule__ArrayConstructionIterationClause__VariableNameAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionIterationClauseAccess().getVariableNameAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14388:1: ( rule__ArrayConstructionIterationClause__VariableNameAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14388:2: rule__ArrayConstructionIterationClause__VariableNameAssignment_0
            {
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__VariableNameAssignment_0_in_rule__ArrayConstructionIterationClause__Group__0__Impl29168);
            rule__ArrayConstructionIterationClause__VariableNameAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionIterationClauseAccess().getVariableNameAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__Group__0__Impl"


    // $ANTLR start "rule__ArrayConstructionIterationClause__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14398:1: rule__ArrayConstructionIterationClause__Group__1 : rule__ArrayConstructionIterationClause__Group__1__Impl rule__ArrayConstructionIterationClause__Group__2 ;
    public final void rule__ArrayConstructionIterationClause__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14402:1: ( rule__ArrayConstructionIterationClause__Group__1__Impl rule__ArrayConstructionIterationClause__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14403:2: rule__ArrayConstructionIterationClause__Group__1__Impl rule__ArrayConstructionIterationClause__Group__2
            {
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__Group__1__Impl_in_rule__ArrayConstructionIterationClause__Group__129198);
            rule__ArrayConstructionIterationClause__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__Group__2_in_rule__ArrayConstructionIterationClause__Group__129201);
            rule__ArrayConstructionIterationClause__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__Group__1"


    // $ANTLR start "rule__ArrayConstructionIterationClause__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14410:1: rule__ArrayConstructionIterationClause__Group__1__Impl : ( 'in' ) ;
    public final void rule__ArrayConstructionIterationClause__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14414:1: ( ( 'in' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14415:1: ( 'in' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14415:1: ( 'in' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14416:1: 'in'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionIterationClauseAccess().getInKeyword_1()); 
            }
            match(input,63,FOLLOW_63_in_rule__ArrayConstructionIterationClause__Group__1__Impl29229); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionIterationClauseAccess().getInKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__Group__1__Impl"


    // $ANTLR start "rule__ArrayConstructionIterationClause__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14429:1: rule__ArrayConstructionIterationClause__Group__2 : rule__ArrayConstructionIterationClause__Group__2__Impl ;
    public final void rule__ArrayConstructionIterationClause__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14433:1: ( rule__ArrayConstructionIterationClause__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14434:2: rule__ArrayConstructionIterationClause__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__Group__2__Impl_in_rule__ArrayConstructionIterationClause__Group__229260);
            rule__ArrayConstructionIterationClause__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__Group__2"


    // $ANTLR start "rule__ArrayConstructionIterationClause__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14440:1: rule__ArrayConstructionIterationClause__Group__2__Impl : ( ( rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2 ) ) ;
    public final void rule__ArrayConstructionIterationClause__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14444:1: ( ( ( rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14445:1: ( ( rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14445:1: ( ( rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14446:1: ( rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionIterationClauseAccess().getCollectionExpressionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14447:1: ( rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14447:2: rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2
            {
            pushFollow(FOLLOW_rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2_in_rule__ArrayConstructionIterationClause__Group__2__Impl29287);
            rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionIterationClauseAccess().getCollectionExpressionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__Group__2__Impl"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14463:1: rule__ArrayConcatenationOperator__Group__0 : rule__ArrayConcatenationOperator__Group__0__Impl rule__ArrayConcatenationOperator__Group__1 ;
    public final void rule__ArrayConcatenationOperator__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14467:1: ( rule__ArrayConcatenationOperator__Group__0__Impl rule__ArrayConcatenationOperator__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14468:2: rule__ArrayConcatenationOperator__Group__0__Impl rule__ArrayConcatenationOperator__Group__1
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__0__Impl_in_rule__ArrayConcatenationOperator__Group__029323);
            rule__ArrayConcatenationOperator__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__1_in_rule__ArrayConcatenationOperator__Group__029326);
            rule__ArrayConcatenationOperator__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__0"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14475:1: rule__ArrayConcatenationOperator__Group__0__Impl : ( '[' ) ;
    public final void rule__ArrayConcatenationOperator__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14479:1: ( ( '[' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14480:1: ( '[' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14480:1: ( '[' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14481:1: '['
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getLeftSquareBracketKeyword_0()); 
            }
            match(input,60,FOLLOW_60_in_rule__ArrayConcatenationOperator__Group__0__Impl29354); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getLeftSquareBracketKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__0__Impl"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14494:1: rule__ArrayConcatenationOperator__Group__1 : rule__ArrayConcatenationOperator__Group__1__Impl rule__ArrayConcatenationOperator__Group__2 ;
    public final void rule__ArrayConcatenationOperator__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14498:1: ( rule__ArrayConcatenationOperator__Group__1__Impl rule__ArrayConcatenationOperator__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14499:2: rule__ArrayConcatenationOperator__Group__1__Impl rule__ArrayConcatenationOperator__Group__2
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__1__Impl_in_rule__ArrayConcatenationOperator__Group__129385);
            rule__ArrayConcatenationOperator__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__2_in_rule__ArrayConcatenationOperator__Group__129388);
            rule__ArrayConcatenationOperator__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__1"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14506:1: rule__ArrayConcatenationOperator__Group__1__Impl : ( ( rule__ArrayConcatenationOperator__RowsAssignment_1 ) ) ;
    public final void rule__ArrayConcatenationOperator__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14510:1: ( ( ( rule__ArrayConcatenationOperator__RowsAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14511:1: ( ( rule__ArrayConcatenationOperator__RowsAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14511:1: ( ( rule__ArrayConcatenationOperator__RowsAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14512:1: ( rule__ArrayConcatenationOperator__RowsAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getRowsAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14513:1: ( rule__ArrayConcatenationOperator__RowsAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14513:2: rule__ArrayConcatenationOperator__RowsAssignment_1
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__RowsAssignment_1_in_rule__ArrayConcatenationOperator__Group__1__Impl29415);
            rule__ArrayConcatenationOperator__RowsAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getRowsAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__1__Impl"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14523:1: rule__ArrayConcatenationOperator__Group__2 : rule__ArrayConcatenationOperator__Group__2__Impl rule__ArrayConcatenationOperator__Group__3 ;
    public final void rule__ArrayConcatenationOperator__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14527:1: ( rule__ArrayConcatenationOperator__Group__2__Impl rule__ArrayConcatenationOperator__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14528:2: rule__ArrayConcatenationOperator__Group__2__Impl rule__ArrayConcatenationOperator__Group__3
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__2__Impl_in_rule__ArrayConcatenationOperator__Group__229445);
            rule__ArrayConcatenationOperator__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__3_in_rule__ArrayConcatenationOperator__Group__229448);
            rule__ArrayConcatenationOperator__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__2"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14535:1: rule__ArrayConcatenationOperator__Group__2__Impl : ( ( rule__ArrayConcatenationOperator__Group_2__0 )* ) ;
    public final void rule__ArrayConcatenationOperator__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14539:1: ( ( ( rule__ArrayConcatenationOperator__Group_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14540:1: ( ( rule__ArrayConcatenationOperator__Group_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14540:1: ( ( rule__ArrayConcatenationOperator__Group_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14541:1: ( rule__ArrayConcatenationOperator__Group_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getGroup_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14542:1: ( rule__ArrayConcatenationOperator__Group_2__0 )*
            loop97:
            do {
                int alt97=2;
                int LA97_0 = input.LA(1);

                if ( (LA97_0==43) ) {
                    alt97=1;
                }


                switch (alt97) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14542:2: rule__ArrayConcatenationOperator__Group_2__0
            	    {
            	    pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group_2__0_in_rule__ArrayConcatenationOperator__Group__2__Impl29475);
            	    rule__ArrayConcatenationOperator__Group_2__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop97;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__2__Impl"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14552:1: rule__ArrayConcatenationOperator__Group__3 : rule__ArrayConcatenationOperator__Group__3__Impl ;
    public final void rule__ArrayConcatenationOperator__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14556:1: ( rule__ArrayConcatenationOperator__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14557:2: rule__ArrayConcatenationOperator__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group__3__Impl_in_rule__ArrayConcatenationOperator__Group__329506);
            rule__ArrayConcatenationOperator__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__3"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14563:1: rule__ArrayConcatenationOperator__Group__3__Impl : ( ']' ) ;
    public final void rule__ArrayConcatenationOperator__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14567:1: ( ( ']' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14568:1: ( ']' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14568:1: ( ']' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14569:1: ']'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getRightSquareBracketKeyword_3()); 
            }
            match(input,61,FOLLOW_61_in_rule__ArrayConcatenationOperator__Group__3__Impl29534); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getRightSquareBracketKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group__3__Impl"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14590:1: rule__ArrayConcatenationOperator__Group_2__0 : rule__ArrayConcatenationOperator__Group_2__0__Impl rule__ArrayConcatenationOperator__Group_2__1 ;
    public final void rule__ArrayConcatenationOperator__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14594:1: ( rule__ArrayConcatenationOperator__Group_2__0__Impl rule__ArrayConcatenationOperator__Group_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14595:2: rule__ArrayConcatenationOperator__Group_2__0__Impl rule__ArrayConcatenationOperator__Group_2__1
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group_2__0__Impl_in_rule__ArrayConcatenationOperator__Group_2__029573);
            rule__ArrayConcatenationOperator__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group_2__1_in_rule__ArrayConcatenationOperator__Group_2__029576);
            rule__ArrayConcatenationOperator__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group_2__0"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14602:1: rule__ArrayConcatenationOperator__Group_2__0__Impl : ( ';' ) ;
    public final void rule__ArrayConcatenationOperator__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14606:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14607:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14607:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14608:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getSemicolonKeyword_2_0()); 
            }
            match(input,43,FOLLOW_43_in_rule__ArrayConcatenationOperator__Group_2__0__Impl29604); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getSemicolonKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group_2__0__Impl"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14621:1: rule__ArrayConcatenationOperator__Group_2__1 : rule__ArrayConcatenationOperator__Group_2__1__Impl ;
    public final void rule__ArrayConcatenationOperator__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14625:1: ( rule__ArrayConcatenationOperator__Group_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14626:2: rule__ArrayConcatenationOperator__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__Group_2__1__Impl_in_rule__ArrayConcatenationOperator__Group_2__129635);
            rule__ArrayConcatenationOperator__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group_2__1"


    // $ANTLR start "rule__ArrayConcatenationOperator__Group_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14632:1: rule__ArrayConcatenationOperator__Group_2__1__Impl : ( ( rule__ArrayConcatenationOperator__RowsAssignment_2_1 ) ) ;
    public final void rule__ArrayConcatenationOperator__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14636:1: ( ( ( rule__ArrayConcatenationOperator__RowsAssignment_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14637:1: ( ( rule__ArrayConcatenationOperator__RowsAssignment_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14637:1: ( ( rule__ArrayConcatenationOperator__RowsAssignment_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14638:1: ( rule__ArrayConcatenationOperator__RowsAssignment_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getRowsAssignment_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14639:1: ( rule__ArrayConcatenationOperator__RowsAssignment_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14639:2: rule__ArrayConcatenationOperator__RowsAssignment_2_1
            {
            pushFollow(FOLLOW_rule__ArrayConcatenationOperator__RowsAssignment_2_1_in_rule__ArrayConcatenationOperator__Group_2__1__Impl29662);
            rule__ArrayConcatenationOperator__RowsAssignment_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getRowsAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__Group_2__1__Impl"


    // $ANTLR start "rule__ExpressionList__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14653:1: rule__ExpressionList__Group__0 : rule__ExpressionList__Group__0__Impl rule__ExpressionList__Group__1 ;
    public final void rule__ExpressionList__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14657:1: ( rule__ExpressionList__Group__0__Impl rule__ExpressionList__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14658:2: rule__ExpressionList__Group__0__Impl rule__ExpressionList__Group__1
            {
            pushFollow(FOLLOW_rule__ExpressionList__Group__0__Impl_in_rule__ExpressionList__Group__029696);
            rule__ExpressionList__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ExpressionList__Group__1_in_rule__ExpressionList__Group__029699);
            rule__ExpressionList__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group__0"


    // $ANTLR start "rule__ExpressionList__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14665:1: rule__ExpressionList__Group__0__Impl : ( ( rule__ExpressionList__ExpressionsAssignment_0 ) ) ;
    public final void rule__ExpressionList__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14669:1: ( ( ( rule__ExpressionList__ExpressionsAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14670:1: ( ( rule__ExpressionList__ExpressionsAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14670:1: ( ( rule__ExpressionList__ExpressionsAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14671:1: ( rule__ExpressionList__ExpressionsAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListAccess().getExpressionsAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14672:1: ( rule__ExpressionList__ExpressionsAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14672:2: rule__ExpressionList__ExpressionsAssignment_0
            {
            pushFollow(FOLLOW_rule__ExpressionList__ExpressionsAssignment_0_in_rule__ExpressionList__Group__0__Impl29726);
            rule__ExpressionList__ExpressionsAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getExpressionListAccess().getExpressionsAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group__0__Impl"


    // $ANTLR start "rule__ExpressionList__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14682:1: rule__ExpressionList__Group__1 : rule__ExpressionList__Group__1__Impl ;
    public final void rule__ExpressionList__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14686:1: ( rule__ExpressionList__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14687:2: rule__ExpressionList__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__ExpressionList__Group__1__Impl_in_rule__ExpressionList__Group__129756);
            rule__ExpressionList__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group__1"


    // $ANTLR start "rule__ExpressionList__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14693:1: rule__ExpressionList__Group__1__Impl : ( ( rule__ExpressionList__Group_1__0 )* ) ;
    public final void rule__ExpressionList__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14697:1: ( ( ( rule__ExpressionList__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14698:1: ( ( rule__ExpressionList__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14698:1: ( ( rule__ExpressionList__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14699:1: ( rule__ExpressionList__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14700:1: ( rule__ExpressionList__Group_1__0 )*
            loop98:
            do {
                int alt98=2;
                int LA98_0 = input.LA(1);

                if ( (LA98_0==40) ) {
                    alt98=1;
                }


                switch (alt98) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14700:2: rule__ExpressionList__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__ExpressionList__Group_1__0_in_rule__ExpressionList__Group__1__Impl29783);
            	    rule__ExpressionList__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop98;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getExpressionListAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group__1__Impl"


    // $ANTLR start "rule__ExpressionList__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14714:1: rule__ExpressionList__Group_1__0 : rule__ExpressionList__Group_1__0__Impl rule__ExpressionList__Group_1__1 ;
    public final void rule__ExpressionList__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14718:1: ( rule__ExpressionList__Group_1__0__Impl rule__ExpressionList__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14719:2: rule__ExpressionList__Group_1__0__Impl rule__ExpressionList__Group_1__1
            {
            pushFollow(FOLLOW_rule__ExpressionList__Group_1__0__Impl_in_rule__ExpressionList__Group_1__029818);
            rule__ExpressionList__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ExpressionList__Group_1__1_in_rule__ExpressionList__Group_1__029821);
            rule__ExpressionList__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group_1__0"


    // $ANTLR start "rule__ExpressionList__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14726:1: rule__ExpressionList__Group_1__0__Impl : ( ',' ) ;
    public final void rule__ExpressionList__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14730:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14731:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14731:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14732:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListAccess().getCommaKeyword_1_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__ExpressionList__Group_1__0__Impl29849); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExpressionListAccess().getCommaKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group_1__0__Impl"


    // $ANTLR start "rule__ExpressionList__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14745:1: rule__ExpressionList__Group_1__1 : rule__ExpressionList__Group_1__1__Impl ;
    public final void rule__ExpressionList__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14749:1: ( rule__ExpressionList__Group_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14750:2: rule__ExpressionList__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__ExpressionList__Group_1__1__Impl_in_rule__ExpressionList__Group_1__129880);
            rule__ExpressionList__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group_1__1"


    // $ANTLR start "rule__ExpressionList__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14756:1: rule__ExpressionList__Group_1__1__Impl : ( ( rule__ExpressionList__ExpressionsAssignment_1_1 ) ) ;
    public final void rule__ExpressionList__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14760:1: ( ( ( rule__ExpressionList__ExpressionsAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14761:1: ( ( rule__ExpressionList__ExpressionsAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14761:1: ( ( rule__ExpressionList__ExpressionsAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14762:1: ( rule__ExpressionList__ExpressionsAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListAccess().getExpressionsAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14763:1: ( rule__ExpressionList__ExpressionsAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14763:2: rule__ExpressionList__ExpressionsAssignment_1_1
            {
            pushFollow(FOLLOW_rule__ExpressionList__ExpressionsAssignment_1_1_in_rule__ExpressionList__Group_1__1__Impl29907);
            rule__ExpressionList__ExpressionsAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getExpressionListAccess().getExpressionsAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__Group_1__1__Impl"


    // $ANTLR start "rule__UnitConstructionOperator__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14777:1: rule__UnitConstructionOperator__Group__0 : rule__UnitConstructionOperator__Group__0__Impl rule__UnitConstructionOperator__Group__1 ;
    public final void rule__UnitConstructionOperator__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14781:1: ( rule__UnitConstructionOperator__Group__0__Impl rule__UnitConstructionOperator__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14782:2: rule__UnitConstructionOperator__Group__0__Impl rule__UnitConstructionOperator__Group__1
            {
            pushFollow(FOLLOW_rule__UnitConstructionOperator__Group__0__Impl_in_rule__UnitConstructionOperator__Group__029941);
            rule__UnitConstructionOperator__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitConstructionOperator__Group__1_in_rule__UnitConstructionOperator__Group__029944);
            rule__UnitConstructionOperator__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitConstructionOperator__Group__0"


    // $ANTLR start "rule__UnitConstructionOperator__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14789:1: rule__UnitConstructionOperator__Group__0__Impl : ( '$' ) ;
    public final void rule__UnitConstructionOperator__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14793:1: ( ( '$' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14794:1: ( '$' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14794:1: ( '$' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14795:1: '$'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitConstructionOperatorAccess().getDollarSignKeyword_0()); 
            }
            match(input,79,FOLLOW_79_in_rule__UnitConstructionOperator__Group__0__Impl29972); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitConstructionOperatorAccess().getDollarSignKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitConstructionOperator__Group__0__Impl"


    // $ANTLR start "rule__UnitConstructionOperator__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14808:1: rule__UnitConstructionOperator__Group__1 : rule__UnitConstructionOperator__Group__1__Impl ;
    public final void rule__UnitConstructionOperator__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14812:1: ( rule__UnitConstructionOperator__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14813:2: rule__UnitConstructionOperator__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitConstructionOperator__Group__1__Impl_in_rule__UnitConstructionOperator__Group__130003);
            rule__UnitConstructionOperator__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitConstructionOperator__Group__1"


    // $ANTLR start "rule__UnitConstructionOperator__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14819:1: rule__UnitConstructionOperator__Group__1__Impl : ( ( rule__UnitConstructionOperator__UnitAssignment_1 ) ) ;
    public final void rule__UnitConstructionOperator__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14823:1: ( ( ( rule__UnitConstructionOperator__UnitAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14824:1: ( ( rule__UnitConstructionOperator__UnitAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14824:1: ( ( rule__UnitConstructionOperator__UnitAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14825:1: ( rule__UnitConstructionOperator__UnitAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitConstructionOperatorAccess().getUnitAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14826:1: ( rule__UnitConstructionOperator__UnitAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14826:2: rule__UnitConstructionOperator__UnitAssignment_1
            {
            pushFollow(FOLLOW_rule__UnitConstructionOperator__UnitAssignment_1_in_rule__UnitConstructionOperator__Group__1__Impl30030);
            rule__UnitConstructionOperator__UnitAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitConstructionOperatorAccess().getUnitAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitConstructionOperator__Group__1__Impl"


    // $ANTLR start "rule__ParenthesizedExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14840:1: rule__ParenthesizedExpression__Group__0 : rule__ParenthesizedExpression__Group__0__Impl rule__ParenthesizedExpression__Group__1 ;
    public final void rule__ParenthesizedExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14844:1: ( rule__ParenthesizedExpression__Group__0__Impl rule__ParenthesizedExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14845:2: rule__ParenthesizedExpression__Group__0__Impl rule__ParenthesizedExpression__Group__1
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__0__Impl_in_rule__ParenthesizedExpression__Group__030064);
            rule__ParenthesizedExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__1_in_rule__ParenthesizedExpression__Group__030067);
            rule__ParenthesizedExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__0"


    // $ANTLR start "rule__ParenthesizedExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14852:1: rule__ParenthesizedExpression__Group__0__Impl : ( '(' ) ;
    public final void rule__ParenthesizedExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14856:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14857:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14857:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14858:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); 
            }
            match(input,47,FOLLOW_47_in_rule__ParenthesizedExpression__Group__0__Impl30095); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__0__Impl"


    // $ANTLR start "rule__ParenthesizedExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14871:1: rule__ParenthesizedExpression__Group__1 : rule__ParenthesizedExpression__Group__1__Impl rule__ParenthesizedExpression__Group__2 ;
    public final void rule__ParenthesizedExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14875:1: ( rule__ParenthesizedExpression__Group__1__Impl rule__ParenthesizedExpression__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14876:2: rule__ParenthesizedExpression__Group__1__Impl rule__ParenthesizedExpression__Group__2
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__1__Impl_in_rule__ParenthesizedExpression__Group__130126);
            rule__ParenthesizedExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__2_in_rule__ParenthesizedExpression__Group__130129);
            rule__ParenthesizedExpression__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__1"


    // $ANTLR start "rule__ParenthesizedExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14883:1: rule__ParenthesizedExpression__Group__1__Impl : ( ( rule__ParenthesizedExpression__ExpressionsAssignment_1 ) ) ;
    public final void rule__ParenthesizedExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14887:1: ( ( ( rule__ParenthesizedExpression__ExpressionsAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14888:1: ( ( rule__ParenthesizedExpression__ExpressionsAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14888:1: ( ( rule__ParenthesizedExpression__ExpressionsAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14889:1: ( rule__ParenthesizedExpression__ExpressionsAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getExpressionsAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14890:1: ( rule__ParenthesizedExpression__ExpressionsAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14890:2: rule__ParenthesizedExpression__ExpressionsAssignment_1
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__ExpressionsAssignment_1_in_rule__ParenthesizedExpression__Group__1__Impl30156);
            rule__ParenthesizedExpression__ExpressionsAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getExpressionsAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__1__Impl"


    // $ANTLR start "rule__ParenthesizedExpression__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14900:1: rule__ParenthesizedExpression__Group__2 : rule__ParenthesizedExpression__Group__2__Impl rule__ParenthesizedExpression__Group__3 ;
    public final void rule__ParenthesizedExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14904:1: ( rule__ParenthesizedExpression__Group__2__Impl rule__ParenthesizedExpression__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14905:2: rule__ParenthesizedExpression__Group__2__Impl rule__ParenthesizedExpression__Group__3
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__2__Impl_in_rule__ParenthesizedExpression__Group__230186);
            rule__ParenthesizedExpression__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__3_in_rule__ParenthesizedExpression__Group__230189);
            rule__ParenthesizedExpression__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__2"


    // $ANTLR start "rule__ParenthesizedExpression__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14912:1: rule__ParenthesizedExpression__Group__2__Impl : ( ( rule__ParenthesizedExpression__Group_2__0 )* ) ;
    public final void rule__ParenthesizedExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14916:1: ( ( ( rule__ParenthesizedExpression__Group_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14917:1: ( ( rule__ParenthesizedExpression__Group_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14917:1: ( ( rule__ParenthesizedExpression__Group_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14918:1: ( rule__ParenthesizedExpression__Group_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getGroup_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14919:1: ( rule__ParenthesizedExpression__Group_2__0 )*
            loop99:
            do {
                int alt99=2;
                int LA99_0 = input.LA(1);

                if ( (LA99_0==40) ) {
                    alt99=1;
                }


                switch (alt99) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14919:2: rule__ParenthesizedExpression__Group_2__0
            	    {
            	    pushFollow(FOLLOW_rule__ParenthesizedExpression__Group_2__0_in_rule__ParenthesizedExpression__Group__2__Impl30216);
            	    rule__ParenthesizedExpression__Group_2__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop99;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__2__Impl"


    // $ANTLR start "rule__ParenthesizedExpression__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14929:1: rule__ParenthesizedExpression__Group__3 : rule__ParenthesizedExpression__Group__3__Impl ;
    public final void rule__ParenthesizedExpression__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14933:1: ( rule__ParenthesizedExpression__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14934:2: rule__ParenthesizedExpression__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group__3__Impl_in_rule__ParenthesizedExpression__Group__330247);
            rule__ParenthesizedExpression__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__3"


    // $ANTLR start "rule__ParenthesizedExpression__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14940:1: rule__ParenthesizedExpression__Group__3__Impl : ( ')' ) ;
    public final void rule__ParenthesizedExpression__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14944:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14945:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14945:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14946:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getRightParenthesisKeyword_3()); 
            }
            match(input,48,FOLLOW_48_in_rule__ParenthesizedExpression__Group__3__Impl30275); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getRightParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group__3__Impl"


    // $ANTLR start "rule__ParenthesizedExpression__Group_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14967:1: rule__ParenthesizedExpression__Group_2__0 : rule__ParenthesizedExpression__Group_2__0__Impl rule__ParenthesizedExpression__Group_2__1 ;
    public final void rule__ParenthesizedExpression__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14971:1: ( rule__ParenthesizedExpression__Group_2__0__Impl rule__ParenthesizedExpression__Group_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14972:2: rule__ParenthesizedExpression__Group_2__0__Impl rule__ParenthesizedExpression__Group_2__1
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group_2__0__Impl_in_rule__ParenthesizedExpression__Group_2__030314);
            rule__ParenthesizedExpression__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group_2__1_in_rule__ParenthesizedExpression__Group_2__030317);
            rule__ParenthesizedExpression__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group_2__0"


    // $ANTLR start "rule__ParenthesizedExpression__Group_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14979:1: rule__ParenthesizedExpression__Group_2__0__Impl : ( ',' ) ;
    public final void rule__ParenthesizedExpression__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14983:1: ( ( ',' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14984:1: ( ',' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14984:1: ( ',' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14985:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getCommaKeyword_2_0()); 
            }
            match(input,40,FOLLOW_40_in_rule__ParenthesizedExpression__Group_2__0__Impl30345); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getCommaKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group_2__0__Impl"


    // $ANTLR start "rule__ParenthesizedExpression__Group_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:14998:1: rule__ParenthesizedExpression__Group_2__1 : rule__ParenthesizedExpression__Group_2__1__Impl ;
    public final void rule__ParenthesizedExpression__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15002:1: ( rule__ParenthesizedExpression__Group_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15003:2: rule__ParenthesizedExpression__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__Group_2__1__Impl_in_rule__ParenthesizedExpression__Group_2__130376);
            rule__ParenthesizedExpression__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group_2__1"


    // $ANTLR start "rule__ParenthesizedExpression__Group_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15009:1: rule__ParenthesizedExpression__Group_2__1__Impl : ( ( rule__ParenthesizedExpression__ExpressionsAssignment_2_1 ) ) ;
    public final void rule__ParenthesizedExpression__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15013:1: ( ( ( rule__ParenthesizedExpression__ExpressionsAssignment_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15014:1: ( ( rule__ParenthesizedExpression__ExpressionsAssignment_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15014:1: ( ( rule__ParenthesizedExpression__ExpressionsAssignment_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15015:1: ( rule__ParenthesizedExpression__ExpressionsAssignment_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getExpressionsAssignment_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15016:1: ( rule__ParenthesizedExpression__ExpressionsAssignment_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15016:2: rule__ParenthesizedExpression__ExpressionsAssignment_2_1
            {
            pushFollow(FOLLOW_rule__ParenthesizedExpression__ExpressionsAssignment_2_1_in_rule__ParenthesizedExpression__Group_2__1__Impl30403);
            rule__ParenthesizedExpression__ExpressionsAssignment_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getExpressionsAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__Group_2__1__Impl"


    // $ANTLR start "rule__EndExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15030:1: rule__EndExpression__Group__0 : rule__EndExpression__Group__0__Impl rule__EndExpression__Group__1 ;
    public final void rule__EndExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15034:1: ( rule__EndExpression__Group__0__Impl rule__EndExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15035:2: rule__EndExpression__Group__0__Impl rule__EndExpression__Group__1
            {
            pushFollow(FOLLOW_rule__EndExpression__Group__0__Impl_in_rule__EndExpression__Group__030437);
            rule__EndExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__EndExpression__Group__1_in_rule__EndExpression__Group__030440);
            rule__EndExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EndExpression__Group__0"


    // $ANTLR start "rule__EndExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15042:1: rule__EndExpression__Group__0__Impl : ( () ) ;
    public final void rule__EndExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15046:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15047:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15047:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15048:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEndExpressionAccess().getEndExpressionAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15049:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15051:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEndExpressionAccess().getEndExpressionAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EndExpression__Group__0__Impl"


    // $ANTLR start "rule__EndExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15061:1: rule__EndExpression__Group__1 : rule__EndExpression__Group__1__Impl ;
    public final void rule__EndExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15065:1: ( rule__EndExpression__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15066:2: rule__EndExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__EndExpression__Group__1__Impl_in_rule__EndExpression__Group__130498);
            rule__EndExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EndExpression__Group__1"


    // $ANTLR start "rule__EndExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15072:1: rule__EndExpression__Group__1__Impl : ( 'end' ) ;
    public final void rule__EndExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15076:1: ( ( 'end' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15077:1: ( 'end' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15077:1: ( 'end' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15078:1: 'end'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEndExpressionAccess().getEndKeyword_1()); 
            }
            match(input,80,FOLLOW_80_in_rule__EndExpression__Group__1__Impl30526); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEndExpressionAccess().getEndKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EndExpression__Group__1__Impl"


    // $ANTLR start "rule__AlgorithmExpression__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15095:1: rule__AlgorithmExpression__Group__0 : rule__AlgorithmExpression__Group__0__Impl rule__AlgorithmExpression__Group__1 ;
    public final void rule__AlgorithmExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15099:1: ( rule__AlgorithmExpression__Group__0__Impl rule__AlgorithmExpression__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15100:2: rule__AlgorithmExpression__Group__0__Impl rule__AlgorithmExpression__Group__1
            {
            pushFollow(FOLLOW_rule__AlgorithmExpression__Group__0__Impl_in_rule__AlgorithmExpression__Group__030561);
            rule__AlgorithmExpression__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AlgorithmExpression__Group__1_in_rule__AlgorithmExpression__Group__030564);
            rule__AlgorithmExpression__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AlgorithmExpression__Group__0"


    // $ANTLR start "rule__AlgorithmExpression__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15107:1: rule__AlgorithmExpression__Group__0__Impl : ( () ) ;
    public final void rule__AlgorithmExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15111:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15112:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15112:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15113:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAlgorithmExpressionAccess().getAlgorithmExpressionAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15114:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15116:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAlgorithmExpressionAccess().getAlgorithmExpressionAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AlgorithmExpression__Group__0__Impl"


    // $ANTLR start "rule__AlgorithmExpression__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15126:1: rule__AlgorithmExpression__Group__1 : rule__AlgorithmExpression__Group__1__Impl rule__AlgorithmExpression__Group__2 ;
    public final void rule__AlgorithmExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15130:1: ( rule__AlgorithmExpression__Group__1__Impl rule__AlgorithmExpression__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15131:2: rule__AlgorithmExpression__Group__1__Impl rule__AlgorithmExpression__Group__2
            {
            pushFollow(FOLLOW_rule__AlgorithmExpression__Group__1__Impl_in_rule__AlgorithmExpression__Group__130622);
            rule__AlgorithmExpression__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AlgorithmExpression__Group__2_in_rule__AlgorithmExpression__Group__130625);
            rule__AlgorithmExpression__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AlgorithmExpression__Group__1"


    // $ANTLR start "rule__AlgorithmExpression__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15138:1: rule__AlgorithmExpression__Group__1__Impl : ( 'algo' ) ;
    public final void rule__AlgorithmExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15142:1: ( ( 'algo' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15143:1: ( 'algo' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15143:1: ( 'algo' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15144:1: 'algo'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAlgorithmExpressionAccess().getAlgoKeyword_1()); 
            }
            match(input,81,FOLLOW_81_in_rule__AlgorithmExpression__Group__1__Impl30653); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAlgorithmExpressionAccess().getAlgoKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AlgorithmExpression__Group__1__Impl"


    // $ANTLR start "rule__AlgorithmExpression__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15157:1: rule__AlgorithmExpression__Group__2 : rule__AlgorithmExpression__Group__2__Impl ;
    public final void rule__AlgorithmExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15161:1: ( rule__AlgorithmExpression__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15162:2: rule__AlgorithmExpression__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__AlgorithmExpression__Group__2__Impl_in_rule__AlgorithmExpression__Group__230684);
            rule__AlgorithmExpression__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AlgorithmExpression__Group__2"


    // $ANTLR start "rule__AlgorithmExpression__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15168:1: rule__AlgorithmExpression__Group__2__Impl : ( ( rule__AlgorithmExpression__BodyAssignment_2 ) ) ;
    public final void rule__AlgorithmExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15172:1: ( ( ( rule__AlgorithmExpression__BodyAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15173:1: ( ( rule__AlgorithmExpression__BodyAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15173:1: ( ( rule__AlgorithmExpression__BodyAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15174:1: ( rule__AlgorithmExpression__BodyAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAlgorithmExpressionAccess().getBodyAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15175:1: ( rule__AlgorithmExpression__BodyAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15175:2: rule__AlgorithmExpression__BodyAssignment_2
            {
            pushFollow(FOLLOW_rule__AlgorithmExpression__BodyAssignment_2_in_rule__AlgorithmExpression__Group__2__Impl30711);
            rule__AlgorithmExpression__BodyAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAlgorithmExpressionAccess().getBodyAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AlgorithmExpression__Group__2__Impl"


    // $ANTLR start "rule__Compound__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15191:1: rule__Compound__Group__0 : rule__Compound__Group__0__Impl rule__Compound__Group__1 ;
    public final void rule__Compound__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15195:1: ( rule__Compound__Group__0__Impl rule__Compound__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15196:2: rule__Compound__Group__0__Impl rule__Compound__Group__1
            {
            pushFollow(FOLLOW_rule__Compound__Group__0__Impl_in_rule__Compound__Group__030747);
            rule__Compound__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Compound__Group__1_in_rule__Compound__Group__030750);
            rule__Compound__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__0"


    // $ANTLR start "rule__Compound__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15203:1: rule__Compound__Group__0__Impl : ( () ) ;
    public final void rule__Compound__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15207:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15208:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15208:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15209:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCompoundAccess().getCompoundAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15210:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15212:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCompoundAccess().getCompoundAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__0__Impl"


    // $ANTLR start "rule__Compound__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15222:1: rule__Compound__Group__1 : rule__Compound__Group__1__Impl rule__Compound__Group__2 ;
    public final void rule__Compound__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15226:1: ( rule__Compound__Group__1__Impl rule__Compound__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15227:2: rule__Compound__Group__1__Impl rule__Compound__Group__2
            {
            pushFollow(FOLLOW_rule__Compound__Group__1__Impl_in_rule__Compound__Group__130808);
            rule__Compound__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Compound__Group__2_in_rule__Compound__Group__130811);
            rule__Compound__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__1"


    // $ANTLR start "rule__Compound__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15234:1: rule__Compound__Group__1__Impl : ( '{' ) ;
    public final void rule__Compound__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15238:1: ( ( '{' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15239:1: ( '{' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15239:1: ( '{' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15240:1: '{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCompoundAccess().getLeftCurlyBracketKeyword_1()); 
            }
            match(input,38,FOLLOW_38_in_rule__Compound__Group__1__Impl30839); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCompoundAccess().getLeftCurlyBracketKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__1__Impl"


    // $ANTLR start "rule__Compound__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15253:1: rule__Compound__Group__2 : rule__Compound__Group__2__Impl rule__Compound__Group__3 ;
    public final void rule__Compound__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15257:1: ( rule__Compound__Group__2__Impl rule__Compound__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15258:2: rule__Compound__Group__2__Impl rule__Compound__Group__3
            {
            pushFollow(FOLLOW_rule__Compound__Group__2__Impl_in_rule__Compound__Group__230870);
            rule__Compound__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Compound__Group__3_in_rule__Compound__Group__230873);
            rule__Compound__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__2"


    // $ANTLR start "rule__Compound__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15265:1: rule__Compound__Group__2__Impl : ( ( rule__Compound__StatementsAssignment_2 )* ) ;
    public final void rule__Compound__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15269:1: ( ( ( rule__Compound__StatementsAssignment_2 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15270:1: ( ( rule__Compound__StatementsAssignment_2 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15270:1: ( ( rule__Compound__StatementsAssignment_2 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15271:1: ( rule__Compound__StatementsAssignment_2 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCompoundAccess().getStatementsAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15272:1: ( rule__Compound__StatementsAssignment_2 )*
            loop100:
            do {
                int alt100=2;
                int LA100_0 = input.LA(1);

                if ( ((LA100_0>=RULE_N && LA100_0<=RULE_ID)||LA100_0==38||LA100_0==47||LA100_0==52||LA100_0==64||LA100_0==78||(LA100_0>=82 && LA100_0<=86)) ) {
                    alt100=1;
                }


                switch (alt100) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15272:2: rule__Compound__StatementsAssignment_2
            	    {
            	    pushFollow(FOLLOW_rule__Compound__StatementsAssignment_2_in_rule__Compound__Group__2__Impl30900);
            	    rule__Compound__StatementsAssignment_2();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop100;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getCompoundAccess().getStatementsAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__2__Impl"


    // $ANTLR start "rule__Compound__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15282:1: rule__Compound__Group__3 : rule__Compound__Group__3__Impl ;
    public final void rule__Compound__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15286:1: ( rule__Compound__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15287:2: rule__Compound__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Compound__Group__3__Impl_in_rule__Compound__Group__330931);
            rule__Compound__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__3"


    // $ANTLR start "rule__Compound__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15293:1: rule__Compound__Group__3__Impl : ( '}' ) ;
    public final void rule__Compound__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15297:1: ( ( '}' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15298:1: ( '}' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15298:1: ( '}' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15299:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCompoundAccess().getRightCurlyBracketKeyword_3()); 
            }
            match(input,39,FOLLOW_39_in_rule__Compound__Group__3__Impl30959); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCompoundAccess().getRightCurlyBracketKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__Group__3__Impl"


    // $ANTLR start "rule__Assignment__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15320:1: rule__Assignment__Group__0 : rule__Assignment__Group__0__Impl rule__Assignment__Group__1 ;
    public final void rule__Assignment__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15324:1: ( rule__Assignment__Group__0__Impl rule__Assignment__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15325:2: rule__Assignment__Group__0__Impl rule__Assignment__Group__1
            {
            pushFollow(FOLLOW_rule__Assignment__Group__0__Impl_in_rule__Assignment__Group__030998);
            rule__Assignment__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assignment__Group__1_in_rule__Assignment__Group__031001);
            rule__Assignment__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__0"


    // $ANTLR start "rule__Assignment__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15332:1: rule__Assignment__Group__0__Impl : ( ( rule__Assignment__TargetAssignment_0 ) ) ;
    public final void rule__Assignment__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15336:1: ( ( ( rule__Assignment__TargetAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15337:1: ( ( rule__Assignment__TargetAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15337:1: ( ( rule__Assignment__TargetAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15338:1: ( rule__Assignment__TargetAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentAccess().getTargetAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15339:1: ( rule__Assignment__TargetAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15339:2: rule__Assignment__TargetAssignment_0
            {
            pushFollow(FOLLOW_rule__Assignment__TargetAssignment_0_in_rule__Assignment__Group__0__Impl31028);
            rule__Assignment__TargetAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignmentAccess().getTargetAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__0__Impl"


    // $ANTLR start "rule__Assignment__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15349:1: rule__Assignment__Group__1 : rule__Assignment__Group__1__Impl rule__Assignment__Group__2 ;
    public final void rule__Assignment__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15353:1: ( rule__Assignment__Group__1__Impl rule__Assignment__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15354:2: rule__Assignment__Group__1__Impl rule__Assignment__Group__2
            {
            pushFollow(FOLLOW_rule__Assignment__Group__1__Impl_in_rule__Assignment__Group__131058);
            rule__Assignment__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assignment__Group__2_in_rule__Assignment__Group__131061);
            rule__Assignment__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__1"


    // $ANTLR start "rule__Assignment__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15361:1: rule__Assignment__Group__1__Impl : ( '=' ) ;
    public final void rule__Assignment__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15365:1: ( ( '=' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15366:1: ( '=' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15366:1: ( '=' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15367:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentAccess().getEqualsSignKeyword_1()); 
            }
            match(input,42,FOLLOW_42_in_rule__Assignment__Group__1__Impl31089); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignmentAccess().getEqualsSignKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__1__Impl"


    // $ANTLR start "rule__Assignment__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15380:1: rule__Assignment__Group__2 : rule__Assignment__Group__2__Impl rule__Assignment__Group__3 ;
    public final void rule__Assignment__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15384:1: ( rule__Assignment__Group__2__Impl rule__Assignment__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15385:2: rule__Assignment__Group__2__Impl rule__Assignment__Group__3
            {
            pushFollow(FOLLOW_rule__Assignment__Group__2__Impl_in_rule__Assignment__Group__231120);
            rule__Assignment__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Assignment__Group__3_in_rule__Assignment__Group__231123);
            rule__Assignment__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__2"


    // $ANTLR start "rule__Assignment__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15392:1: rule__Assignment__Group__2__Impl : ( ( rule__Assignment__ExpressionAssignment_2 ) ) ;
    public final void rule__Assignment__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15396:1: ( ( ( rule__Assignment__ExpressionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15397:1: ( ( rule__Assignment__ExpressionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15397:1: ( ( rule__Assignment__ExpressionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15398:1: ( rule__Assignment__ExpressionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentAccess().getExpressionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15399:1: ( rule__Assignment__ExpressionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15399:2: rule__Assignment__ExpressionAssignment_2
            {
            pushFollow(FOLLOW_rule__Assignment__ExpressionAssignment_2_in_rule__Assignment__Group__2__Impl31150);
            rule__Assignment__ExpressionAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignmentAccess().getExpressionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__2__Impl"


    // $ANTLR start "rule__Assignment__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15409:1: rule__Assignment__Group__3 : rule__Assignment__Group__3__Impl ;
    public final void rule__Assignment__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15413:1: ( rule__Assignment__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15414:2: rule__Assignment__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Assignment__Group__3__Impl_in_rule__Assignment__Group__331180);
            rule__Assignment__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__3"


    // $ANTLR start "rule__Assignment__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15420:1: rule__Assignment__Group__3__Impl : ( ';' ) ;
    public final void rule__Assignment__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15424:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15425:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15425:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15426:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentAccess().getSemicolonKeyword_3()); 
            }
            match(input,43,FOLLOW_43_in_rule__Assignment__Group__3__Impl31208); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignmentAccess().getSemicolonKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__Group__3__Impl"


    // $ANTLR start "rule__VariableDeclaration__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15447:1: rule__VariableDeclaration__Group__0 : rule__VariableDeclaration__Group__0__Impl rule__VariableDeclaration__Group__1 ;
    public final void rule__VariableDeclaration__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15451:1: ( rule__VariableDeclaration__Group__0__Impl rule__VariableDeclaration__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15452:2: rule__VariableDeclaration__Group__0__Impl rule__VariableDeclaration__Group__1
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__0__Impl_in_rule__VariableDeclaration__Group__031247);
            rule__VariableDeclaration__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__1_in_rule__VariableDeclaration__Group__031250);
            rule__VariableDeclaration__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__0"


    // $ANTLR start "rule__VariableDeclaration__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15459:1: rule__VariableDeclaration__Group__0__Impl : ( 'var' ) ;
    public final void rule__VariableDeclaration__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15463:1: ( ( 'var' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15464:1: ( 'var' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15464:1: ( 'var' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15465:1: 'var'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getVarKeyword_0()); 
            }
            match(input,52,FOLLOW_52_in_rule__VariableDeclaration__Group__0__Impl31278); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableDeclarationAccess().getVarKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__0__Impl"


    // $ANTLR start "rule__VariableDeclaration__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15478:1: rule__VariableDeclaration__Group__1 : rule__VariableDeclaration__Group__1__Impl rule__VariableDeclaration__Group__2 ;
    public final void rule__VariableDeclaration__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15482:1: ( rule__VariableDeclaration__Group__1__Impl rule__VariableDeclaration__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15483:2: rule__VariableDeclaration__Group__1__Impl rule__VariableDeclaration__Group__2
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__1__Impl_in_rule__VariableDeclaration__Group__131309);
            rule__VariableDeclaration__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__2_in_rule__VariableDeclaration__Group__131312);
            rule__VariableDeclaration__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__1"


    // $ANTLR start "rule__VariableDeclaration__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15490:1: rule__VariableDeclaration__Group__1__Impl : ( ( rule__VariableDeclaration__NameAssignment_1 ) ) ;
    public final void rule__VariableDeclaration__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15494:1: ( ( ( rule__VariableDeclaration__NameAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15495:1: ( ( rule__VariableDeclaration__NameAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15495:1: ( ( rule__VariableDeclaration__NameAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15496:1: ( rule__VariableDeclaration__NameAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getNameAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15497:1: ( rule__VariableDeclaration__NameAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15497:2: rule__VariableDeclaration__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__NameAssignment_1_in_rule__VariableDeclaration__Group__1__Impl31339);
            rule__VariableDeclaration__NameAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableDeclarationAccess().getNameAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__1__Impl"


    // $ANTLR start "rule__VariableDeclaration__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15507:1: rule__VariableDeclaration__Group__2 : rule__VariableDeclaration__Group__2__Impl rule__VariableDeclaration__Group__3 ;
    public final void rule__VariableDeclaration__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15511:1: ( rule__VariableDeclaration__Group__2__Impl rule__VariableDeclaration__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15512:2: rule__VariableDeclaration__Group__2__Impl rule__VariableDeclaration__Group__3
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__2__Impl_in_rule__VariableDeclaration__Group__231369);
            rule__VariableDeclaration__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__3_in_rule__VariableDeclaration__Group__231372);
            rule__VariableDeclaration__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__2"


    // $ANTLR start "rule__VariableDeclaration__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15519:1: rule__VariableDeclaration__Group__2__Impl : ( '=' ) ;
    public final void rule__VariableDeclaration__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15523:1: ( ( '=' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15524:1: ( '=' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15524:1: ( '=' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15525:1: '='
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_2()); 
            }
            match(input,42,FOLLOW_42_in_rule__VariableDeclaration__Group__2__Impl31400); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableDeclarationAccess().getEqualsSignKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__2__Impl"


    // $ANTLR start "rule__VariableDeclaration__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15538:1: rule__VariableDeclaration__Group__3 : rule__VariableDeclaration__Group__3__Impl rule__VariableDeclaration__Group__4 ;
    public final void rule__VariableDeclaration__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15542:1: ( rule__VariableDeclaration__Group__3__Impl rule__VariableDeclaration__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15543:2: rule__VariableDeclaration__Group__3__Impl rule__VariableDeclaration__Group__4
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__3__Impl_in_rule__VariableDeclaration__Group__331431);
            rule__VariableDeclaration__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__4_in_rule__VariableDeclaration__Group__331434);
            rule__VariableDeclaration__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__3"


    // $ANTLR start "rule__VariableDeclaration__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15550:1: rule__VariableDeclaration__Group__3__Impl : ( ( rule__VariableDeclaration__InitializerAssignment_3 ) ) ;
    public final void rule__VariableDeclaration__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15554:1: ( ( ( rule__VariableDeclaration__InitializerAssignment_3 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15555:1: ( ( rule__VariableDeclaration__InitializerAssignment_3 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15555:1: ( ( rule__VariableDeclaration__InitializerAssignment_3 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15556:1: ( rule__VariableDeclaration__InitializerAssignment_3 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getInitializerAssignment_3()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15557:1: ( rule__VariableDeclaration__InitializerAssignment_3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15557:2: rule__VariableDeclaration__InitializerAssignment_3
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__InitializerAssignment_3_in_rule__VariableDeclaration__Group__3__Impl31461);
            rule__VariableDeclaration__InitializerAssignment_3();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableDeclarationAccess().getInitializerAssignment_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__3__Impl"


    // $ANTLR start "rule__VariableDeclaration__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15567:1: rule__VariableDeclaration__Group__4 : rule__VariableDeclaration__Group__4__Impl ;
    public final void rule__VariableDeclaration__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15571:1: ( rule__VariableDeclaration__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15572:2: rule__VariableDeclaration__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__VariableDeclaration__Group__4__Impl_in_rule__VariableDeclaration__Group__431491);
            rule__VariableDeclaration__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__4"


    // $ANTLR start "rule__VariableDeclaration__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15578:1: rule__VariableDeclaration__Group__4__Impl : ( ';' ) ;
    public final void rule__VariableDeclaration__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15582:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15583:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15583:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15584:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getSemicolonKeyword_4()); 
            }
            match(input,43,FOLLOW_43_in_rule__VariableDeclaration__Group__4__Impl31519); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableDeclarationAccess().getSemicolonKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__Group__4__Impl"


    // $ANTLR start "rule__IfStatement__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15607:1: rule__IfStatement__Group__0 : rule__IfStatement__Group__0__Impl rule__IfStatement__Group__1 ;
    public final void rule__IfStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15611:1: ( rule__IfStatement__Group__0__Impl rule__IfStatement__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15612:2: rule__IfStatement__Group__0__Impl rule__IfStatement__Group__1
            {
            pushFollow(FOLLOW_rule__IfStatement__Group__0__Impl_in_rule__IfStatement__Group__031560);
            rule__IfStatement__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfStatement__Group__1_in_rule__IfStatement__Group__031563);
            rule__IfStatement__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__0"


    // $ANTLR start "rule__IfStatement__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15619:1: rule__IfStatement__Group__0__Impl : ( 'if' ) ;
    public final void rule__IfStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15623:1: ( ( 'if' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15624:1: ( 'if' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15624:1: ( 'if' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15625:1: 'if'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getIfKeyword_0()); 
            }
            match(input,64,FOLLOW_64_in_rule__IfStatement__Group__0__Impl31591); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getIfKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__0__Impl"


    // $ANTLR start "rule__IfStatement__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15638:1: rule__IfStatement__Group__1 : rule__IfStatement__Group__1__Impl rule__IfStatement__Group__2 ;
    public final void rule__IfStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15642:1: ( rule__IfStatement__Group__1__Impl rule__IfStatement__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15643:2: rule__IfStatement__Group__1__Impl rule__IfStatement__Group__2
            {
            pushFollow(FOLLOW_rule__IfStatement__Group__1__Impl_in_rule__IfStatement__Group__131622);
            rule__IfStatement__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfStatement__Group__2_in_rule__IfStatement__Group__131625);
            rule__IfStatement__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__1"


    // $ANTLR start "rule__IfStatement__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15650:1: rule__IfStatement__Group__1__Impl : ( '(' ) ;
    public final void rule__IfStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15654:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15655:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15655:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15656:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getLeftParenthesisKeyword_1()); 
            }
            match(input,47,FOLLOW_47_in_rule__IfStatement__Group__1__Impl31653); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getLeftParenthesisKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__1__Impl"


    // $ANTLR start "rule__IfStatement__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15669:1: rule__IfStatement__Group__2 : rule__IfStatement__Group__2__Impl rule__IfStatement__Group__3 ;
    public final void rule__IfStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15673:1: ( rule__IfStatement__Group__2__Impl rule__IfStatement__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15674:2: rule__IfStatement__Group__2__Impl rule__IfStatement__Group__3
            {
            pushFollow(FOLLOW_rule__IfStatement__Group__2__Impl_in_rule__IfStatement__Group__231684);
            rule__IfStatement__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfStatement__Group__3_in_rule__IfStatement__Group__231687);
            rule__IfStatement__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__2"


    // $ANTLR start "rule__IfStatement__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15681:1: rule__IfStatement__Group__2__Impl : ( ( rule__IfStatement__ConditionAssignment_2 ) ) ;
    public final void rule__IfStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15685:1: ( ( ( rule__IfStatement__ConditionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15686:1: ( ( rule__IfStatement__ConditionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15686:1: ( ( rule__IfStatement__ConditionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15687:1: ( rule__IfStatement__ConditionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getConditionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15688:1: ( rule__IfStatement__ConditionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15688:2: rule__IfStatement__ConditionAssignment_2
            {
            pushFollow(FOLLOW_rule__IfStatement__ConditionAssignment_2_in_rule__IfStatement__Group__2__Impl31714);
            rule__IfStatement__ConditionAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getConditionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__2__Impl"


    // $ANTLR start "rule__IfStatement__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15698:1: rule__IfStatement__Group__3 : rule__IfStatement__Group__3__Impl rule__IfStatement__Group__4 ;
    public final void rule__IfStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15702:1: ( rule__IfStatement__Group__3__Impl rule__IfStatement__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15703:2: rule__IfStatement__Group__3__Impl rule__IfStatement__Group__4
            {
            pushFollow(FOLLOW_rule__IfStatement__Group__3__Impl_in_rule__IfStatement__Group__331744);
            rule__IfStatement__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfStatement__Group__4_in_rule__IfStatement__Group__331747);
            rule__IfStatement__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__3"


    // $ANTLR start "rule__IfStatement__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15710:1: rule__IfStatement__Group__3__Impl : ( ')' ) ;
    public final void rule__IfStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15714:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15715:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15715:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15716:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getRightParenthesisKeyword_3()); 
            }
            match(input,48,FOLLOW_48_in_rule__IfStatement__Group__3__Impl31775); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getRightParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__3__Impl"


    // $ANTLR start "rule__IfStatement__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15729:1: rule__IfStatement__Group__4 : rule__IfStatement__Group__4__Impl rule__IfStatement__Group__5 ;
    public final void rule__IfStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15733:1: ( rule__IfStatement__Group__4__Impl rule__IfStatement__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15734:2: rule__IfStatement__Group__4__Impl rule__IfStatement__Group__5
            {
            pushFollow(FOLLOW_rule__IfStatement__Group__4__Impl_in_rule__IfStatement__Group__431806);
            rule__IfStatement__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfStatement__Group__5_in_rule__IfStatement__Group__431809);
            rule__IfStatement__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__4"


    // $ANTLR start "rule__IfStatement__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15741:1: rule__IfStatement__Group__4__Impl : ( ( rule__IfStatement__ThenStatementAssignment_4 ) ) ;
    public final void rule__IfStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15745:1: ( ( ( rule__IfStatement__ThenStatementAssignment_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15746:1: ( ( rule__IfStatement__ThenStatementAssignment_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15746:1: ( ( rule__IfStatement__ThenStatementAssignment_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15747:1: ( rule__IfStatement__ThenStatementAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getThenStatementAssignment_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15748:1: ( rule__IfStatement__ThenStatementAssignment_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15748:2: rule__IfStatement__ThenStatementAssignment_4
            {
            pushFollow(FOLLOW_rule__IfStatement__ThenStatementAssignment_4_in_rule__IfStatement__Group__4__Impl31836);
            rule__IfStatement__ThenStatementAssignment_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getThenStatementAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__4__Impl"


    // $ANTLR start "rule__IfStatement__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15758:1: rule__IfStatement__Group__5 : rule__IfStatement__Group__5__Impl ;
    public final void rule__IfStatement__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15762:1: ( rule__IfStatement__Group__5__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15763:2: rule__IfStatement__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__IfStatement__Group__5__Impl_in_rule__IfStatement__Group__531866);
            rule__IfStatement__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__5"


    // $ANTLR start "rule__IfStatement__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15769:1: rule__IfStatement__Group__5__Impl : ( ( rule__IfStatement__Group_5__0 )? ) ;
    public final void rule__IfStatement__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15773:1: ( ( ( rule__IfStatement__Group_5__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15774:1: ( ( rule__IfStatement__Group_5__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15774:1: ( ( rule__IfStatement__Group_5__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15775:1: ( rule__IfStatement__Group_5__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getGroup_5()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15776:1: ( rule__IfStatement__Group_5__0 )?
            int alt101=2;
            int LA101_0 = input.LA(1);

            if ( (LA101_0==66) ) {
                int LA101_1 = input.LA(2);

                if ( (synpred134_InternalMscript()) ) {
                    alt101=1;
                }
            }
            switch (alt101) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15776:2: rule__IfStatement__Group_5__0
                    {
                    pushFollow(FOLLOW_rule__IfStatement__Group_5__0_in_rule__IfStatement__Group__5__Impl31893);
                    rule__IfStatement__Group_5__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getGroup_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group__5__Impl"


    // $ANTLR start "rule__IfStatement__Group_5__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15798:1: rule__IfStatement__Group_5__0 : rule__IfStatement__Group_5__0__Impl rule__IfStatement__Group_5__1 ;
    public final void rule__IfStatement__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15802:1: ( rule__IfStatement__Group_5__0__Impl rule__IfStatement__Group_5__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15803:2: rule__IfStatement__Group_5__0__Impl rule__IfStatement__Group_5__1
            {
            pushFollow(FOLLOW_rule__IfStatement__Group_5__0__Impl_in_rule__IfStatement__Group_5__031936);
            rule__IfStatement__Group_5__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__IfStatement__Group_5__1_in_rule__IfStatement__Group_5__031939);
            rule__IfStatement__Group_5__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group_5__0"


    // $ANTLR start "rule__IfStatement__Group_5__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15810:1: rule__IfStatement__Group_5__0__Impl : ( ( 'else' ) ) ;
    public final void rule__IfStatement__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15814:1: ( ( ( 'else' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15815:1: ( ( 'else' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15815:1: ( ( 'else' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15816:1: ( 'else' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getElseKeyword_5_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15817:1: ( 'else' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15818:2: 'else'
            {
            match(input,66,FOLLOW_66_in_rule__IfStatement__Group_5__0__Impl31968); if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getElseKeyword_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group_5__0__Impl"


    // $ANTLR start "rule__IfStatement__Group_5__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15829:1: rule__IfStatement__Group_5__1 : rule__IfStatement__Group_5__1__Impl ;
    public final void rule__IfStatement__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15833:1: ( rule__IfStatement__Group_5__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15834:2: rule__IfStatement__Group_5__1__Impl
            {
            pushFollow(FOLLOW_rule__IfStatement__Group_5__1__Impl_in_rule__IfStatement__Group_5__132000);
            rule__IfStatement__Group_5__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group_5__1"


    // $ANTLR start "rule__IfStatement__Group_5__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15840:1: rule__IfStatement__Group_5__1__Impl : ( ( rule__IfStatement__ElseStatementAssignment_5_1 ) ) ;
    public final void rule__IfStatement__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15844:1: ( ( ( rule__IfStatement__ElseStatementAssignment_5_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15845:1: ( ( rule__IfStatement__ElseStatementAssignment_5_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15845:1: ( ( rule__IfStatement__ElseStatementAssignment_5_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15846:1: ( rule__IfStatement__ElseStatementAssignment_5_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getElseStatementAssignment_5_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15847:1: ( rule__IfStatement__ElseStatementAssignment_5_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15847:2: rule__IfStatement__ElseStatementAssignment_5_1
            {
            pushFollow(FOLLOW_rule__IfStatement__ElseStatementAssignment_5_1_in_rule__IfStatement__Group_5__1__Impl32027);
            rule__IfStatement__ElseStatementAssignment_5_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getElseStatementAssignment_5_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__Group_5__1__Impl"


    // $ANTLR start "rule__WhileStatement__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15861:1: rule__WhileStatement__Group__0 : rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1 ;
    public final void rule__WhileStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15865:1: ( rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15866:2: rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1
            {
            pushFollow(FOLLOW_rule__WhileStatement__Group__0__Impl_in_rule__WhileStatement__Group__032061);
            rule__WhileStatement__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__WhileStatement__Group__1_in_rule__WhileStatement__Group__032064);
            rule__WhileStatement__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__0"


    // $ANTLR start "rule__WhileStatement__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15873:1: rule__WhileStatement__Group__0__Impl : ( 'while' ) ;
    public final void rule__WhileStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15877:1: ( ( 'while' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15878:1: ( 'while' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15878:1: ( 'while' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15879:1: 'while'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); 
            }
            match(input,82,FOLLOW_82_in_rule__WhileStatement__Group__0__Impl32092); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__0__Impl"


    // $ANTLR start "rule__WhileStatement__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15892:1: rule__WhileStatement__Group__1 : rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2 ;
    public final void rule__WhileStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15896:1: ( rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15897:2: rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2
            {
            pushFollow(FOLLOW_rule__WhileStatement__Group__1__Impl_in_rule__WhileStatement__Group__132123);
            rule__WhileStatement__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__WhileStatement__Group__2_in_rule__WhileStatement__Group__132126);
            rule__WhileStatement__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__1"


    // $ANTLR start "rule__WhileStatement__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15904:1: rule__WhileStatement__Group__1__Impl : ( '(' ) ;
    public final void rule__WhileStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15908:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15909:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15909:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15910:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getLeftParenthesisKeyword_1()); 
            }
            match(input,47,FOLLOW_47_in_rule__WhileStatement__Group__1__Impl32154); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getLeftParenthesisKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__1__Impl"


    // $ANTLR start "rule__WhileStatement__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15923:1: rule__WhileStatement__Group__2 : rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3 ;
    public final void rule__WhileStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15927:1: ( rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15928:2: rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3
            {
            pushFollow(FOLLOW_rule__WhileStatement__Group__2__Impl_in_rule__WhileStatement__Group__232185);
            rule__WhileStatement__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__WhileStatement__Group__3_in_rule__WhileStatement__Group__232188);
            rule__WhileStatement__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__2"


    // $ANTLR start "rule__WhileStatement__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15935:1: rule__WhileStatement__Group__2__Impl : ( ( rule__WhileStatement__ConditionAssignment_2 ) ) ;
    public final void rule__WhileStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15939:1: ( ( ( rule__WhileStatement__ConditionAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15940:1: ( ( rule__WhileStatement__ConditionAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15940:1: ( ( rule__WhileStatement__ConditionAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15941:1: ( rule__WhileStatement__ConditionAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getConditionAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15942:1: ( rule__WhileStatement__ConditionAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15942:2: rule__WhileStatement__ConditionAssignment_2
            {
            pushFollow(FOLLOW_rule__WhileStatement__ConditionAssignment_2_in_rule__WhileStatement__Group__2__Impl32215);
            rule__WhileStatement__ConditionAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getConditionAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__2__Impl"


    // $ANTLR start "rule__WhileStatement__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15952:1: rule__WhileStatement__Group__3 : rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4 ;
    public final void rule__WhileStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15956:1: ( rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15957:2: rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4
            {
            pushFollow(FOLLOW_rule__WhileStatement__Group__3__Impl_in_rule__WhileStatement__Group__332245);
            rule__WhileStatement__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__WhileStatement__Group__4_in_rule__WhileStatement__Group__332248);
            rule__WhileStatement__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__3"


    // $ANTLR start "rule__WhileStatement__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15964:1: rule__WhileStatement__Group__3__Impl : ( ')' ) ;
    public final void rule__WhileStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15968:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15969:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15969:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15970:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getRightParenthesisKeyword_3()); 
            }
            match(input,48,FOLLOW_48_in_rule__WhileStatement__Group__3__Impl32276); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getRightParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__3__Impl"


    // $ANTLR start "rule__WhileStatement__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15983:1: rule__WhileStatement__Group__4 : rule__WhileStatement__Group__4__Impl ;
    public final void rule__WhileStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15987:1: ( rule__WhileStatement__Group__4__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15988:2: rule__WhileStatement__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__WhileStatement__Group__4__Impl_in_rule__WhileStatement__Group__432307);
            rule__WhileStatement__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__4"


    // $ANTLR start "rule__WhileStatement__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15994:1: rule__WhileStatement__Group__4__Impl : ( ( rule__WhileStatement__BodyAssignment_4 ) ) ;
    public final void rule__WhileStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15998:1: ( ( ( rule__WhileStatement__BodyAssignment_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15999:1: ( ( rule__WhileStatement__BodyAssignment_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15999:1: ( ( rule__WhileStatement__BodyAssignment_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16000:1: ( rule__WhileStatement__BodyAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getBodyAssignment_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16001:1: ( rule__WhileStatement__BodyAssignment_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16001:2: rule__WhileStatement__BodyAssignment_4
            {
            pushFollow(FOLLOW_rule__WhileStatement__BodyAssignment_4_in_rule__WhileStatement__Group__4__Impl32334);
            rule__WhileStatement__BodyAssignment_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getBodyAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__Group__4__Impl"


    // $ANTLR start "rule__ForStatement__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16021:1: rule__ForStatement__Group__0 : rule__ForStatement__Group__0__Impl rule__ForStatement__Group__1 ;
    public final void rule__ForStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16025:1: ( rule__ForStatement__Group__0__Impl rule__ForStatement__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16026:2: rule__ForStatement__Group__0__Impl rule__ForStatement__Group__1
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__0__Impl_in_rule__ForStatement__Group__032374);
            rule__ForStatement__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ForStatement__Group__1_in_rule__ForStatement__Group__032377);
            rule__ForStatement__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__0"


    // $ANTLR start "rule__ForStatement__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16033:1: rule__ForStatement__Group__0__Impl : ( 'for' ) ;
    public final void rule__ForStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16037:1: ( ( 'for' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16038:1: ( 'for' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16038:1: ( 'for' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16039:1: 'for'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getForKeyword_0()); 
            }
            match(input,78,FOLLOW_78_in_rule__ForStatement__Group__0__Impl32405); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getForKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__0__Impl"


    // $ANTLR start "rule__ForStatement__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16052:1: rule__ForStatement__Group__1 : rule__ForStatement__Group__1__Impl rule__ForStatement__Group__2 ;
    public final void rule__ForStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16056:1: ( rule__ForStatement__Group__1__Impl rule__ForStatement__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16057:2: rule__ForStatement__Group__1__Impl rule__ForStatement__Group__2
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__1__Impl_in_rule__ForStatement__Group__132436);
            rule__ForStatement__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ForStatement__Group__2_in_rule__ForStatement__Group__132439);
            rule__ForStatement__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__1"


    // $ANTLR start "rule__ForStatement__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16064:1: rule__ForStatement__Group__1__Impl : ( '(' ) ;
    public final void rule__ForStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16068:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16069:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16069:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16070:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1()); 
            }
            match(input,47,FOLLOW_47_in_rule__ForStatement__Group__1__Impl32467); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__1__Impl"


    // $ANTLR start "rule__ForStatement__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16083:1: rule__ForStatement__Group__2 : rule__ForStatement__Group__2__Impl rule__ForStatement__Group__3 ;
    public final void rule__ForStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16087:1: ( rule__ForStatement__Group__2__Impl rule__ForStatement__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16088:2: rule__ForStatement__Group__2__Impl rule__ForStatement__Group__3
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__2__Impl_in_rule__ForStatement__Group__232498);
            rule__ForStatement__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ForStatement__Group__3_in_rule__ForStatement__Group__232501);
            rule__ForStatement__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__2"


    // $ANTLR start "rule__ForStatement__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16095:1: rule__ForStatement__Group__2__Impl : ( ( rule__ForStatement__IterationVariableAssignment_2 ) ) ;
    public final void rule__ForStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16099:1: ( ( ( rule__ForStatement__IterationVariableAssignment_2 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16100:1: ( ( rule__ForStatement__IterationVariableAssignment_2 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16100:1: ( ( rule__ForStatement__IterationVariableAssignment_2 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16101:1: ( rule__ForStatement__IterationVariableAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getIterationVariableAssignment_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16102:1: ( rule__ForStatement__IterationVariableAssignment_2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16102:2: rule__ForStatement__IterationVariableAssignment_2
            {
            pushFollow(FOLLOW_rule__ForStatement__IterationVariableAssignment_2_in_rule__ForStatement__Group__2__Impl32528);
            rule__ForStatement__IterationVariableAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getIterationVariableAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__2__Impl"


    // $ANTLR start "rule__ForStatement__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16112:1: rule__ForStatement__Group__3 : rule__ForStatement__Group__3__Impl rule__ForStatement__Group__4 ;
    public final void rule__ForStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16116:1: ( rule__ForStatement__Group__3__Impl rule__ForStatement__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16117:2: rule__ForStatement__Group__3__Impl rule__ForStatement__Group__4
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__3__Impl_in_rule__ForStatement__Group__332558);
            rule__ForStatement__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ForStatement__Group__4_in_rule__ForStatement__Group__332561);
            rule__ForStatement__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__3"


    // $ANTLR start "rule__ForStatement__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16124:1: rule__ForStatement__Group__3__Impl : ( 'in' ) ;
    public final void rule__ForStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16128:1: ( ( 'in' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16129:1: ( 'in' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16129:1: ( 'in' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16130:1: 'in'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getInKeyword_3()); 
            }
            match(input,63,FOLLOW_63_in_rule__ForStatement__Group__3__Impl32589); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getInKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__3__Impl"


    // $ANTLR start "rule__ForStatement__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16143:1: rule__ForStatement__Group__4 : rule__ForStatement__Group__4__Impl rule__ForStatement__Group__5 ;
    public final void rule__ForStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16147:1: ( rule__ForStatement__Group__4__Impl rule__ForStatement__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16148:2: rule__ForStatement__Group__4__Impl rule__ForStatement__Group__5
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__4__Impl_in_rule__ForStatement__Group__432620);
            rule__ForStatement__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ForStatement__Group__5_in_rule__ForStatement__Group__432623);
            rule__ForStatement__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__4"


    // $ANTLR start "rule__ForStatement__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16155:1: rule__ForStatement__Group__4__Impl : ( ( rule__ForStatement__CollectionExpressionAssignment_4 ) ) ;
    public final void rule__ForStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16159:1: ( ( ( rule__ForStatement__CollectionExpressionAssignment_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16160:1: ( ( rule__ForStatement__CollectionExpressionAssignment_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16160:1: ( ( rule__ForStatement__CollectionExpressionAssignment_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16161:1: ( rule__ForStatement__CollectionExpressionAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getCollectionExpressionAssignment_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16162:1: ( rule__ForStatement__CollectionExpressionAssignment_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16162:2: rule__ForStatement__CollectionExpressionAssignment_4
            {
            pushFollow(FOLLOW_rule__ForStatement__CollectionExpressionAssignment_4_in_rule__ForStatement__Group__4__Impl32650);
            rule__ForStatement__CollectionExpressionAssignment_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getCollectionExpressionAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__4__Impl"


    // $ANTLR start "rule__ForStatement__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16172:1: rule__ForStatement__Group__5 : rule__ForStatement__Group__5__Impl rule__ForStatement__Group__6 ;
    public final void rule__ForStatement__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16176:1: ( rule__ForStatement__Group__5__Impl rule__ForStatement__Group__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16177:2: rule__ForStatement__Group__5__Impl rule__ForStatement__Group__6
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__5__Impl_in_rule__ForStatement__Group__532680);
            rule__ForStatement__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ForStatement__Group__6_in_rule__ForStatement__Group__532683);
            rule__ForStatement__Group__6();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__5"


    // $ANTLR start "rule__ForStatement__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16184:1: rule__ForStatement__Group__5__Impl : ( ')' ) ;
    public final void rule__ForStatement__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16188:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16189:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16189:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16190:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getRightParenthesisKeyword_5()); 
            }
            match(input,48,FOLLOW_48_in_rule__ForStatement__Group__5__Impl32711); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getRightParenthesisKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__5__Impl"


    // $ANTLR start "rule__ForStatement__Group__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16203:1: rule__ForStatement__Group__6 : rule__ForStatement__Group__6__Impl ;
    public final void rule__ForStatement__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16207:1: ( rule__ForStatement__Group__6__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16208:2: rule__ForStatement__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__ForStatement__Group__6__Impl_in_rule__ForStatement__Group__632742);
            rule__ForStatement__Group__6__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__6"


    // $ANTLR start "rule__ForStatement__Group__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16214:1: rule__ForStatement__Group__6__Impl : ( ( rule__ForStatement__BodyAssignment_6 ) ) ;
    public final void rule__ForStatement__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16218:1: ( ( ( rule__ForStatement__BodyAssignment_6 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16219:1: ( ( rule__ForStatement__BodyAssignment_6 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16219:1: ( ( rule__ForStatement__BodyAssignment_6 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16220:1: ( rule__ForStatement__BodyAssignment_6 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getBodyAssignment_6()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16221:1: ( rule__ForStatement__BodyAssignment_6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16221:2: rule__ForStatement__BodyAssignment_6
            {
            pushFollow(FOLLOW_rule__ForStatement__BodyAssignment_6_in_rule__ForStatement__Group__6__Impl32769);
            rule__ForStatement__BodyAssignment_6();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getBodyAssignment_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__Group__6__Impl"


    // $ANTLR start "rule__DoWhileStatement__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16245:1: rule__DoWhileStatement__Group__0 : rule__DoWhileStatement__Group__0__Impl rule__DoWhileStatement__Group__1 ;
    public final void rule__DoWhileStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16249:1: ( rule__DoWhileStatement__Group__0__Impl rule__DoWhileStatement__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16250:2: rule__DoWhileStatement__Group__0__Impl rule__DoWhileStatement__Group__1
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__0__Impl_in_rule__DoWhileStatement__Group__032813);
            rule__DoWhileStatement__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__1_in_rule__DoWhileStatement__Group__032816);
            rule__DoWhileStatement__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__0"


    // $ANTLR start "rule__DoWhileStatement__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16257:1: rule__DoWhileStatement__Group__0__Impl : ( 'do' ) ;
    public final void rule__DoWhileStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16261:1: ( ( 'do' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16262:1: ( 'do' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16262:1: ( 'do' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16263:1: 'do'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getDoKeyword_0()); 
            }
            match(input,83,FOLLOW_83_in_rule__DoWhileStatement__Group__0__Impl32844); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getDoKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__0__Impl"


    // $ANTLR start "rule__DoWhileStatement__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16276:1: rule__DoWhileStatement__Group__1 : rule__DoWhileStatement__Group__1__Impl rule__DoWhileStatement__Group__2 ;
    public final void rule__DoWhileStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16280:1: ( rule__DoWhileStatement__Group__1__Impl rule__DoWhileStatement__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16281:2: rule__DoWhileStatement__Group__1__Impl rule__DoWhileStatement__Group__2
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__1__Impl_in_rule__DoWhileStatement__Group__132875);
            rule__DoWhileStatement__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__2_in_rule__DoWhileStatement__Group__132878);
            rule__DoWhileStatement__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__1"


    // $ANTLR start "rule__DoWhileStatement__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16288:1: rule__DoWhileStatement__Group__1__Impl : ( ( rule__DoWhileStatement__BodyAssignment_1 ) ) ;
    public final void rule__DoWhileStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16292:1: ( ( ( rule__DoWhileStatement__BodyAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16293:1: ( ( rule__DoWhileStatement__BodyAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16293:1: ( ( rule__DoWhileStatement__BodyAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16294:1: ( rule__DoWhileStatement__BodyAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getBodyAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16295:1: ( rule__DoWhileStatement__BodyAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16295:2: rule__DoWhileStatement__BodyAssignment_1
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__BodyAssignment_1_in_rule__DoWhileStatement__Group__1__Impl32905);
            rule__DoWhileStatement__BodyAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getBodyAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__1__Impl"


    // $ANTLR start "rule__DoWhileStatement__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16305:1: rule__DoWhileStatement__Group__2 : rule__DoWhileStatement__Group__2__Impl rule__DoWhileStatement__Group__3 ;
    public final void rule__DoWhileStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16309:1: ( rule__DoWhileStatement__Group__2__Impl rule__DoWhileStatement__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16310:2: rule__DoWhileStatement__Group__2__Impl rule__DoWhileStatement__Group__3
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__2__Impl_in_rule__DoWhileStatement__Group__232935);
            rule__DoWhileStatement__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__3_in_rule__DoWhileStatement__Group__232938);
            rule__DoWhileStatement__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__2"


    // $ANTLR start "rule__DoWhileStatement__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16317:1: rule__DoWhileStatement__Group__2__Impl : ( 'while' ) ;
    public final void rule__DoWhileStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16321:1: ( ( 'while' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16322:1: ( 'while' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16322:1: ( 'while' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16323:1: 'while'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getWhileKeyword_2()); 
            }
            match(input,82,FOLLOW_82_in_rule__DoWhileStatement__Group__2__Impl32966); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getWhileKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__2__Impl"


    // $ANTLR start "rule__DoWhileStatement__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16336:1: rule__DoWhileStatement__Group__3 : rule__DoWhileStatement__Group__3__Impl rule__DoWhileStatement__Group__4 ;
    public final void rule__DoWhileStatement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16340:1: ( rule__DoWhileStatement__Group__3__Impl rule__DoWhileStatement__Group__4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16341:2: rule__DoWhileStatement__Group__3__Impl rule__DoWhileStatement__Group__4
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__3__Impl_in_rule__DoWhileStatement__Group__332997);
            rule__DoWhileStatement__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__4_in_rule__DoWhileStatement__Group__333000);
            rule__DoWhileStatement__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__3"


    // $ANTLR start "rule__DoWhileStatement__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16348:1: rule__DoWhileStatement__Group__3__Impl : ( '(' ) ;
    public final void rule__DoWhileStatement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16352:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16353:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16353:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16354:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getLeftParenthesisKeyword_3()); 
            }
            match(input,47,FOLLOW_47_in_rule__DoWhileStatement__Group__3__Impl33028); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getLeftParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__3__Impl"


    // $ANTLR start "rule__DoWhileStatement__Group__4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16367:1: rule__DoWhileStatement__Group__4 : rule__DoWhileStatement__Group__4__Impl rule__DoWhileStatement__Group__5 ;
    public final void rule__DoWhileStatement__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16371:1: ( rule__DoWhileStatement__Group__4__Impl rule__DoWhileStatement__Group__5 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16372:2: rule__DoWhileStatement__Group__4__Impl rule__DoWhileStatement__Group__5
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__4__Impl_in_rule__DoWhileStatement__Group__433059);
            rule__DoWhileStatement__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__5_in_rule__DoWhileStatement__Group__433062);
            rule__DoWhileStatement__Group__5();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__4"


    // $ANTLR start "rule__DoWhileStatement__Group__4__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16379:1: rule__DoWhileStatement__Group__4__Impl : ( ( rule__DoWhileStatement__ConditionAssignment_4 ) ) ;
    public final void rule__DoWhileStatement__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16383:1: ( ( ( rule__DoWhileStatement__ConditionAssignment_4 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16384:1: ( ( rule__DoWhileStatement__ConditionAssignment_4 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16384:1: ( ( rule__DoWhileStatement__ConditionAssignment_4 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16385:1: ( rule__DoWhileStatement__ConditionAssignment_4 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getConditionAssignment_4()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16386:1: ( rule__DoWhileStatement__ConditionAssignment_4 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16386:2: rule__DoWhileStatement__ConditionAssignment_4
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__ConditionAssignment_4_in_rule__DoWhileStatement__Group__4__Impl33089);
            rule__DoWhileStatement__ConditionAssignment_4();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getConditionAssignment_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__4__Impl"


    // $ANTLR start "rule__DoWhileStatement__Group__5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16396:1: rule__DoWhileStatement__Group__5 : rule__DoWhileStatement__Group__5__Impl rule__DoWhileStatement__Group__6 ;
    public final void rule__DoWhileStatement__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16400:1: ( rule__DoWhileStatement__Group__5__Impl rule__DoWhileStatement__Group__6 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16401:2: rule__DoWhileStatement__Group__5__Impl rule__DoWhileStatement__Group__6
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__5__Impl_in_rule__DoWhileStatement__Group__533119);
            rule__DoWhileStatement__Group__5__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__6_in_rule__DoWhileStatement__Group__533122);
            rule__DoWhileStatement__Group__6();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__5"


    // $ANTLR start "rule__DoWhileStatement__Group__5__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16408:1: rule__DoWhileStatement__Group__5__Impl : ( ')' ) ;
    public final void rule__DoWhileStatement__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16412:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16413:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16413:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16414:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getRightParenthesisKeyword_5()); 
            }
            match(input,48,FOLLOW_48_in_rule__DoWhileStatement__Group__5__Impl33150); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getRightParenthesisKeyword_5()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__5__Impl"


    // $ANTLR start "rule__DoWhileStatement__Group__6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16427:1: rule__DoWhileStatement__Group__6 : rule__DoWhileStatement__Group__6__Impl ;
    public final void rule__DoWhileStatement__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16431:1: ( rule__DoWhileStatement__Group__6__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16432:2: rule__DoWhileStatement__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__DoWhileStatement__Group__6__Impl_in_rule__DoWhileStatement__Group__633181);
            rule__DoWhileStatement__Group__6__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__6"


    // $ANTLR start "rule__DoWhileStatement__Group__6__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16438:1: rule__DoWhileStatement__Group__6__Impl : ( ';' ) ;
    public final void rule__DoWhileStatement__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16442:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16443:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16443:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16444:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getSemicolonKeyword_6()); 
            }
            match(input,43,FOLLOW_43_in_rule__DoWhileStatement__Group__6__Impl33209); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getSemicolonKeyword_6()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__Group__6__Impl"


    // $ANTLR start "rule__ContinueStatement__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16471:1: rule__ContinueStatement__Group__0 : rule__ContinueStatement__Group__0__Impl rule__ContinueStatement__Group__1 ;
    public final void rule__ContinueStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16475:1: ( rule__ContinueStatement__Group__0__Impl rule__ContinueStatement__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16476:2: rule__ContinueStatement__Group__0__Impl rule__ContinueStatement__Group__1
            {
            pushFollow(FOLLOW_rule__ContinueStatement__Group__0__Impl_in_rule__ContinueStatement__Group__033254);
            rule__ContinueStatement__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ContinueStatement__Group__1_in_rule__ContinueStatement__Group__033257);
            rule__ContinueStatement__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContinueStatement__Group__0"


    // $ANTLR start "rule__ContinueStatement__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16483:1: rule__ContinueStatement__Group__0__Impl : ( () ) ;
    public final void rule__ContinueStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16487:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16488:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16488:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16489:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getContinueStatementAccess().getContinueStatementAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16490:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16492:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getContinueStatementAccess().getContinueStatementAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContinueStatement__Group__0__Impl"


    // $ANTLR start "rule__ContinueStatement__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16502:1: rule__ContinueStatement__Group__1 : rule__ContinueStatement__Group__1__Impl rule__ContinueStatement__Group__2 ;
    public final void rule__ContinueStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16506:1: ( rule__ContinueStatement__Group__1__Impl rule__ContinueStatement__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16507:2: rule__ContinueStatement__Group__1__Impl rule__ContinueStatement__Group__2
            {
            pushFollow(FOLLOW_rule__ContinueStatement__Group__1__Impl_in_rule__ContinueStatement__Group__133315);
            rule__ContinueStatement__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ContinueStatement__Group__2_in_rule__ContinueStatement__Group__133318);
            rule__ContinueStatement__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContinueStatement__Group__1"


    // $ANTLR start "rule__ContinueStatement__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16514:1: rule__ContinueStatement__Group__1__Impl : ( 'continue' ) ;
    public final void rule__ContinueStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16518:1: ( ( 'continue' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16519:1: ( 'continue' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16519:1: ( 'continue' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16520:1: 'continue'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getContinueStatementAccess().getContinueKeyword_1()); 
            }
            match(input,84,FOLLOW_84_in_rule__ContinueStatement__Group__1__Impl33346); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getContinueStatementAccess().getContinueKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContinueStatement__Group__1__Impl"


    // $ANTLR start "rule__ContinueStatement__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16533:1: rule__ContinueStatement__Group__2 : rule__ContinueStatement__Group__2__Impl ;
    public final void rule__ContinueStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16537:1: ( rule__ContinueStatement__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16538:2: rule__ContinueStatement__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__ContinueStatement__Group__2__Impl_in_rule__ContinueStatement__Group__233377);
            rule__ContinueStatement__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContinueStatement__Group__2"


    // $ANTLR start "rule__ContinueStatement__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16544:1: rule__ContinueStatement__Group__2__Impl : ( ';' ) ;
    public final void rule__ContinueStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16548:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16549:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16549:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16550:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getContinueStatementAccess().getSemicolonKeyword_2()); 
            }
            match(input,43,FOLLOW_43_in_rule__ContinueStatement__Group__2__Impl33405); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getContinueStatementAccess().getSemicolonKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContinueStatement__Group__2__Impl"


    // $ANTLR start "rule__BreakStatement__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16569:1: rule__BreakStatement__Group__0 : rule__BreakStatement__Group__0__Impl rule__BreakStatement__Group__1 ;
    public final void rule__BreakStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16573:1: ( rule__BreakStatement__Group__0__Impl rule__BreakStatement__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16574:2: rule__BreakStatement__Group__0__Impl rule__BreakStatement__Group__1
            {
            pushFollow(FOLLOW_rule__BreakStatement__Group__0__Impl_in_rule__BreakStatement__Group__033442);
            rule__BreakStatement__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__BreakStatement__Group__1_in_rule__BreakStatement__Group__033445);
            rule__BreakStatement__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BreakStatement__Group__0"


    // $ANTLR start "rule__BreakStatement__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16581:1: rule__BreakStatement__Group__0__Impl : ( () ) ;
    public final void rule__BreakStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16585:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16586:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16586:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16587:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBreakStatementAccess().getBreakStatementAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16588:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16590:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getBreakStatementAccess().getBreakStatementAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BreakStatement__Group__0__Impl"


    // $ANTLR start "rule__BreakStatement__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16600:1: rule__BreakStatement__Group__1 : rule__BreakStatement__Group__1__Impl rule__BreakStatement__Group__2 ;
    public final void rule__BreakStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16604:1: ( rule__BreakStatement__Group__1__Impl rule__BreakStatement__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16605:2: rule__BreakStatement__Group__1__Impl rule__BreakStatement__Group__2
            {
            pushFollow(FOLLOW_rule__BreakStatement__Group__1__Impl_in_rule__BreakStatement__Group__133503);
            rule__BreakStatement__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__BreakStatement__Group__2_in_rule__BreakStatement__Group__133506);
            rule__BreakStatement__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BreakStatement__Group__1"


    // $ANTLR start "rule__BreakStatement__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16612:1: rule__BreakStatement__Group__1__Impl : ( 'break' ) ;
    public final void rule__BreakStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16616:1: ( ( 'break' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16617:1: ( 'break' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16617:1: ( 'break' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16618:1: 'break'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBreakStatementAccess().getBreakKeyword_1()); 
            }
            match(input,85,FOLLOW_85_in_rule__BreakStatement__Group__1__Impl33534); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getBreakStatementAccess().getBreakKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BreakStatement__Group__1__Impl"


    // $ANTLR start "rule__BreakStatement__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16631:1: rule__BreakStatement__Group__2 : rule__BreakStatement__Group__2__Impl ;
    public final void rule__BreakStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16635:1: ( rule__BreakStatement__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16636:2: rule__BreakStatement__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__BreakStatement__Group__2__Impl_in_rule__BreakStatement__Group__233565);
            rule__BreakStatement__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BreakStatement__Group__2"


    // $ANTLR start "rule__BreakStatement__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16642:1: rule__BreakStatement__Group__2__Impl : ( ';' ) ;
    public final void rule__BreakStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16646:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16647:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16647:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16648:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBreakStatementAccess().getSemicolonKeyword_2()); 
            }
            match(input,43,FOLLOW_43_in_rule__BreakStatement__Group__2__Impl33593); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getBreakStatementAccess().getSemicolonKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BreakStatement__Group__2__Impl"


    // $ANTLR start "rule__ReturnStatement__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16667:1: rule__ReturnStatement__Group__0 : rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1 ;
    public final void rule__ReturnStatement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16671:1: ( rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16672:2: rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1
            {
            pushFollow(FOLLOW_rule__ReturnStatement__Group__0__Impl_in_rule__ReturnStatement__Group__033630);
            rule__ReturnStatement__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ReturnStatement__Group__1_in_rule__ReturnStatement__Group__033633);
            rule__ReturnStatement__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnStatement__Group__0"


    // $ANTLR start "rule__ReturnStatement__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16679:1: rule__ReturnStatement__Group__0__Impl : ( 'return' ) ;
    public final void rule__ReturnStatement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16683:1: ( ( 'return' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16684:1: ( 'return' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16684:1: ( 'return' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16685:1: 'return'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); 
            }
            match(input,86,FOLLOW_86_in_rule__ReturnStatement__Group__0__Impl33661); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnStatement__Group__0__Impl"


    // $ANTLR start "rule__ReturnStatement__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16698:1: rule__ReturnStatement__Group__1 : rule__ReturnStatement__Group__1__Impl rule__ReturnStatement__Group__2 ;
    public final void rule__ReturnStatement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16702:1: ( rule__ReturnStatement__Group__1__Impl rule__ReturnStatement__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16703:2: rule__ReturnStatement__Group__1__Impl rule__ReturnStatement__Group__2
            {
            pushFollow(FOLLOW_rule__ReturnStatement__Group__1__Impl_in_rule__ReturnStatement__Group__133692);
            rule__ReturnStatement__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ReturnStatement__Group__2_in_rule__ReturnStatement__Group__133695);
            rule__ReturnStatement__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnStatement__Group__1"


    // $ANTLR start "rule__ReturnStatement__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16710:1: rule__ReturnStatement__Group__1__Impl : ( ( rule__ReturnStatement__ExpressionAssignment_1 ) ) ;
    public final void rule__ReturnStatement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16714:1: ( ( ( rule__ReturnStatement__ExpressionAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16715:1: ( ( rule__ReturnStatement__ExpressionAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16715:1: ( ( rule__ReturnStatement__ExpressionAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16716:1: ( rule__ReturnStatement__ExpressionAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getExpressionAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16717:1: ( rule__ReturnStatement__ExpressionAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16717:2: rule__ReturnStatement__ExpressionAssignment_1
            {
            pushFollow(FOLLOW_rule__ReturnStatement__ExpressionAssignment_1_in_rule__ReturnStatement__Group__1__Impl33722);
            rule__ReturnStatement__ExpressionAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getExpressionAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnStatement__Group__1__Impl"


    // $ANTLR start "rule__ReturnStatement__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16727:1: rule__ReturnStatement__Group__2 : rule__ReturnStatement__Group__2__Impl ;
    public final void rule__ReturnStatement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16731:1: ( rule__ReturnStatement__Group__2__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16732:2: rule__ReturnStatement__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__ReturnStatement__Group__2__Impl_in_rule__ReturnStatement__Group__233752);
            rule__ReturnStatement__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnStatement__Group__2"


    // $ANTLR start "rule__ReturnStatement__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16738:1: rule__ReturnStatement__Group__2__Impl : ( ';' ) ;
    public final void rule__ReturnStatement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16742:1: ( ( ';' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16743:1: ( ';' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16743:1: ( ';' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16744:1: ';'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getSemicolonKeyword_2()); 
            }
            match(input,43,FOLLOW_43_in_rule__ReturnStatement__Group__2__Impl33780); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getSemicolonKeyword_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnStatement__Group__2__Impl"


    // $ANTLR start "rule__Unit__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16763:1: rule__Unit__Group__0 : rule__Unit__Group__0__Impl rule__Unit__Group__1 ;
    public final void rule__Unit__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16767:1: ( rule__Unit__Group__0__Impl rule__Unit__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16768:2: rule__Unit__Group__0__Impl rule__Unit__Group__1
            {
            pushFollow(FOLLOW_rule__Unit__Group__0__Impl_in_rule__Unit__Group__033817);
            rule__Unit__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Unit__Group__1_in_rule__Unit__Group__033820);
            rule__Unit__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group__0"


    // $ANTLR start "rule__Unit__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16775:1: rule__Unit__Group__0__Impl : ( () ) ;
    public final void rule__Unit__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16779:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16780:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16780:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16781:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getUnitAction_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16782:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16784:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getUnitAction_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group__0__Impl"


    // $ANTLR start "rule__Unit__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16794:1: rule__Unit__Group__1 : rule__Unit__Group__1__Impl ;
    public final void rule__Unit__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16798:1: ( rule__Unit__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16799:2: rule__Unit__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Unit__Group__1__Impl_in_rule__Unit__Group__133878);
            rule__Unit__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group__1"


    // $ANTLR start "rule__Unit__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16805:1: rule__Unit__Group__1__Impl : ( ( rule__Unit__Alternatives_1 ) ) ;
    public final void rule__Unit__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16809:1: ( ( ( rule__Unit__Alternatives_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16810:1: ( ( rule__Unit__Alternatives_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16810:1: ( ( rule__Unit__Alternatives_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16811:1: ( rule__Unit__Alternatives_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getAlternatives_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16812:1: ( rule__Unit__Alternatives_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16812:2: rule__Unit__Alternatives_1
            {
            pushFollow(FOLLOW_rule__Unit__Alternatives_1_in_rule__Unit__Group__1__Impl33905);
            rule__Unit__Alternatives_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getAlternatives_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group__1__Impl"


    // $ANTLR start "rule__Unit__Group_1_0__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16826:1: rule__Unit__Group_1_0__0 : rule__Unit__Group_1_0__0__Impl rule__Unit__Group_1_0__1 ;
    public final void rule__Unit__Group_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16830:1: ( rule__Unit__Group_1_0__0__Impl rule__Unit__Group_1_0__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16831:2: rule__Unit__Group_1_0__0__Impl rule__Unit__Group_1_0__1
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_0__0__Impl_in_rule__Unit__Group_1_0__033939);
            rule__Unit__Group_1_0__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Unit__Group_1_0__1_in_rule__Unit__Group_1_0__033942);
            rule__Unit__Group_1_0__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_0__0"


    // $ANTLR start "rule__Unit__Group_1_0__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16838:1: rule__Unit__Group_1_0__0__Impl : ( '(' ) ;
    public final void rule__Unit__Group_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16842:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16843:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16843:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16844:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getLeftParenthesisKeyword_1_0_0()); 
            }
            match(input,47,FOLLOW_47_in_rule__Unit__Group_1_0__0__Impl33970); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getLeftParenthesisKeyword_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_0__0__Impl"


    // $ANTLR start "rule__Unit__Group_1_0__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16857:1: rule__Unit__Group_1_0__1 : rule__Unit__Group_1_0__1__Impl ;
    public final void rule__Unit__Group_1_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16861:1: ( rule__Unit__Group_1_0__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16862:2: rule__Unit__Group_1_0__1__Impl
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_0__1__Impl_in_rule__Unit__Group_1_0__134001);
            rule__Unit__Group_1_0__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_0__1"


    // $ANTLR start "rule__Unit__Group_1_0__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16868:1: rule__Unit__Group_1_0__1__Impl : ( ')' ) ;
    public final void rule__Unit__Group_1_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16872:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16873:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16873:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16874:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getRightParenthesisKeyword_1_0_1()); 
            }
            match(input,48,FOLLOW_48_in_rule__Unit__Group_1_0__1__Impl34029); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getRightParenthesisKeyword_1_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_0__1__Impl"


    // $ANTLR start "rule__Unit__Group_1_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16891:1: rule__Unit__Group_1_1__0 : rule__Unit__Group_1_1__0__Impl rule__Unit__Group_1_1__1 ;
    public final void rule__Unit__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16895:1: ( rule__Unit__Group_1_1__0__Impl rule__Unit__Group_1_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16896:2: rule__Unit__Group_1_1__0__Impl rule__Unit__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_1__0__Impl_in_rule__Unit__Group_1_1__034064);
            rule__Unit__Group_1_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Unit__Group_1_1__1_in_rule__Unit__Group_1_1__034067);
            rule__Unit__Group_1_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__0"


    // $ANTLR start "rule__Unit__Group_1_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16903:1: rule__Unit__Group_1_1__0__Impl : ( '(' ) ;
    public final void rule__Unit__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16907:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16908:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16908:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16909:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getLeftParenthesisKeyword_1_1_0()); 
            }
            match(input,47,FOLLOW_47_in_rule__Unit__Group_1_1__0__Impl34095); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getLeftParenthesisKeyword_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__0__Impl"


    // $ANTLR start "rule__Unit__Group_1_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16922:1: rule__Unit__Group_1_1__1 : rule__Unit__Group_1_1__1__Impl rule__Unit__Group_1_1__2 ;
    public final void rule__Unit__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16926:1: ( rule__Unit__Group_1_1__1__Impl rule__Unit__Group_1_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16927:2: rule__Unit__Group_1_1__1__Impl rule__Unit__Group_1_1__2
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_1__1__Impl_in_rule__Unit__Group_1_1__134126);
            rule__Unit__Group_1_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Unit__Group_1_1__2_in_rule__Unit__Group_1_1__134129);
            rule__Unit__Group_1_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__1"


    // $ANTLR start "rule__Unit__Group_1_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16934:1: rule__Unit__Group_1_1__1__Impl : ( ( rule__Unit__NumeratorAssignment_1_1_1 ) ) ;
    public final void rule__Unit__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16938:1: ( ( ( rule__Unit__NumeratorAssignment_1_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16939:1: ( ( rule__Unit__NumeratorAssignment_1_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16939:1: ( ( rule__Unit__NumeratorAssignment_1_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16940:1: ( rule__Unit__NumeratorAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getNumeratorAssignment_1_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16941:1: ( rule__Unit__NumeratorAssignment_1_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16941:2: rule__Unit__NumeratorAssignment_1_1_1
            {
            pushFollow(FOLLOW_rule__Unit__NumeratorAssignment_1_1_1_in_rule__Unit__Group_1_1__1__Impl34156);
            rule__Unit__NumeratorAssignment_1_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getNumeratorAssignment_1_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__1__Impl"


    // $ANTLR start "rule__Unit__Group_1_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16951:1: rule__Unit__Group_1_1__2 : rule__Unit__Group_1_1__2__Impl rule__Unit__Group_1_1__3 ;
    public final void rule__Unit__Group_1_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16955:1: ( rule__Unit__Group_1_1__2__Impl rule__Unit__Group_1_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16956:2: rule__Unit__Group_1_1__2__Impl rule__Unit__Group_1_1__3
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_1__2__Impl_in_rule__Unit__Group_1_1__234186);
            rule__Unit__Group_1_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Unit__Group_1_1__3_in_rule__Unit__Group_1_1__234189);
            rule__Unit__Group_1_1__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__2"


    // $ANTLR start "rule__Unit__Group_1_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16963:1: rule__Unit__Group_1_1__2__Impl : ( ( rule__Unit__Group_1_1_2__0 )? ) ;
    public final void rule__Unit__Group_1_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16967:1: ( ( ( rule__Unit__Group_1_1_2__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16968:1: ( ( rule__Unit__Group_1_1_2__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16968:1: ( ( rule__Unit__Group_1_1_2__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16969:1: ( rule__Unit__Group_1_1_2__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getGroup_1_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16970:1: ( rule__Unit__Group_1_1_2__0 )?
            int alt102=2;
            int LA102_0 = input.LA(1);

            if ( (LA102_0==31) ) {
                alt102=1;
            }
            switch (alt102) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16970:2: rule__Unit__Group_1_1_2__0
                    {
                    pushFollow(FOLLOW_rule__Unit__Group_1_1_2__0_in_rule__Unit__Group_1_1__2__Impl34216);
                    rule__Unit__Group_1_1_2__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getGroup_1_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__2__Impl"


    // $ANTLR start "rule__Unit__Group_1_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16980:1: rule__Unit__Group_1_1__3 : rule__Unit__Group_1_1__3__Impl ;
    public final void rule__Unit__Group_1_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16984:1: ( rule__Unit__Group_1_1__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16985:2: rule__Unit__Group_1_1__3__Impl
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_1__3__Impl_in_rule__Unit__Group_1_1__334247);
            rule__Unit__Group_1_1__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__3"


    // $ANTLR start "rule__Unit__Group_1_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16991:1: rule__Unit__Group_1_1__3__Impl : ( ')' ) ;
    public final void rule__Unit__Group_1_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16995:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16996:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16996:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:16997:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getRightParenthesisKeyword_1_1_3()); 
            }
            match(input,48,FOLLOW_48_in_rule__Unit__Group_1_1__3__Impl34275); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getRightParenthesisKeyword_1_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1__3__Impl"


    // $ANTLR start "rule__Unit__Group_1_1_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17018:1: rule__Unit__Group_1_1_2__0 : rule__Unit__Group_1_1_2__0__Impl rule__Unit__Group_1_1_2__1 ;
    public final void rule__Unit__Group_1_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17022:1: ( rule__Unit__Group_1_1_2__0__Impl rule__Unit__Group_1_1_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17023:2: rule__Unit__Group_1_1_2__0__Impl rule__Unit__Group_1_1_2__1
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_1_2__0__Impl_in_rule__Unit__Group_1_1_2__034314);
            rule__Unit__Group_1_1_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Unit__Group_1_1_2__1_in_rule__Unit__Group_1_1_2__034317);
            rule__Unit__Group_1_1_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1_2__0"


    // $ANTLR start "rule__Unit__Group_1_1_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17030:1: rule__Unit__Group_1_1_2__0__Impl : ( '/' ) ;
    public final void rule__Unit__Group_1_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17034:1: ( ( '/' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17035:1: ( '/' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17035:1: ( '/' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17036:1: '/'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getSolidusKeyword_1_1_2_0()); 
            }
            match(input,31,FOLLOW_31_in_rule__Unit__Group_1_1_2__0__Impl34345); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getSolidusKeyword_1_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1_2__0__Impl"


    // $ANTLR start "rule__Unit__Group_1_1_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17049:1: rule__Unit__Group_1_1_2__1 : rule__Unit__Group_1_1_2__1__Impl ;
    public final void rule__Unit__Group_1_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17053:1: ( rule__Unit__Group_1_1_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17054:2: rule__Unit__Group_1_1_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Unit__Group_1_1_2__1__Impl_in_rule__Unit__Group_1_1_2__134376);
            rule__Unit__Group_1_1_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1_2__1"


    // $ANTLR start "rule__Unit__Group_1_1_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17060:1: rule__Unit__Group_1_1_2__1__Impl : ( ( rule__Unit__DenominatorAssignment_1_1_2_1 ) ) ;
    public final void rule__Unit__Group_1_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17064:1: ( ( ( rule__Unit__DenominatorAssignment_1_1_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17065:1: ( ( rule__Unit__DenominatorAssignment_1_1_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17065:1: ( ( rule__Unit__DenominatorAssignment_1_1_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17066:1: ( rule__Unit__DenominatorAssignment_1_1_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getDenominatorAssignment_1_1_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17067:1: ( rule__Unit__DenominatorAssignment_1_1_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17067:2: rule__Unit__DenominatorAssignment_1_1_2_1
            {
            pushFollow(FOLLOW_rule__Unit__DenominatorAssignment_1_1_2_1_in_rule__Unit__Group_1_1_2__1__Impl34403);
            rule__Unit__DenominatorAssignment_1_1_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getDenominatorAssignment_1_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__Group_1_1_2__1__Impl"


    // $ANTLR start "rule__ExplicitUnit__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17081:1: rule__ExplicitUnit__Group__0 : rule__ExplicitUnit__Group__0__Impl rule__ExplicitUnit__Group__1 ;
    public final void rule__ExplicitUnit__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17085:1: ( rule__ExplicitUnit__Group__0__Impl rule__ExplicitUnit__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17086:2: rule__ExplicitUnit__Group__0__Impl rule__ExplicitUnit__Group__1
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__0__Impl_in_rule__ExplicitUnit__Group__034437);
            rule__ExplicitUnit__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__1_in_rule__ExplicitUnit__Group__034440);
            rule__ExplicitUnit__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__0"


    // $ANTLR start "rule__ExplicitUnit__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17093:1: rule__ExplicitUnit__Group__0__Impl : ( '(' ) ;
    public final void rule__ExplicitUnit__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17097:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17098:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17098:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17099:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getLeftParenthesisKeyword_0()); 
            }
            match(input,47,FOLLOW_47_in_rule__ExplicitUnit__Group__0__Impl34468); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getLeftParenthesisKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__0__Impl"


    // $ANTLR start "rule__ExplicitUnit__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17112:1: rule__ExplicitUnit__Group__1 : rule__ExplicitUnit__Group__1__Impl rule__ExplicitUnit__Group__2 ;
    public final void rule__ExplicitUnit__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17116:1: ( rule__ExplicitUnit__Group__1__Impl rule__ExplicitUnit__Group__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17117:2: rule__ExplicitUnit__Group__1__Impl rule__ExplicitUnit__Group__2
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__1__Impl_in_rule__ExplicitUnit__Group__134499);
            rule__ExplicitUnit__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__2_in_rule__ExplicitUnit__Group__134502);
            rule__ExplicitUnit__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__1"


    // $ANTLR start "rule__ExplicitUnit__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17124:1: rule__ExplicitUnit__Group__1__Impl : ( ( rule__ExplicitUnit__NumeratorAssignment_1 ) ) ;
    public final void rule__ExplicitUnit__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17128:1: ( ( ( rule__ExplicitUnit__NumeratorAssignment_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17129:1: ( ( rule__ExplicitUnit__NumeratorAssignment_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17129:1: ( ( rule__ExplicitUnit__NumeratorAssignment_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17130:1: ( rule__ExplicitUnit__NumeratorAssignment_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getNumeratorAssignment_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17131:1: ( rule__ExplicitUnit__NumeratorAssignment_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17131:2: rule__ExplicitUnit__NumeratorAssignment_1
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__NumeratorAssignment_1_in_rule__ExplicitUnit__Group__1__Impl34529);
            rule__ExplicitUnit__NumeratorAssignment_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getNumeratorAssignment_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__1__Impl"


    // $ANTLR start "rule__ExplicitUnit__Group__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17141:1: rule__ExplicitUnit__Group__2 : rule__ExplicitUnit__Group__2__Impl rule__ExplicitUnit__Group__3 ;
    public final void rule__ExplicitUnit__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17145:1: ( rule__ExplicitUnit__Group__2__Impl rule__ExplicitUnit__Group__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17146:2: rule__ExplicitUnit__Group__2__Impl rule__ExplicitUnit__Group__3
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__2__Impl_in_rule__ExplicitUnit__Group__234559);
            rule__ExplicitUnit__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__3_in_rule__ExplicitUnit__Group__234562);
            rule__ExplicitUnit__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__2"


    // $ANTLR start "rule__ExplicitUnit__Group__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17153:1: rule__ExplicitUnit__Group__2__Impl : ( ( rule__ExplicitUnit__Group_2__0 )? ) ;
    public final void rule__ExplicitUnit__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17157:1: ( ( ( rule__ExplicitUnit__Group_2__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17158:1: ( ( rule__ExplicitUnit__Group_2__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17158:1: ( ( rule__ExplicitUnit__Group_2__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17159:1: ( rule__ExplicitUnit__Group_2__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getGroup_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17160:1: ( rule__ExplicitUnit__Group_2__0 )?
            int alt103=2;
            int LA103_0 = input.LA(1);

            if ( (LA103_0==31) ) {
                alt103=1;
            }
            switch (alt103) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17160:2: rule__ExplicitUnit__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__ExplicitUnit__Group_2__0_in_rule__ExplicitUnit__Group__2__Impl34589);
                    rule__ExplicitUnit__Group_2__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getGroup_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__2__Impl"


    // $ANTLR start "rule__ExplicitUnit__Group__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17170:1: rule__ExplicitUnit__Group__3 : rule__ExplicitUnit__Group__3__Impl ;
    public final void rule__ExplicitUnit__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17174:1: ( rule__ExplicitUnit__Group__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17175:2: rule__ExplicitUnit__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__Group__3__Impl_in_rule__ExplicitUnit__Group__334620);
            rule__ExplicitUnit__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__3"


    // $ANTLR start "rule__ExplicitUnit__Group__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17181:1: rule__ExplicitUnit__Group__3__Impl : ( ')' ) ;
    public final void rule__ExplicitUnit__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17185:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17186:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17186:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17187:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getRightParenthesisKeyword_3()); 
            }
            match(input,48,FOLLOW_48_in_rule__ExplicitUnit__Group__3__Impl34648); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getRightParenthesisKeyword_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group__3__Impl"


    // $ANTLR start "rule__ExplicitUnit__Group_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17208:1: rule__ExplicitUnit__Group_2__0 : rule__ExplicitUnit__Group_2__0__Impl rule__ExplicitUnit__Group_2__1 ;
    public final void rule__ExplicitUnit__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17212:1: ( rule__ExplicitUnit__Group_2__0__Impl rule__ExplicitUnit__Group_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17213:2: rule__ExplicitUnit__Group_2__0__Impl rule__ExplicitUnit__Group_2__1
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__Group_2__0__Impl_in_rule__ExplicitUnit__Group_2__034687);
            rule__ExplicitUnit__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__ExplicitUnit__Group_2__1_in_rule__ExplicitUnit__Group_2__034690);
            rule__ExplicitUnit__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group_2__0"


    // $ANTLR start "rule__ExplicitUnit__Group_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17220:1: rule__ExplicitUnit__Group_2__0__Impl : ( '/' ) ;
    public final void rule__ExplicitUnit__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17224:1: ( ( '/' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17225:1: ( '/' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17225:1: ( '/' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17226:1: '/'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getSolidusKeyword_2_0()); 
            }
            match(input,31,FOLLOW_31_in_rule__ExplicitUnit__Group_2__0__Impl34718); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getSolidusKeyword_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group_2__0__Impl"


    // $ANTLR start "rule__ExplicitUnit__Group_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17239:1: rule__ExplicitUnit__Group_2__1 : rule__ExplicitUnit__Group_2__1__Impl ;
    public final void rule__ExplicitUnit__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17243:1: ( rule__ExplicitUnit__Group_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17244:2: rule__ExplicitUnit__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__Group_2__1__Impl_in_rule__ExplicitUnit__Group_2__134749);
            rule__ExplicitUnit__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group_2__1"


    // $ANTLR start "rule__ExplicitUnit__Group_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17250:1: rule__ExplicitUnit__Group_2__1__Impl : ( ( rule__ExplicitUnit__DenominatorAssignment_2_1 ) ) ;
    public final void rule__ExplicitUnit__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17254:1: ( ( ( rule__ExplicitUnit__DenominatorAssignment_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17255:1: ( ( rule__ExplicitUnit__DenominatorAssignment_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17255:1: ( ( rule__ExplicitUnit__DenominatorAssignment_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17256:1: ( rule__ExplicitUnit__DenominatorAssignment_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getDenominatorAssignment_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17257:1: ( rule__ExplicitUnit__DenominatorAssignment_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17257:2: rule__ExplicitUnit__DenominatorAssignment_2_1
            {
            pushFollow(FOLLOW_rule__ExplicitUnit__DenominatorAssignment_2_1_in_rule__ExplicitUnit__Group_2__1__Impl34776);
            rule__ExplicitUnit__DenominatorAssignment_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getDenominatorAssignment_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__Group_2__1__Impl"


    // $ANTLR start "rule__UnitNumerator__Group_0__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17271:1: rule__UnitNumerator__Group_0__0 : rule__UnitNumerator__Group_0__0__Impl rule__UnitNumerator__Group_0__1 ;
    public final void rule__UnitNumerator__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17275:1: ( rule__UnitNumerator__Group_0__0__Impl rule__UnitNumerator__Group_0__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17276:2: rule__UnitNumerator__Group_0__0__Impl rule__UnitNumerator__Group_0__1
            {
            pushFollow(FOLLOW_rule__UnitNumerator__Group_0__0__Impl_in_rule__UnitNumerator__Group_0__034810);
            rule__UnitNumerator__Group_0__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitNumerator__Group_0__1_in_rule__UnitNumerator__Group_0__034813);
            rule__UnitNumerator__Group_0__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_0__0"


    // $ANTLR start "rule__UnitNumerator__Group_0__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17283:1: rule__UnitNumerator__Group_0__0__Impl : ( () ) ;
    public final void rule__UnitNumerator__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17287:1: ( ( () ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17288:1: ( () )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17288:1: ( () )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17289:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getUnitNumeratorAction_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17290:1: ()
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17292:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getUnitNumeratorAction_0_0()); 
            }

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_0__0__Impl"


    // $ANTLR start "rule__UnitNumerator__Group_0__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17302:1: rule__UnitNumerator__Group_0__1 : rule__UnitNumerator__Group_0__1__Impl ;
    public final void rule__UnitNumerator__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17306:1: ( rule__UnitNumerator__Group_0__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17307:2: rule__UnitNumerator__Group_0__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitNumerator__Group_0__1__Impl_in_rule__UnitNumerator__Group_0__134871);
            rule__UnitNumerator__Group_0__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_0__1"


    // $ANTLR start "rule__UnitNumerator__Group_0__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17313:1: rule__UnitNumerator__Group_0__1__Impl : ( RULE_ONE ) ;
    public final void rule__UnitNumerator__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17317:1: ( ( RULE_ONE ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17318:1: ( RULE_ONE )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17318:1: ( RULE_ONE )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17319:1: RULE_ONE
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getONETerminalRuleCall_0_1()); 
            }
            match(input,RULE_ONE,FOLLOW_RULE_ONE_in_rule__UnitNumerator__Group_0__1__Impl34898); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getONETerminalRuleCall_0_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_0__1__Impl"


    // $ANTLR start "rule__UnitNumerator__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17334:1: rule__UnitNumerator__Group_1__0 : rule__UnitNumerator__Group_1__0__Impl rule__UnitNumerator__Group_1__1 ;
    public final void rule__UnitNumerator__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17338:1: ( rule__UnitNumerator__Group_1__0__Impl rule__UnitNumerator__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17339:2: rule__UnitNumerator__Group_1__0__Impl rule__UnitNumerator__Group_1__1
            {
            pushFollow(FOLLOW_rule__UnitNumerator__Group_1__0__Impl_in_rule__UnitNumerator__Group_1__034931);
            rule__UnitNumerator__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitNumerator__Group_1__1_in_rule__UnitNumerator__Group_1__034934);
            rule__UnitNumerator__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1__0"


    // $ANTLR start "rule__UnitNumerator__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17346:1: rule__UnitNumerator__Group_1__0__Impl : ( ( rule__UnitNumerator__FactorsAssignment_1_0 ) ) ;
    public final void rule__UnitNumerator__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17350:1: ( ( ( rule__UnitNumerator__FactorsAssignment_1_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17351:1: ( ( rule__UnitNumerator__FactorsAssignment_1_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17351:1: ( ( rule__UnitNumerator__FactorsAssignment_1_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17352:1: ( rule__UnitNumerator__FactorsAssignment_1_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getFactorsAssignment_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17353:1: ( rule__UnitNumerator__FactorsAssignment_1_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17353:2: rule__UnitNumerator__FactorsAssignment_1_0
            {
            pushFollow(FOLLOW_rule__UnitNumerator__FactorsAssignment_1_0_in_rule__UnitNumerator__Group_1__0__Impl34961);
            rule__UnitNumerator__FactorsAssignment_1_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getFactorsAssignment_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1__0__Impl"


    // $ANTLR start "rule__UnitNumerator__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17363:1: rule__UnitNumerator__Group_1__1 : rule__UnitNumerator__Group_1__1__Impl ;
    public final void rule__UnitNumerator__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17367:1: ( rule__UnitNumerator__Group_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17368:2: rule__UnitNumerator__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitNumerator__Group_1__1__Impl_in_rule__UnitNumerator__Group_1__134991);
            rule__UnitNumerator__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1__1"


    // $ANTLR start "rule__UnitNumerator__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17374:1: rule__UnitNumerator__Group_1__1__Impl : ( ( rule__UnitNumerator__Group_1_1__0 )* ) ;
    public final void rule__UnitNumerator__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17378:1: ( ( ( rule__UnitNumerator__Group_1_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17379:1: ( ( rule__UnitNumerator__Group_1_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17379:1: ( ( rule__UnitNumerator__Group_1_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17380:1: ( rule__UnitNumerator__Group_1_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getGroup_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17381:1: ( rule__UnitNumerator__Group_1_1__0 )*
            loop104:
            do {
                int alt104=2;
                int LA104_0 = input.LA(1);

                if ( (LA104_0==30) ) {
                    alt104=1;
                }


                switch (alt104) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17381:2: rule__UnitNumerator__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_rule__UnitNumerator__Group_1_1__0_in_rule__UnitNumerator__Group_1__1__Impl35018);
            	    rule__UnitNumerator__Group_1_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop104;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getGroup_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1__1__Impl"


    // $ANTLR start "rule__UnitNumerator__Group_1_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17395:1: rule__UnitNumerator__Group_1_1__0 : rule__UnitNumerator__Group_1_1__0__Impl rule__UnitNumerator__Group_1_1__1 ;
    public final void rule__UnitNumerator__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17399:1: ( rule__UnitNumerator__Group_1_1__0__Impl rule__UnitNumerator__Group_1_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17400:2: rule__UnitNumerator__Group_1_1__0__Impl rule__UnitNumerator__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__UnitNumerator__Group_1_1__0__Impl_in_rule__UnitNumerator__Group_1_1__035053);
            rule__UnitNumerator__Group_1_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitNumerator__Group_1_1__1_in_rule__UnitNumerator__Group_1_1__035056);
            rule__UnitNumerator__Group_1_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1_1__0"


    // $ANTLR start "rule__UnitNumerator__Group_1_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17407:1: rule__UnitNumerator__Group_1_1__0__Impl : ( '*' ) ;
    public final void rule__UnitNumerator__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17411:1: ( ( '*' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17412:1: ( '*' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17412:1: ( '*' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17413:1: '*'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getAsteriskKeyword_1_1_0()); 
            }
            match(input,30,FOLLOW_30_in_rule__UnitNumerator__Group_1_1__0__Impl35084); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getAsteriskKeyword_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1_1__0__Impl"


    // $ANTLR start "rule__UnitNumerator__Group_1_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17426:1: rule__UnitNumerator__Group_1_1__1 : rule__UnitNumerator__Group_1_1__1__Impl ;
    public final void rule__UnitNumerator__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17430:1: ( rule__UnitNumerator__Group_1_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17431:2: rule__UnitNumerator__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitNumerator__Group_1_1__1__Impl_in_rule__UnitNumerator__Group_1_1__135115);
            rule__UnitNumerator__Group_1_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1_1__1"


    // $ANTLR start "rule__UnitNumerator__Group_1_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17437:1: rule__UnitNumerator__Group_1_1__1__Impl : ( ( rule__UnitNumerator__FactorsAssignment_1_1_1 ) ) ;
    public final void rule__UnitNumerator__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17441:1: ( ( ( rule__UnitNumerator__FactorsAssignment_1_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17442:1: ( ( rule__UnitNumerator__FactorsAssignment_1_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17442:1: ( ( rule__UnitNumerator__FactorsAssignment_1_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17443:1: ( rule__UnitNumerator__FactorsAssignment_1_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getFactorsAssignment_1_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17444:1: ( rule__UnitNumerator__FactorsAssignment_1_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17444:2: rule__UnitNumerator__FactorsAssignment_1_1_1
            {
            pushFollow(FOLLOW_rule__UnitNumerator__FactorsAssignment_1_1_1_in_rule__UnitNumerator__Group_1_1__1__Impl35142);
            rule__UnitNumerator__FactorsAssignment_1_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getFactorsAssignment_1_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__Group_1_1__1__Impl"


    // $ANTLR start "rule__UnitDenominator__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17458:1: rule__UnitDenominator__Group_1__0 : rule__UnitDenominator__Group_1__0__Impl rule__UnitDenominator__Group_1__1 ;
    public final void rule__UnitDenominator__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17462:1: ( rule__UnitDenominator__Group_1__0__Impl rule__UnitDenominator__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17463:2: rule__UnitDenominator__Group_1__0__Impl rule__UnitDenominator__Group_1__1
            {
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1__0__Impl_in_rule__UnitDenominator__Group_1__035176);
            rule__UnitDenominator__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1__1_in_rule__UnitDenominator__Group_1__035179);
            rule__UnitDenominator__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__0"


    // $ANTLR start "rule__UnitDenominator__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17470:1: rule__UnitDenominator__Group_1__0__Impl : ( '(' ) ;
    public final void rule__UnitDenominator__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17474:1: ( ( '(' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17475:1: ( '(' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17475:1: ( '(' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17476:1: '('
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getLeftParenthesisKeyword_1_0()); 
            }
            match(input,47,FOLLOW_47_in_rule__UnitDenominator__Group_1__0__Impl35207); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getLeftParenthesisKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__0__Impl"


    // $ANTLR start "rule__UnitDenominator__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17489:1: rule__UnitDenominator__Group_1__1 : rule__UnitDenominator__Group_1__1__Impl rule__UnitDenominator__Group_1__2 ;
    public final void rule__UnitDenominator__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17493:1: ( rule__UnitDenominator__Group_1__1__Impl rule__UnitDenominator__Group_1__2 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17494:2: rule__UnitDenominator__Group_1__1__Impl rule__UnitDenominator__Group_1__2
            {
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1__1__Impl_in_rule__UnitDenominator__Group_1__135238);
            rule__UnitDenominator__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1__2_in_rule__UnitDenominator__Group_1__135241);
            rule__UnitDenominator__Group_1__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__1"


    // $ANTLR start "rule__UnitDenominator__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17501:1: rule__UnitDenominator__Group_1__1__Impl : ( ( rule__UnitDenominator__FactorsAssignment_1_1 ) ) ;
    public final void rule__UnitDenominator__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17505:1: ( ( ( rule__UnitDenominator__FactorsAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17506:1: ( ( rule__UnitDenominator__FactorsAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17506:1: ( ( rule__UnitDenominator__FactorsAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17507:1: ( rule__UnitDenominator__FactorsAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getFactorsAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17508:1: ( rule__UnitDenominator__FactorsAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17508:2: rule__UnitDenominator__FactorsAssignment_1_1
            {
            pushFollow(FOLLOW_rule__UnitDenominator__FactorsAssignment_1_1_in_rule__UnitDenominator__Group_1__1__Impl35268);
            rule__UnitDenominator__FactorsAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getFactorsAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__1__Impl"


    // $ANTLR start "rule__UnitDenominator__Group_1__2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17518:1: rule__UnitDenominator__Group_1__2 : rule__UnitDenominator__Group_1__2__Impl rule__UnitDenominator__Group_1__3 ;
    public final void rule__UnitDenominator__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17522:1: ( rule__UnitDenominator__Group_1__2__Impl rule__UnitDenominator__Group_1__3 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17523:2: rule__UnitDenominator__Group_1__2__Impl rule__UnitDenominator__Group_1__3
            {
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1__2__Impl_in_rule__UnitDenominator__Group_1__235298);
            rule__UnitDenominator__Group_1__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1__3_in_rule__UnitDenominator__Group_1__235301);
            rule__UnitDenominator__Group_1__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__2"


    // $ANTLR start "rule__UnitDenominator__Group_1__2__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17530:1: rule__UnitDenominator__Group_1__2__Impl : ( ( rule__UnitDenominator__Group_1_2__0 )* ) ;
    public final void rule__UnitDenominator__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17534:1: ( ( ( rule__UnitDenominator__Group_1_2__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17535:1: ( ( rule__UnitDenominator__Group_1_2__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17535:1: ( ( rule__UnitDenominator__Group_1_2__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17536:1: ( rule__UnitDenominator__Group_1_2__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getGroup_1_2()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17537:1: ( rule__UnitDenominator__Group_1_2__0 )*
            loop105:
            do {
                int alt105=2;
                int LA105_0 = input.LA(1);

                if ( (LA105_0==30) ) {
                    alt105=1;
                }


                switch (alt105) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17537:2: rule__UnitDenominator__Group_1_2__0
            	    {
            	    pushFollow(FOLLOW_rule__UnitDenominator__Group_1_2__0_in_rule__UnitDenominator__Group_1__2__Impl35328);
            	    rule__UnitDenominator__Group_1_2__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop105;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getGroup_1_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__2__Impl"


    // $ANTLR start "rule__UnitDenominator__Group_1__3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17547:1: rule__UnitDenominator__Group_1__3 : rule__UnitDenominator__Group_1__3__Impl ;
    public final void rule__UnitDenominator__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17551:1: ( rule__UnitDenominator__Group_1__3__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17552:2: rule__UnitDenominator__Group_1__3__Impl
            {
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1__3__Impl_in_rule__UnitDenominator__Group_1__335359);
            rule__UnitDenominator__Group_1__3__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__3"


    // $ANTLR start "rule__UnitDenominator__Group_1__3__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17558:1: rule__UnitDenominator__Group_1__3__Impl : ( ')' ) ;
    public final void rule__UnitDenominator__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17562:1: ( ( ')' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17563:1: ( ')' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17563:1: ( ')' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17564:1: ')'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getRightParenthesisKeyword_1_3()); 
            }
            match(input,48,FOLLOW_48_in_rule__UnitDenominator__Group_1__3__Impl35387); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getRightParenthesisKeyword_1_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1__3__Impl"


    // $ANTLR start "rule__UnitDenominator__Group_1_2__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17585:1: rule__UnitDenominator__Group_1_2__0 : rule__UnitDenominator__Group_1_2__0__Impl rule__UnitDenominator__Group_1_2__1 ;
    public final void rule__UnitDenominator__Group_1_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17589:1: ( rule__UnitDenominator__Group_1_2__0__Impl rule__UnitDenominator__Group_1_2__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17590:2: rule__UnitDenominator__Group_1_2__0__Impl rule__UnitDenominator__Group_1_2__1
            {
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1_2__0__Impl_in_rule__UnitDenominator__Group_1_2__035426);
            rule__UnitDenominator__Group_1_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1_2__1_in_rule__UnitDenominator__Group_1_2__035429);
            rule__UnitDenominator__Group_1_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1_2__0"


    // $ANTLR start "rule__UnitDenominator__Group_1_2__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17597:1: rule__UnitDenominator__Group_1_2__0__Impl : ( '*' ) ;
    public final void rule__UnitDenominator__Group_1_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17601:1: ( ( '*' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17602:1: ( '*' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17602:1: ( '*' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17603:1: '*'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getAsteriskKeyword_1_2_0()); 
            }
            match(input,30,FOLLOW_30_in_rule__UnitDenominator__Group_1_2__0__Impl35457); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getAsteriskKeyword_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1_2__0__Impl"


    // $ANTLR start "rule__UnitDenominator__Group_1_2__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17616:1: rule__UnitDenominator__Group_1_2__1 : rule__UnitDenominator__Group_1_2__1__Impl ;
    public final void rule__UnitDenominator__Group_1_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17620:1: ( rule__UnitDenominator__Group_1_2__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17621:2: rule__UnitDenominator__Group_1_2__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitDenominator__Group_1_2__1__Impl_in_rule__UnitDenominator__Group_1_2__135488);
            rule__UnitDenominator__Group_1_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1_2__1"


    // $ANTLR start "rule__UnitDenominator__Group_1_2__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17627:1: rule__UnitDenominator__Group_1_2__1__Impl : ( ( rule__UnitDenominator__FactorsAssignment_1_2_1 ) ) ;
    public final void rule__UnitDenominator__Group_1_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17631:1: ( ( ( rule__UnitDenominator__FactorsAssignment_1_2_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17632:1: ( ( rule__UnitDenominator__FactorsAssignment_1_2_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17632:1: ( ( rule__UnitDenominator__FactorsAssignment_1_2_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17633:1: ( rule__UnitDenominator__FactorsAssignment_1_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getFactorsAssignment_1_2_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17634:1: ( rule__UnitDenominator__FactorsAssignment_1_2_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17634:2: rule__UnitDenominator__FactorsAssignment_1_2_1
            {
            pushFollow(FOLLOW_rule__UnitDenominator__FactorsAssignment_1_2_1_in_rule__UnitDenominator__Group_1_2__1__Impl35515);
            rule__UnitDenominator__FactorsAssignment_1_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getFactorsAssignment_1_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__Group_1_2__1__Impl"


    // $ANTLR start "rule__UnitFactor__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17648:1: rule__UnitFactor__Group__0 : rule__UnitFactor__Group__0__Impl rule__UnitFactor__Group__1 ;
    public final void rule__UnitFactor__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17652:1: ( rule__UnitFactor__Group__0__Impl rule__UnitFactor__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17653:2: rule__UnitFactor__Group__0__Impl rule__UnitFactor__Group__1
            {
            pushFollow(FOLLOW_rule__UnitFactor__Group__0__Impl_in_rule__UnitFactor__Group__035549);
            rule__UnitFactor__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitFactor__Group__1_in_rule__UnitFactor__Group__035552);
            rule__UnitFactor__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group__0"


    // $ANTLR start "rule__UnitFactor__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17660:1: rule__UnitFactor__Group__0__Impl : ( ( rule__UnitFactor__SymbolAssignment_0 ) ) ;
    public final void rule__UnitFactor__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17664:1: ( ( ( rule__UnitFactor__SymbolAssignment_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17665:1: ( ( rule__UnitFactor__SymbolAssignment_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17665:1: ( ( rule__UnitFactor__SymbolAssignment_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17666:1: ( rule__UnitFactor__SymbolAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorAccess().getSymbolAssignment_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17667:1: ( rule__UnitFactor__SymbolAssignment_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17667:2: rule__UnitFactor__SymbolAssignment_0
            {
            pushFollow(FOLLOW_rule__UnitFactor__SymbolAssignment_0_in_rule__UnitFactor__Group__0__Impl35579);
            rule__UnitFactor__SymbolAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitFactorAccess().getSymbolAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group__0__Impl"


    // $ANTLR start "rule__UnitFactor__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17677:1: rule__UnitFactor__Group__1 : rule__UnitFactor__Group__1__Impl ;
    public final void rule__UnitFactor__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17681:1: ( rule__UnitFactor__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17682:2: rule__UnitFactor__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitFactor__Group__1__Impl_in_rule__UnitFactor__Group__135609);
            rule__UnitFactor__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group__1"


    // $ANTLR start "rule__UnitFactor__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17688:1: rule__UnitFactor__Group__1__Impl : ( ( rule__UnitFactor__Group_1__0 )? ) ;
    public final void rule__UnitFactor__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17692:1: ( ( ( rule__UnitFactor__Group_1__0 )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17693:1: ( ( rule__UnitFactor__Group_1__0 )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17693:1: ( ( rule__UnitFactor__Group_1__0 )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17694:1: ( rule__UnitFactor__Group_1__0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17695:1: ( rule__UnitFactor__Group_1__0 )?
            int alt106=2;
            int LA106_0 = input.LA(1);

            if ( (LA106_0==34) ) {
                alt106=1;
            }
            switch (alt106) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17695:2: rule__UnitFactor__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__UnitFactor__Group_1__0_in_rule__UnitFactor__Group__1__Impl35636);
                    rule__UnitFactor__Group_1__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitFactorAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group__1__Impl"


    // $ANTLR start "rule__UnitFactor__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17709:1: rule__UnitFactor__Group_1__0 : rule__UnitFactor__Group_1__0__Impl rule__UnitFactor__Group_1__1 ;
    public final void rule__UnitFactor__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17713:1: ( rule__UnitFactor__Group_1__0__Impl rule__UnitFactor__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17714:2: rule__UnitFactor__Group_1__0__Impl rule__UnitFactor__Group_1__1
            {
            pushFollow(FOLLOW_rule__UnitFactor__Group_1__0__Impl_in_rule__UnitFactor__Group_1__035671);
            rule__UnitFactor__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitFactor__Group_1__1_in_rule__UnitFactor__Group_1__035674);
            rule__UnitFactor__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group_1__0"


    // $ANTLR start "rule__UnitFactor__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17721:1: rule__UnitFactor__Group_1__0__Impl : ( '^' ) ;
    public final void rule__UnitFactor__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17725:1: ( ( '^' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17726:1: ( '^' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17726:1: ( '^' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17727:1: '^'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorAccess().getCircumflexAccentKeyword_1_0()); 
            }
            match(input,34,FOLLOW_34_in_rule__UnitFactor__Group_1__0__Impl35702); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitFactorAccess().getCircumflexAccentKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group_1__0__Impl"


    // $ANTLR start "rule__UnitFactor__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17740:1: rule__UnitFactor__Group_1__1 : rule__UnitFactor__Group_1__1__Impl ;
    public final void rule__UnitFactor__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17744:1: ( rule__UnitFactor__Group_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17745:2: rule__UnitFactor__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitFactor__Group_1__1__Impl_in_rule__UnitFactor__Group_1__135733);
            rule__UnitFactor__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group_1__1"


    // $ANTLR start "rule__UnitFactor__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17751:1: rule__UnitFactor__Group_1__1__Impl : ( ( rule__UnitFactor__ExponentAssignment_1_1 ) ) ;
    public final void rule__UnitFactor__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17755:1: ( ( ( rule__UnitFactor__ExponentAssignment_1_1 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17756:1: ( ( rule__UnitFactor__ExponentAssignment_1_1 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17756:1: ( ( rule__UnitFactor__ExponentAssignment_1_1 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17757:1: ( rule__UnitFactor__ExponentAssignment_1_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorAccess().getExponentAssignment_1_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17758:1: ( rule__UnitFactor__ExponentAssignment_1_1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17758:2: rule__UnitFactor__ExponentAssignment_1_1
            {
            pushFollow(FOLLOW_rule__UnitFactor__ExponentAssignment_1_1_in_rule__UnitFactor__Group_1__1__Impl35760);
            rule__UnitFactor__ExponentAssignment_1_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitFactorAccess().getExponentAssignment_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__Group_1__1__Impl"


    // $ANTLR start "rule__UnitExponent__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17772:1: rule__UnitExponent__Group__0 : rule__UnitExponent__Group__0__Impl rule__UnitExponent__Group__1 ;
    public final void rule__UnitExponent__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17776:1: ( rule__UnitExponent__Group__0__Impl rule__UnitExponent__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17777:2: rule__UnitExponent__Group__0__Impl rule__UnitExponent__Group__1
            {
            pushFollow(FOLLOW_rule__UnitExponent__Group__0__Impl_in_rule__UnitExponent__Group__035794);
            rule__UnitExponent__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__UnitExponent__Group__1_in_rule__UnitExponent__Group__035797);
            rule__UnitExponent__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitExponent__Group__0"


    // $ANTLR start "rule__UnitExponent__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17784:1: rule__UnitExponent__Group__0__Impl : ( ( '-' )? ) ;
    public final void rule__UnitExponent__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17788:1: ( ( ( '-' )? ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17789:1: ( ( '-' )? )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17789:1: ( ( '-' )? )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17790:1: ( '-' )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitExponentAccess().getHyphenMinusKeyword_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17791:1: ( '-' )?
            int alt107=2;
            int LA107_0 = input.LA(1);

            if ( (LA107_0==29) ) {
                alt107=1;
            }
            switch (alt107) {
                case 1 :
                    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17792:2: '-'
                    {
                    match(input,29,FOLLOW_29_in_rule__UnitExponent__Group__0__Impl35826); if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitExponentAccess().getHyphenMinusKeyword_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitExponent__Group__0__Impl"


    // $ANTLR start "rule__UnitExponent__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17803:1: rule__UnitExponent__Group__1 : rule__UnitExponent__Group__1__Impl ;
    public final void rule__UnitExponent__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17807:1: ( rule__UnitExponent__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17808:2: rule__UnitExponent__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__UnitExponent__Group__1__Impl_in_rule__UnitExponent__Group__135859);
            rule__UnitExponent__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitExponent__Group__1"


    // $ANTLR start "rule__UnitExponent__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17814:1: rule__UnitExponent__Group__1__Impl : ( ruleValidInt ) ;
    public final void rule__UnitExponent__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17818:1: ( ( ruleValidInt ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17819:1: ( ruleValidInt )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17819:1: ( ruleValidInt )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17820:1: ruleValidInt
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitExponentAccess().getValidIntParserRuleCall_1()); 
            }
            pushFollow(FOLLOW_ruleValidInt_in_rule__UnitExponent__Group__1__Impl35886);
            ruleValidInt();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitExponentAccess().getValidIntParserRuleCall_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitExponent__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17835:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
    public final void rule__QualifiedName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17839:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17840:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__035919);
            rule__QualifiedName__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__035922);
            rule__QualifiedName__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0"


    // $ANTLR start "rule__QualifiedName__Group__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17847:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17851:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17852:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17852:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17853:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__QualifiedName__Group__0__Impl35949);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17864:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17868:1: ( rule__QualifiedName__Group__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17869:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__135978);
            rule__QualifiedName__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1"


    // $ANTLR start "rule__QualifiedName__Group__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17875:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17879:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17880:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17880:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17881:1: ( rule__QualifiedName__Group_1__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17882:1: ( rule__QualifiedName__Group_1__0 )*
            loop108:
            do {
                int alt108=2;
                int LA108_0 = input.LA(1);

                if ( (LA108_0==87) ) {
                    alt108=1;
                }


                switch (alt108) {
            	case 1 :
            	    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17882:2: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl36005);
            	    rule__QualifiedName__Group_1__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop108;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17896:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17900:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17901:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__036040);
            rule__QualifiedName__Group_1__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__036043);
            rule__QualifiedName__Group_1__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0"


    // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17908:1: rule__QualifiedName__Group_1__0__Impl : ( '::' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17912:1: ( ( '::' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17913:1: ( '::' )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17913:1: ( '::' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17914:1: '::'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); 
            }
            match(input,87,FOLLOW_87_in_rule__QualifiedName__Group_1__0__Impl36071); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17927:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17931:1: ( rule__QualifiedName__Group_1__1__Impl )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17932:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__136102);
            rule__QualifiedName__Group_1__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1"


    // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17938:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17942:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17943:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17943:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17944:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__QualifiedName__Group_1__1__Impl36129);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"


    // $ANTLR start "rule__Module__DefinitionsAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17960:1: rule__Module__DefinitionsAssignment : ( ruleDefinition ) ;
    public final void rule__Module__DefinitionsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17964:1: ( ( ruleDefinition ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17965:1: ( ruleDefinition )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17965:1: ( ruleDefinition )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17966:1: ruleDefinition
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getModuleAccess().getDefinitionsDefinitionParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleDefinition_in_rule__Module__DefinitionsAssignment36167);
            ruleDefinition();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getModuleAccess().getDefinitionsDefinitionParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Module__DefinitionsAssignment"


    // $ANTLR start "rule__EnumerationDefinition__NameAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17975:1: rule__EnumerationDefinition__NameAssignment_1 : ( ruleValidID ) ;
    public final void rule__EnumerationDefinition__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17979:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17980:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17980:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17981:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getNameValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__EnumerationDefinition__NameAssignment_136198);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getNameValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__NameAssignment_1"


    // $ANTLR start "rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17990:1: rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0 : ( ruleEnumerationLiteralDeclaration ) ;
    public final void rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17994:1: ( ( ruleEnumerationLiteralDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17995:1: ( ruleEnumerationLiteralDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17995:1: ( ruleEnumerationLiteralDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:17996:1: ruleEnumerationLiteralDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsEnumerationLiteralDeclarationParserRuleCall_3_0_0()); 
            }
            pushFollow(FOLLOW_ruleEnumerationLiteralDeclaration_in_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_036229);
            ruleEnumerationLiteralDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsEnumerationLiteralDeclarationParserRuleCall_3_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0"


    // $ANTLR start "rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18005:1: rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1 : ( ruleEnumerationLiteralDeclaration ) ;
    public final void rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18009:1: ( ( ruleEnumerationLiteralDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18010:1: ( ruleEnumerationLiteralDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18010:1: ( ruleEnumerationLiteralDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18011:1: ruleEnumerationLiteralDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsEnumerationLiteralDeclarationParserRuleCall_3_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleEnumerationLiteralDeclaration_in_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_136260);
            ruleEnumerationLiteralDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationDefinitionAccess().getLiteralDeclarationsEnumerationLiteralDeclarationParserRuleCall_3_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1"


    // $ANTLR start "rule__EnumerationLiteralDeclaration__NameAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18020:1: rule__EnumerationLiteralDeclaration__NameAssignment : ( ruleValidID ) ;
    public final void rule__EnumerationLiteralDeclaration__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18024:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18025:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18025:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18026:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEnumerationLiteralDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__EnumerationLiteralDeclaration__NameAssignment36291);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEnumerationLiteralDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EnumerationLiteralDeclaration__NameAssignment"


    // $ANTLR start "rule__TypeAliasDefinition__NameAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18035:1: rule__TypeAliasDefinition__NameAssignment_1 : ( ruleValidID ) ;
    public final void rule__TypeAliasDefinition__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18039:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18040:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18040:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18041:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getNameValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__TypeAliasDefinition__NameAssignment_136322);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeAliasDefinitionAccess().getNameValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__NameAssignment_1"


    // $ANTLR start "rule__TypeAliasDefinition__TypeAssignment_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18050:1: rule__TypeAliasDefinition__TypeAssignment_3 : ( rulePrimitiveType ) ;
    public final void rule__TypeAliasDefinition__TypeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18054:1: ( ( rulePrimitiveType ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18055:1: ( rulePrimitiveType )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18055:1: ( rulePrimitiveType )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18056:1: rulePrimitiveType
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTypeAliasDefinitionAccess().getTypePrimitiveTypeParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_rulePrimitiveType_in_rule__TypeAliasDefinition__TypeAssignment_336353);
            rulePrimitiveType();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTypeAliasDefinitionAccess().getTypePrimitiveTypeParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TypeAliasDefinition__TypeAssignment_3"


    // $ANTLR start "rule__RecordDefinition__NameAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18065:1: rule__RecordDefinition__NameAssignment_1 : ( ruleValidID ) ;
    public final void rule__RecordDefinition__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18069:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18070:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18070:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18071:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getNameValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__RecordDefinition__NameAssignment_136384);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordDefinitionAccess().getNameValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__NameAssignment_1"


    // $ANTLR start "rule__RecordDefinition__FieldDeclarationsAssignment_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18080:1: rule__RecordDefinition__FieldDeclarationsAssignment_3 : ( ruleRecordFieldDeclaration ) ;
    public final void rule__RecordDefinition__FieldDeclarationsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18084:1: ( ( ruleRecordFieldDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18085:1: ( ruleRecordFieldDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18085:1: ( ruleRecordFieldDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18086:1: ruleRecordFieldDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordDefinitionAccess().getFieldDeclarationsRecordFieldDeclarationParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleRecordFieldDeclaration_in_rule__RecordDefinition__FieldDeclarationsAssignment_336415);
            ruleRecordFieldDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordDefinitionAccess().getFieldDeclarationsRecordFieldDeclarationParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordDefinition__FieldDeclarationsAssignment_3"


    // $ANTLR start "rule__RecordFieldDeclaration__NameAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18095:1: rule__RecordFieldDeclaration__NameAssignment_0 : ( ruleValidID ) ;
    public final void rule__RecordFieldDeclaration__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18099:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18100:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18100:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18101:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationAccess().getNameValidIDParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__RecordFieldDeclaration__NameAssignment_036446);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordFieldDeclarationAccess().getNameValidIDParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__NameAssignment_0"


    // $ANTLR start "rule__RecordFieldDeclaration__TypeAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18110:1: rule__RecordFieldDeclaration__TypeAssignment_2 : ( ruleDataTypeSpecifier ) ;
    public final void rule__RecordFieldDeclaration__TypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18114:1: ( ( ruleDataTypeSpecifier ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18115:1: ( ruleDataTypeSpecifier )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18115:1: ( ruleDataTypeSpecifier )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18116:1: ruleDataTypeSpecifier
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRecordFieldDeclarationAccess().getTypeDataTypeSpecifierParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleDataTypeSpecifier_in_rule__RecordFieldDeclaration__TypeAssignment_236477);
            ruleDataTypeSpecifier();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRecordFieldDeclarationAccess().getTypeDataTypeSpecifierParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RecordFieldDeclaration__TypeAssignment_2"


    // $ANTLR start "rule__FunctionDefinition__KindAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18125:1: rule__FunctionDefinition__KindAssignment_0 : ( ruleFunctionKind ) ;
    public final void rule__FunctionDefinition__KindAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18129:1: ( ( ruleFunctionKind ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18130:1: ( ruleFunctionKind )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18130:1: ( ruleFunctionKind )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18131:1: ruleFunctionKind
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getKindFunctionKindEnumRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleFunctionKind_in_rule__FunctionDefinition__KindAssignment_036508);
            ruleFunctionKind();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getKindFunctionKindEnumRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__KindAssignment_0"


    // $ANTLR start "rule__FunctionDefinition__NameAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18140:1: rule__FunctionDefinition__NameAssignment_2 : ( ruleValidID ) ;
    public final void rule__FunctionDefinition__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18144:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18145:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18145:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18146:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getNameValidIDParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__FunctionDefinition__NameAssignment_236539);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getNameValidIDParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__NameAssignment_2"


    // $ANTLR start "rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18155:1: rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1 : ( ruleTemplateParameterDeclaration ) ;
    public final void rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18159:1: ( ( ruleTemplateParameterDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18160:1: ( ruleTemplateParameterDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18160:1: ( ruleTemplateParameterDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18161:1: ruleTemplateParameterDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsTemplateParameterDeclarationParserRuleCall_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleTemplateParameterDeclaration_in_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_136570);
            ruleTemplateParameterDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsTemplateParameterDeclarationParserRuleCall_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1"


    // $ANTLR start "rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18170:1: rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1 : ( ruleTemplateParameterDeclaration ) ;
    public final void rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18174:1: ( ( ruleTemplateParameterDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18175:1: ( ruleTemplateParameterDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18175:1: ( ruleTemplateParameterDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18176:1: ruleTemplateParameterDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsTemplateParameterDeclarationParserRuleCall_3_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleTemplateParameterDeclaration_in_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_136601);
            ruleTemplateParameterDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getTemplateParameterDeclarationsTemplateParameterDeclarationParserRuleCall_3_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1"


    // $ANTLR start "rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18185:1: rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0 : ( ruleInputParameterDeclaration ) ;
    public final void rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18189:1: ( ( ruleInputParameterDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18190:1: ( ruleInputParameterDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18190:1: ( ruleInputParameterDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18191:1: ruleInputParameterDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsInputParameterDeclarationParserRuleCall_5_0_0()); 
            }
            pushFollow(FOLLOW_ruleInputParameterDeclaration_in_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_036632);
            ruleInputParameterDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsInputParameterDeclarationParserRuleCall_5_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0"


    // $ANTLR start "rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18200:1: rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1 : ( ruleInputParameterDeclaration ) ;
    public final void rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18204:1: ( ( ruleInputParameterDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18205:1: ( ruleInputParameterDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18205:1: ( ruleInputParameterDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18206:1: ruleInputParameterDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsInputParameterDeclarationParserRuleCall_5_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleInputParameterDeclaration_in_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_136663);
            ruleInputParameterDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getInputParameterDeclarationsInputParameterDeclarationParserRuleCall_5_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1"


    // $ANTLR start "rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18215:1: rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8 : ( ruleOutputParameterDeclaration ) ;
    public final void rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18219:1: ( ( ruleOutputParameterDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18220:1: ( ruleOutputParameterDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18220:1: ( ruleOutputParameterDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18221:1: ruleOutputParameterDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsOutputParameterDeclarationParserRuleCall_8_0()); 
            }
            pushFollow(FOLLOW_ruleOutputParameterDeclaration_in_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_836694);
            ruleOutputParameterDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsOutputParameterDeclarationParserRuleCall_8_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8"


    // $ANTLR start "rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18230:1: rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1 : ( ruleOutputParameterDeclaration ) ;
    public final void rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18234:1: ( ( ruleOutputParameterDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18235:1: ( ruleOutputParameterDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18235:1: ( ruleOutputParameterDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18236:1: ruleOutputParameterDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsOutputParameterDeclarationParserRuleCall_9_1_0()); 
            }
            pushFollow(FOLLOW_ruleOutputParameterDeclaration_in_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_136725);
            ruleOutputParameterDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getOutputParameterDeclarationsOutputParameterDeclarationParserRuleCall_9_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1"


    // $ANTLR start "rule__FunctionDefinition__ChecksAssignment_11_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18245:1: rule__FunctionDefinition__ChecksAssignment_11_0 : ( ruleCheck ) ;
    public final void rule__FunctionDefinition__ChecksAssignment_11_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18249:1: ( ( ruleCheck ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18250:1: ( ruleCheck )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18250:1: ( ruleCheck )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18251:1: ruleCheck
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getChecksCheckParserRuleCall_11_0_0()); 
            }
            pushFollow(FOLLOW_ruleCheck_in_rule__FunctionDefinition__ChecksAssignment_11_036756);
            ruleCheck();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getChecksCheckParserRuleCall_11_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__ChecksAssignment_11_0"


    // $ANTLR start "rule__FunctionDefinition__AssertionsAssignment_11_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18260:1: rule__FunctionDefinition__AssertionsAssignment_11_1 : ( ruleAssertion ) ;
    public final void rule__FunctionDefinition__AssertionsAssignment_11_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18264:1: ( ( ruleAssertion ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18265:1: ( ruleAssertion )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18265:1: ( ruleAssertion )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18266:1: ruleAssertion
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getAssertionsAssertionParserRuleCall_11_1_0()); 
            }
            pushFollow(FOLLOW_ruleAssertion_in_rule__FunctionDefinition__AssertionsAssignment_11_136787);
            ruleAssertion();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getAssertionsAssertionParserRuleCall_11_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__AssertionsAssignment_11_1"


    // $ANTLR start "rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18275:1: rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2 : ( ruleFunctionObjectDeclaration ) ;
    public final void rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18279:1: ( ( ruleFunctionObjectDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18280:1: ( ruleFunctionObjectDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18280:1: ( ruleFunctionObjectDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18281:1: ruleFunctionObjectDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getFunctionObjectDeclarationsFunctionObjectDeclarationParserRuleCall_11_2_0()); 
            }
            pushFollow(FOLLOW_ruleFunctionObjectDeclaration_in_rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_236818);
            ruleFunctionObjectDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getFunctionObjectDeclarationsFunctionObjectDeclarationParserRuleCall_11_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2"


    // $ANTLR start "rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18290:1: rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3 : ( ruleStateVariableDeclaration ) ;
    public final void rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18294:1: ( ( ruleStateVariableDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18295:1: ( ruleStateVariableDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18295:1: ( ruleStateVariableDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18296:1: ruleStateVariableDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getStateVariableDeclarationsStateVariableDeclarationParserRuleCall_11_3_0()); 
            }
            pushFollow(FOLLOW_ruleStateVariableDeclaration_in_rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_336849);
            ruleStateVariableDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getStateVariableDeclarationsStateVariableDeclarationParserRuleCall_11_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3"


    // $ANTLR start "rule__FunctionDefinition__EquationsAssignment_11_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18305:1: rule__FunctionDefinition__EquationsAssignment_11_4 : ( ruleEquation ) ;
    public final void rule__FunctionDefinition__EquationsAssignment_11_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18309:1: ( ( ruleEquation ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18310:1: ( ruleEquation )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18310:1: ( ruleEquation )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18311:1: ruleEquation
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionDefinitionAccess().getEquationsEquationParserRuleCall_11_4_0()); 
            }
            pushFollow(FOLLOW_ruleEquation_in_rule__FunctionDefinition__EquationsAssignment_11_436880);
            ruleEquation();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionDefinitionAccess().getEquationsEquationParserRuleCall_11_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionDefinition__EquationsAssignment_11_4"


    // $ANTLR start "rule__TemplateParameterDeclaration__NameAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18320:1: rule__TemplateParameterDeclaration__NameAssignment : ( ruleValidID ) ;
    public final void rule__TemplateParameterDeclaration__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18324:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18325:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18325:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18326:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTemplateParameterDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__TemplateParameterDeclaration__NameAssignment36911);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTemplateParameterDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TemplateParameterDeclaration__NameAssignment"


    // $ANTLR start "rule__InputParameterDeclaration__NameAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18335:1: rule__InputParameterDeclaration__NameAssignment : ( ruleValidID ) ;
    public final void rule__InputParameterDeclaration__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18339:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18340:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18340:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18341:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getInputParameterDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__InputParameterDeclaration__NameAssignment36942);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getInputParameterDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__InputParameterDeclaration__NameAssignment"


    // $ANTLR start "rule__OutputParameterDeclaration__NameAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18350:1: rule__OutputParameterDeclaration__NameAssignment : ( ruleValidID ) ;
    public final void rule__OutputParameterDeclaration__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18354:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18355:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18355:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18356:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getOutputParameterDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__OutputParameterDeclaration__NameAssignment36973);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getOutputParameterDeclarationAccess().getNameValidIDParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__OutputParameterDeclaration__NameAssignment"


    // $ANTLR start "rule__Check__TemplateArgumentsAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18365:1: rule__Check__TemplateArgumentsAssignment_1_1 : ( ruleExpression ) ;
    public final void rule__Check__TemplateArgumentsAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18369:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18370:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18370:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18371:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getTemplateArgumentsExpressionParserRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__Check__TemplateArgumentsAssignment_1_137004);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getTemplateArgumentsExpressionParserRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__TemplateArgumentsAssignment_1_1"


    // $ANTLR start "rule__Check__TemplateArgumentsAssignment_1_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18380:1: rule__Check__TemplateArgumentsAssignment_1_2_1 : ( ruleExpression ) ;
    public final void rule__Check__TemplateArgumentsAssignment_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18384:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18385:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18385:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18386:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getTemplateArgumentsExpressionParserRuleCall_1_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__Check__TemplateArgumentsAssignment_1_2_137035);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getTemplateArgumentsExpressionParserRuleCall_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__TemplateArgumentsAssignment_1_2_1"


    // $ANTLR start "rule__Check__InputParameterTypesAssignment_3_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18395:1: rule__Check__InputParameterTypesAssignment_3_0 : ( ruleDataTypeSpecifier ) ;
    public final void rule__Check__InputParameterTypesAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18399:1: ( ( ruleDataTypeSpecifier ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18400:1: ( ruleDataTypeSpecifier )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18400:1: ( ruleDataTypeSpecifier )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18401:1: ruleDataTypeSpecifier
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getInputParameterTypesDataTypeSpecifierParserRuleCall_3_0_0()); 
            }
            pushFollow(FOLLOW_ruleDataTypeSpecifier_in_rule__Check__InputParameterTypesAssignment_3_037066);
            ruleDataTypeSpecifier();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getInputParameterTypesDataTypeSpecifierParserRuleCall_3_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__InputParameterTypesAssignment_3_0"


    // $ANTLR start "rule__Check__InputParameterTypesAssignment_3_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18410:1: rule__Check__InputParameterTypesAssignment_3_1_1 : ( ruleDataTypeSpecifier ) ;
    public final void rule__Check__InputParameterTypesAssignment_3_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18414:1: ( ( ruleDataTypeSpecifier ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18415:1: ( ruleDataTypeSpecifier )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18415:1: ( ruleDataTypeSpecifier )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18416:1: ruleDataTypeSpecifier
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getInputParameterTypesDataTypeSpecifierParserRuleCall_3_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleDataTypeSpecifier_in_rule__Check__InputParameterTypesAssignment_3_1_137097);
            ruleDataTypeSpecifier();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getInputParameterTypesDataTypeSpecifierParserRuleCall_3_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__InputParameterTypesAssignment_3_1_1"


    // $ANTLR start "rule__Check__OutputParameterTypesAssignment_6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18425:1: rule__Check__OutputParameterTypesAssignment_6 : ( ruleDataTypeSpecifier ) ;
    public final void rule__Check__OutputParameterTypesAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18429:1: ( ( ruleDataTypeSpecifier ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18430:1: ( ruleDataTypeSpecifier )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18430:1: ( ruleDataTypeSpecifier )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18431:1: ruleDataTypeSpecifier
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getOutputParameterTypesDataTypeSpecifierParserRuleCall_6_0()); 
            }
            pushFollow(FOLLOW_ruleDataTypeSpecifier_in_rule__Check__OutputParameterTypesAssignment_637128);
            ruleDataTypeSpecifier();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getOutputParameterTypesDataTypeSpecifierParserRuleCall_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__OutputParameterTypesAssignment_6"


    // $ANTLR start "rule__Check__OutputParameterTypesAssignment_7_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18440:1: rule__Check__OutputParameterTypesAssignment_7_1 : ( ruleDataTypeSpecifier ) ;
    public final void rule__Check__OutputParameterTypesAssignment_7_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18444:1: ( ( ruleDataTypeSpecifier ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18445:1: ( ruleDataTypeSpecifier )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18445:1: ( ruleDataTypeSpecifier )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18446:1: ruleDataTypeSpecifier
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCheckAccess().getOutputParameterTypesDataTypeSpecifierParserRuleCall_7_1_0()); 
            }
            pushFollow(FOLLOW_ruleDataTypeSpecifier_in_rule__Check__OutputParameterTypesAssignment_7_137159);
            ruleDataTypeSpecifier();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCheckAccess().getOutputParameterTypesDataTypeSpecifierParserRuleCall_7_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Check__OutputParameterTypesAssignment_7_1"


    // $ANTLR start "rule__Assertion__StaticAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18455:1: rule__Assertion__StaticAssignment_0 : ( ( 'static' ) ) ;
    public final void rule__Assertion__StaticAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18459:1: ( ( ( 'static' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18460:1: ( ( 'static' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18460:1: ( ( 'static' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18461:1: ( 'static' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getStaticStaticKeyword_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18462:1: ( 'static' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18463:1: 'static'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getStaticStaticKeyword_0_0()); 
            }
            match(input,88,FOLLOW_88_in_rule__Assertion__StaticAssignment_037195); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getStaticStaticKeyword_0_0()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getStaticStaticKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__StaticAssignment_0"


    // $ANTLR start "rule__Assertion__ConditionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18478:1: rule__Assertion__ConditionAssignment_2 : ( ruleExpression ) ;
    public final void rule__Assertion__ConditionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18482:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18483:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18483:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18484:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getConditionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__Assertion__ConditionAssignment_237234);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getConditionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__ConditionAssignment_2"


    // $ANTLR start "rule__Assertion__StatusKindAssignment_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18493:1: rule__Assertion__StatusKindAssignment_4 : ( ruleAssertionStatusKind ) ;
    public final void rule__Assertion__StatusKindAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18497:1: ( ( ruleAssertionStatusKind ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18498:1: ( ruleAssertionStatusKind )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18498:1: ( ruleAssertionStatusKind )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18499:1: ruleAssertionStatusKind
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getStatusKindAssertionStatusKindEnumRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleAssertionStatusKind_in_rule__Assertion__StatusKindAssignment_437265);
            ruleAssertionStatusKind();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getStatusKindAssertionStatusKindEnumRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__StatusKindAssignment_4"


    // $ANTLR start "rule__Assertion__MessageAssignment_5"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18508:1: rule__Assertion__MessageAssignment_5 : ( ruleExpression ) ;
    public final void rule__Assertion__MessageAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18512:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18513:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18513:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18514:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssertionAccess().getMessageExpressionParserRuleCall_5_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__Assertion__MessageAssignment_537296);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssertionAccess().getMessageExpressionParserRuleCall_5_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assertion__MessageAssignment_5"


    // $ANTLR start "rule__StateVariableDeclaration__NameAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18523:1: rule__StateVariableDeclaration__NameAssignment_1 : ( ruleValidID ) ;
    public final void rule__StateVariableDeclaration__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18527:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18528:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18528:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18529:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStateVariableDeclarationAccess().getNameValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__StateVariableDeclaration__NameAssignment_137327);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStateVariableDeclarationAccess().getNameValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateVariableDeclaration__NameAssignment_1"


    // $ANTLR start "rule__FunctionObjectDeclaration__NameAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18538:1: rule__FunctionObjectDeclaration__NameAssignment_1 : ( ruleValidID ) ;
    public final void rule__FunctionObjectDeclaration__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18542:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18543:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18543:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18544:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getNameValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__FunctionObjectDeclaration__NameAssignment_137358);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getNameValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__NameAssignment_1"


    // $ANTLR start "rule__FunctionObjectDeclaration__FunctionNameAssignment_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18553:1: rule__FunctionObjectDeclaration__FunctionNameAssignment_3 : ( ( ruleQualifiedName ) ) ;
    public final void rule__FunctionObjectDeclaration__FunctionNameAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18557:1: ( ( ( ruleQualifiedName ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18558:1: ( ( ruleQualifiedName ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18558:1: ( ( ruleQualifiedName ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18559:1: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getFunctionNameFunctionDefinitionCrossReference_3_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18560:1: ( ruleQualifiedName )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18561:1: ruleQualifiedName
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getFunctionNameFunctionDefinitionQualifiedNameParserRuleCall_3_0_1()); 
            }
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__FunctionObjectDeclaration__FunctionNameAssignment_337393);
            ruleQualifiedName();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getFunctionNameFunctionDefinitionQualifiedNameParserRuleCall_3_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getFunctionNameFunctionDefinitionCrossReference_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__FunctionNameAssignment_3"


    // $ANTLR start "rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18572:1: rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1 : ( ruleExpression ) ;
    public final void rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18576:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18577:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18577:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18578:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsExpressionParserRuleCall_4_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_137428);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsExpressionParserRuleCall_4_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1"


    // $ANTLR start "rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18587:1: rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1 : ( ruleExpression ) ;
    public final void rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18591:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18592:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18592:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18593:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsExpressionParserRuleCall_4_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_137459);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionObjectDeclarationAccess().getTemplateArgumentsExpressionParserRuleCall_4_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1"


    // $ANTLR start "rule__Equation__InitialAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18602:1: rule__Equation__InitialAssignment_0 : ( ( 'initial' ) ) ;
    public final void rule__Equation__InitialAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18606:1: ( ( ( 'initial' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18607:1: ( ( 'initial' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18607:1: ( ( 'initial' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18608:1: ( 'initial' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getInitialInitialKeyword_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18609:1: ( 'initial' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18610:1: 'initial'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getInitialInitialKeyword_0_0()); 
            }
            match(input,89,FOLLOW_89_in_rule__Equation__InitialAssignment_037495); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getInitialInitialKeyword_0_0()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getInitialInitialKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__InitialAssignment_0"


    // $ANTLR start "rule__Equation__LeftHandSideAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18625:1: rule__Equation__LeftHandSideAssignment_1 : ( ruleExpression ) ;
    public final void rule__Equation__LeftHandSideAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18629:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18630:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18630:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18631:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getLeftHandSideExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__Equation__LeftHandSideAssignment_137534);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getLeftHandSideExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__LeftHandSideAssignment_1"


    // $ANTLR start "rule__Equation__RightHandSideAssignment_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18640:1: rule__Equation__RightHandSideAssignment_3 : ( ruleExpression ) ;
    public final void rule__Equation__RightHandSideAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18644:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18645:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18645:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18646:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEquationAccess().getRightHandSideExpressionParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__Equation__RightHandSideAssignment_337565);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEquationAccess().getRightHandSideExpressionParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Equation__RightHandSideAssignment_3"


    // $ANTLR start "rule__DataTypeSpecifier__DefinedTypeAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18655:1: rule__DataTypeSpecifier__DefinedTypeAssignment_0 : ( ( rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 ) ) ;
    public final void rule__DataTypeSpecifier__DefinedTypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18659:1: ( ( ( rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18660:1: ( ( rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18660:1: ( ( rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18661:1: ( rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypeAlternatives_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18662:1: ( rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18662:2: rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0
            {
            pushFollow(FOLLOW_rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0_in_rule__DataTypeSpecifier__DefinedTypeAssignment_037596);
            rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDataTypeSpecifierAccess().getDefinedTypeAlternatives_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DataTypeSpecifier__DefinedTypeAssignment_0"


    // $ANTLR start "rule__DataTypeSpecifier__TypeAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18671:1: rule__DataTypeSpecifier__TypeAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__DataTypeSpecifier__TypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18675:1: ( ( ( RULE_ID ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18676:1: ( ( RULE_ID ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18676:1: ( ( RULE_ID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18677:1: ( RULE_ID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDataTypeSpecifierAccess().getTypeDataTypeCrossReference_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18678:1: ( RULE_ID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18679:1: RULE_ID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDataTypeSpecifierAccess().getTypeDataTypeIDTerminalRuleCall_1_0_1()); 
            }
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__DataTypeSpecifier__TypeAssignment_137633); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDataTypeSpecifierAccess().getTypeDataTypeIDTerminalRuleCall_1_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDataTypeSpecifierAccess().getTypeDataTypeCrossReference_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DataTypeSpecifier__TypeAssignment_1"


    // $ANTLR start "rule__RealType__UnitAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18690:1: rule__RealType__UnitAssignment_2 : ( ruleUnit ) ;
    public final void rule__RealType__UnitAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18694:1: ( ( ruleUnit ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18695:1: ( ruleUnit )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18695:1: ( ruleUnit )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18696:1: ruleUnit
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleUnit_in_rule__RealType__UnitAssignment_237668);
            ruleUnit();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealType__UnitAssignment_2"


    // $ANTLR start "rule__IntegerType__UnitAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18705:1: rule__IntegerType__UnitAssignment_2 : ( ruleUnit ) ;
    public final void rule__IntegerType__UnitAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18709:1: ( ( ruleUnit ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18710:1: ( ruleUnit )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18710:1: ( ruleUnit )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18711:1: ruleUnit
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleUnit_in_rule__IntegerType__UnitAssignment_237699);
            ruleUnit();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerType__UnitAssignment_2"


    // $ANTLR start "rule__ComplexType__UnitAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18720:1: rule__ComplexType__UnitAssignment_2 : ( ruleUnit ) ;
    public final void rule__ComplexType__UnitAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18724:1: ( ( ruleUnit ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18725:1: ( ruleUnit )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18725:1: ( ruleUnit )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18726:1: ruleUnit
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getComplexTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleUnit_in_rule__ComplexType__UnitAssignment_237730);
            ruleUnit();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getComplexTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ComplexType__UnitAssignment_2"


    // $ANTLR start "rule__GaussianType__UnitAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18735:1: rule__GaussianType__UnitAssignment_2 : ( ruleUnit ) ;
    public final void rule__GaussianType__UnitAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18739:1: ( ( ruleUnit ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18740:1: ( ruleUnit )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18740:1: ( ruleUnit )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18741:1: ruleUnit
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getGaussianTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleUnit_in_rule__GaussianType__UnitAssignment_237761);
            ruleUnit();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getGaussianTypeAccess().getUnitUnitParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GaussianType__UnitAssignment_2"


    // $ANTLR start "rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18750:1: rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0 : ( rulePrimitiveType ) ;
    public final void rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18754:1: ( ( rulePrimitiveType ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18755:1: ( rulePrimitiveType )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18755:1: ( rulePrimitiveType )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18756:1: rulePrimitiveType
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getDefinedElementTypePrimitiveTypeParserRuleCall_1_0_0_0_0()); 
            }
            pushFollow(FOLLOW_rulePrimitiveType_in_rule__ArrayType__DefinedElementTypeAssignment_1_0_0_037792);
            rulePrimitiveType();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getDefinedElementTypePrimitiveTypeParserRuleCall_1_0_0_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0"


    // $ANTLR start "rule__ArrayType__ElementTypeAssignment_1_0_0_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18765:1: rule__ArrayType__ElementTypeAssignment_1_0_0_1 : ( ( RULE_ID ) ) ;
    public final void rule__ArrayType__ElementTypeAssignment_1_0_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18769:1: ( ( ( RULE_ID ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18770:1: ( ( RULE_ID ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18770:1: ( ( RULE_ID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18771:1: ( RULE_ID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getElementTypeDataTypeCrossReference_1_0_0_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18772:1: ( RULE_ID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18773:1: RULE_ID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getElementTypeDataTypeIDTerminalRuleCall_1_0_0_1_0_1()); 
            }
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ArrayType__ElementTypeAssignment_1_0_0_137827); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getElementTypeDataTypeIDTerminalRuleCall_1_0_0_1_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getElementTypeDataTypeCrossReference_1_0_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__ElementTypeAssignment_1_0_0_1"


    // $ANTLR start "rule__ArrayType__DimensionsAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18784:1: rule__ArrayType__DimensionsAssignment_1_2 : ( ruleArrayDimension ) ;
    public final void rule__ArrayType__DimensionsAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18788:1: ( ( ruleArrayDimension ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18789:1: ( ruleArrayDimension )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18789:1: ( ruleArrayDimension )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18790:1: ruleArrayDimension
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getDimensionsArrayDimensionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleArrayDimension_in_rule__ArrayType__DimensionsAssignment_1_237862);
            ruleArrayDimension();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getDimensionsArrayDimensionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__DimensionsAssignment_1_2"


    // $ANTLR start "rule__ArrayType__DimensionsAssignment_1_3_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18799:1: rule__ArrayType__DimensionsAssignment_1_3_1 : ( ruleArrayDimension ) ;
    public final void rule__ArrayType__DimensionsAssignment_1_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18803:1: ( ( ruleArrayDimension ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18804:1: ( ruleArrayDimension )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18804:1: ( ruleArrayDimension )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18805:1: ruleArrayDimension
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayTypeAccess().getDimensionsArrayDimensionParserRuleCall_1_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleArrayDimension_in_rule__ArrayType__DimensionsAssignment_1_3_137893);
            ruleArrayDimension();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayTypeAccess().getDimensionsArrayDimensionParserRuleCall_1_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayType__DimensionsAssignment_1_3_1"


    // $ANTLR start "rule__TensorType__DefinedElementTypeAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18814:1: rule__TensorType__DefinedElementTypeAssignment_0 : ( ruleNumericType ) ;
    public final void rule__TensorType__DefinedElementTypeAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18818:1: ( ( ruleNumericType ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18819:1: ( ruleNumericType )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18819:1: ( ruleNumericType )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18820:1: ruleNumericType
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getDefinedElementTypeNumericTypeParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleNumericType_in_rule__TensorType__DefinedElementTypeAssignment_037924);
            ruleNumericType();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getDefinedElementTypeNumericTypeParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__DefinedElementTypeAssignment_0"


    // $ANTLR start "rule__TensorType__DimensionsAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18829:1: rule__TensorType__DimensionsAssignment_2 : ( ruleArrayDimension ) ;
    public final void rule__TensorType__DimensionsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18833:1: ( ( ruleArrayDimension ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18834:1: ( ruleArrayDimension )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18834:1: ( ruleArrayDimension )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18835:1: ruleArrayDimension
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getDimensionsArrayDimensionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleArrayDimension_in_rule__TensorType__DimensionsAssignment_237955);
            ruleArrayDimension();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getDimensionsArrayDimensionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__DimensionsAssignment_2"


    // $ANTLR start "rule__TensorType__DimensionsAssignment_3_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18844:1: rule__TensorType__DimensionsAssignment_3_1 : ( ruleArrayDimension ) ;
    public final void rule__TensorType__DimensionsAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18848:1: ( ( ruleArrayDimension ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18849:1: ( ruleArrayDimension )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18849:1: ( ruleArrayDimension )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18850:1: ruleArrayDimension
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getTensorTypeAccess().getDimensionsArrayDimensionParserRuleCall_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleArrayDimension_in_rule__TensorType__DimensionsAssignment_3_137986);
            ruleArrayDimension();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getTensorTypeAccess().getDimensionsArrayDimensionParserRuleCall_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TensorType__DimensionsAssignment_3_1"


    // $ANTLR start "rule__ArrayDimension__SizeAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18859:1: rule__ArrayDimension__SizeAssignment_1 : ( ruleExpression ) ;
    public final void rule__ArrayDimension__SizeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18863:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18864:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18864:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18865:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayDimensionAccess().getSizeExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ArrayDimension__SizeAssignment_138017);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayDimensionAccess().getSizeExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayDimension__SizeAssignment_1"


    // $ANTLR start "rule__LetExpression__VariableDeclarationsAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18874:1: rule__LetExpression__VariableDeclarationsAssignment_1 : ( ruleLetExpressionVariableDeclaration ) ;
    public final void rule__LetExpression__VariableDeclarationsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18878:1: ( ( ruleLetExpressionVariableDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18879:1: ( ruleLetExpressionVariableDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18879:1: ( ruleLetExpressionVariableDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18880:1: ruleLetExpressionVariableDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getVariableDeclarationsLetExpressionVariableDeclarationParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleLetExpressionVariableDeclaration_in_rule__LetExpression__VariableDeclarationsAssignment_138048);
            ruleLetExpressionVariableDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getVariableDeclarationsLetExpressionVariableDeclarationParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__VariableDeclarationsAssignment_1"


    // $ANTLR start "rule__LetExpression__VariableDeclarationsAssignment_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18889:1: rule__LetExpression__VariableDeclarationsAssignment_2_1 : ( ruleLetExpressionVariableDeclaration ) ;
    public final void rule__LetExpression__VariableDeclarationsAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18893:1: ( ( ruleLetExpressionVariableDeclaration ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18894:1: ( ruleLetExpressionVariableDeclaration )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18894:1: ( ruleLetExpressionVariableDeclaration )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18895:1: ruleLetExpressionVariableDeclaration
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getVariableDeclarationsLetExpressionVariableDeclarationParserRuleCall_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleLetExpressionVariableDeclaration_in_rule__LetExpression__VariableDeclarationsAssignment_2_138079);
            ruleLetExpressionVariableDeclaration();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getVariableDeclarationsLetExpressionVariableDeclarationParserRuleCall_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__VariableDeclarationsAssignment_2_1"


    // $ANTLR start "rule__LetExpression__TargetExpressionAssignment_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18904:1: rule__LetExpression__TargetExpressionAssignment_4 : ( ruleExpression ) ;
    public final void rule__LetExpression__TargetExpressionAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18908:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18909:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18909:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18910:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionAccess().getTargetExpressionExpressionParserRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__LetExpression__TargetExpressionAssignment_438110);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionAccess().getTargetExpressionExpressionParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpression__TargetExpressionAssignment_4"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__PartsAssignment_0_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18919:1: rule__LetExpressionVariableDeclaration__PartsAssignment_0_0 : ( ruleLetExpressionVariableDeclarationPart ) ;
    public final void rule__LetExpressionVariableDeclaration__PartsAssignment_0_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18923:1: ( ( ruleLetExpressionVariableDeclarationPart ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18924:1: ( ruleLetExpressionVariableDeclarationPart )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18924:1: ( ruleLetExpressionVariableDeclarationPart )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18925:1: ruleLetExpressionVariableDeclarationPart
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsLetExpressionVariableDeclarationPartParserRuleCall_0_0_0()); 
            }
            pushFollow(FOLLOW_ruleLetExpressionVariableDeclarationPart_in_rule__LetExpressionVariableDeclaration__PartsAssignment_0_038141);
            ruleLetExpressionVariableDeclarationPart();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsLetExpressionVariableDeclarationPartParserRuleCall_0_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__PartsAssignment_0_0"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18934:1: rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1 : ( ruleLetExpressionVariableDeclarationPart ) ;
    public final void rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18938:1: ( ( ruleLetExpressionVariableDeclarationPart ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18939:1: ( ruleLetExpressionVariableDeclarationPart )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18939:1: ( ruleLetExpressionVariableDeclarationPart )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18940:1: ruleLetExpressionVariableDeclarationPart
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsLetExpressionVariableDeclarationPartParserRuleCall_0_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleLetExpressionVariableDeclarationPart_in_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_138172);
            ruleLetExpressionVariableDeclarationPart();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsLetExpressionVariableDeclarationPartParserRuleCall_0_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18949:1: rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1 : ( ruleLetExpressionVariableDeclarationPart ) ;
    public final void rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18953:1: ( ( ruleLetExpressionVariableDeclarationPart ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18954:1: ( ruleLetExpressionVariableDeclarationPart )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18954:1: ( ruleLetExpressionVariableDeclarationPart )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18955:1: ruleLetExpressionVariableDeclarationPart
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsLetExpressionVariableDeclarationPartParserRuleCall_0_1_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleLetExpressionVariableDeclarationPart_in_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_138203);
            ruleLetExpressionVariableDeclarationPart();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getPartsLetExpressionVariableDeclarationPartParserRuleCall_0_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1"


    // $ANTLR start "rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18964:1: rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2 : ( ruleExpression ) ;
    public final void rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18968:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18969:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18969:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18970:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationAccess().getAssignedExpressionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_238234);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationAccess().getAssignedExpressionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2"


    // $ANTLR start "rule__LetExpressionVariableDeclarationPart__NameAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18979:1: rule__LetExpressionVariableDeclarationPart__NameAssignment : ( ruleValidID ) ;
    public final void rule__LetExpressionVariableDeclarationPart__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18983:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18984:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18984:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18985:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLetExpressionVariableDeclarationPartAccess().getNameValidIDParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__LetExpressionVariableDeclarationPart__NameAssignment38265);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLetExpressionVariableDeclarationPartAccess().getNameValidIDParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LetExpressionVariableDeclarationPart__NameAssignment"


    // $ANTLR start "rule__IfExpression__StaticAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18994:1: rule__IfExpression__StaticAssignment_0 : ( ( 'static' ) ) ;
    public final void rule__IfExpression__StaticAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18998:1: ( ( ( 'static' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18999:1: ( ( 'static' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:18999:1: ( ( 'static' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19000:1: ( 'static' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getStaticStaticKeyword_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19001:1: ( 'static' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19002:1: 'static'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getStaticStaticKeyword_0_0()); 
            }
            match(input,88,FOLLOW_88_in_rule__IfExpression__StaticAssignment_038301); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getStaticStaticKeyword_0_0()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getStaticStaticKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__StaticAssignment_0"


    // $ANTLR start "rule__IfExpression__ConditionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19017:1: rule__IfExpression__ConditionAssignment_2 : ( ruleExpression ) ;
    public final void rule__IfExpression__ConditionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19021:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19022:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19022:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19023:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getConditionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__IfExpression__ConditionAssignment_238340);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getConditionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__ConditionAssignment_2"


    // $ANTLR start "rule__IfExpression__ThenExpressionAssignment_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19032:1: rule__IfExpression__ThenExpressionAssignment_4 : ( ruleExpression ) ;
    public final void rule__IfExpression__ThenExpressionAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19036:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19037:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19037:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19038:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getThenExpressionExpressionParserRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__IfExpression__ThenExpressionAssignment_438371);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getThenExpressionExpressionParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__ThenExpressionAssignment_4"


    // $ANTLR start "rule__IfExpression__ElseExpressionAssignment_6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19047:1: rule__IfExpression__ElseExpressionAssignment_6 : ( ruleExpression ) ;
    public final void rule__IfExpression__ElseExpressionAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19051:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19052:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19052:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19053:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfExpressionAccess().getElseExpressionExpressionParserRuleCall_6_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__IfExpression__ElseExpressionAssignment_638402);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfExpressionAccess().getElseExpressionExpressionParserRuleCall_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExpression__ElseExpressionAssignment_6"


    // $ANTLR start "rule__SwitchExpression__StaticAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19062:1: rule__SwitchExpression__StaticAssignment_0 : ( ( 'static' ) ) ;
    public final void rule__SwitchExpression__StaticAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19066:1: ( ( ( 'static' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19067:1: ( ( 'static' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19067:1: ( ( 'static' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19068:1: ( 'static' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getStaticStaticKeyword_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19069:1: ( 'static' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19070:1: 'static'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getStaticStaticKeyword_0_0()); 
            }
            match(input,88,FOLLOW_88_in_rule__SwitchExpression__StaticAssignment_038438); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getStaticStaticKeyword_0_0()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getStaticStaticKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__StaticAssignment_0"


    // $ANTLR start "rule__SwitchExpression__ControlExpressionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19085:1: rule__SwitchExpression__ControlExpressionAssignment_2 : ( ruleExpression ) ;
    public final void rule__SwitchExpression__ControlExpressionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19089:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19090:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19090:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19091:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getControlExpressionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__SwitchExpression__ControlExpressionAssignment_238477);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getControlExpressionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__ControlExpressionAssignment_2"


    // $ANTLR start "rule__SwitchExpression__CasesAssignment_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19100:1: rule__SwitchExpression__CasesAssignment_3 : ( ruleSwitchCase ) ;
    public final void rule__SwitchExpression__CasesAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19104:1: ( ( ruleSwitchCase ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19105:1: ( ruleSwitchCase )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19105:1: ( ruleSwitchCase )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19106:1: ruleSwitchCase
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getCasesSwitchCaseParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleSwitchCase_in_rule__SwitchExpression__CasesAssignment_338508);
            ruleSwitchCase();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getCasesSwitchCaseParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__CasesAssignment_3"


    // $ANTLR start "rule__SwitchExpression__DefaultExpressionAssignment_6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19115:1: rule__SwitchExpression__DefaultExpressionAssignment_6 : ( ruleExpression ) ;
    public final void rule__SwitchExpression__DefaultExpressionAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19119:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19120:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19120:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19121:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchExpressionAccess().getDefaultExpressionExpressionParserRuleCall_6_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__SwitchExpression__DefaultExpressionAssignment_638539);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchExpressionAccess().getDefaultExpressionExpressionParserRuleCall_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchExpression__DefaultExpressionAssignment_6"


    // $ANTLR start "rule__SwitchCase__CaseExpressionAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19130:1: rule__SwitchCase__CaseExpressionAssignment_1 : ( ruleImpliesExpression ) ;
    public final void rule__SwitchCase__CaseExpressionAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19134:1: ( ( ruleImpliesExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19135:1: ( ruleImpliesExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19135:1: ( ruleImpliesExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19136:1: ruleImpliesExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseAccess().getCaseExpressionImpliesExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleImpliesExpression_in_rule__SwitchCase__CaseExpressionAssignment_138570);
            ruleImpliesExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchCaseAccess().getCaseExpressionImpliesExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__CaseExpressionAssignment_1"


    // $ANTLR start "rule__SwitchCase__ResultExpressionAssignment_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19145:1: rule__SwitchCase__ResultExpressionAssignment_3 : ( ruleExpression ) ;
    public final void rule__SwitchCase__ResultExpressionAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19149:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19150:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19150:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19151:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getSwitchCaseAccess().getResultExpressionExpressionParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__SwitchCase__ResultExpressionAssignment_338601);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getSwitchCaseAccess().getResultExpressionExpressionParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__SwitchCase__ResultExpressionAssignment_3"


    // $ANTLR start "rule__RangeExpression__OperandsAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19160:1: rule__RangeExpression__OperandsAssignment_1_2 : ( ruleImpliesExpression ) ;
    public final void rule__RangeExpression__OperandsAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19164:1: ( ( ruleImpliesExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19165:1: ( ruleImpliesExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19165:1: ( ruleImpliesExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19166:1: ruleImpliesExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getOperandsImpliesExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleImpliesExpression_in_rule__RangeExpression__OperandsAssignment_1_238632);
            ruleImpliesExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getOperandsImpliesExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__OperandsAssignment_1_2"


    // $ANTLR start "rule__RangeExpression__OperandsAssignment_1_3_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19175:1: rule__RangeExpression__OperandsAssignment_1_3_1 : ( ruleImpliesExpression ) ;
    public final void rule__RangeExpression__OperandsAssignment_1_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19179:1: ( ( ruleImpliesExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19180:1: ( ruleImpliesExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19180:1: ( ruleImpliesExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19181:1: ruleImpliesExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeExpressionAccess().getOperandsImpliesExpressionParserRuleCall_1_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleImpliesExpression_in_rule__RangeExpression__OperandsAssignment_1_3_138663);
            ruleImpliesExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeExpressionAccess().getOperandsImpliesExpressionParserRuleCall_1_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeExpression__OperandsAssignment_1_3_1"


    // $ANTLR start "rule__ImpliesExpression__RightOperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19190:1: rule__ImpliesExpression__RightOperandAssignment_1_2 : ( ruleLogicalOrExpression ) ;
    public final void rule__ImpliesExpression__RightOperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19194:1: ( ( ruleLogicalOrExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19195:1: ( ruleLogicalOrExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19195:1: ( ruleLogicalOrExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19196:1: ruleLogicalOrExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getImpliesExpressionAccess().getRightOperandLogicalOrExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleLogicalOrExpression_in_rule__ImpliesExpression__RightOperandAssignment_1_238694);
            ruleLogicalOrExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getImpliesExpressionAccess().getRightOperandLogicalOrExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ImpliesExpression__RightOperandAssignment_1_2"


    // $ANTLR start "rule__LogicalOrExpression__RightOperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19205:1: rule__LogicalOrExpression__RightOperandAssignment_1_2 : ( ruleLogicalAndExpression ) ;
    public final void rule__LogicalOrExpression__RightOperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19209:1: ( ( ruleLogicalAndExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19210:1: ( ruleLogicalAndExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19210:1: ( ruleLogicalAndExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19211:1: ruleLogicalAndExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalOrExpressionAccess().getRightOperandLogicalAndExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleLogicalAndExpression_in_rule__LogicalOrExpression__RightOperandAssignment_1_238725);
            ruleLogicalAndExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalOrExpressionAccess().getRightOperandLogicalAndExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalOrExpression__RightOperandAssignment_1_2"


    // $ANTLR start "rule__LogicalAndExpression__RightOperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19220:1: rule__LogicalAndExpression__RightOperandAssignment_1_2 : ( ruleEqualityExpression ) ;
    public final void rule__LogicalAndExpression__RightOperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19224:1: ( ( ruleEqualityExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19225:1: ( ruleEqualityExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19225:1: ( ruleEqualityExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19226:1: ruleEqualityExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getLogicalAndExpressionAccess().getRightOperandEqualityExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleEqualityExpression_in_rule__LogicalAndExpression__RightOperandAssignment_1_238756);
            ruleEqualityExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getLogicalAndExpressionAccess().getRightOperandEqualityExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LogicalAndExpression__RightOperandAssignment_1_2"


    // $ANTLR start "rule__EqualityExpression__OperatorAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19235:1: rule__EqualityExpression__OperatorAssignment_1_1 : ( ruleEqualityOperator ) ;
    public final void rule__EqualityExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19239:1: ( ( ruleEqualityOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19240:1: ( ruleEqualityOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19240:1: ( ruleEqualityOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19241:1: ruleEqualityOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getOperatorEqualityOperatorEnumRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleEqualityOperator_in_rule__EqualityExpression__OperatorAssignment_1_138787);
            ruleEqualityOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEqualityExpressionAccess().getOperatorEqualityOperatorEnumRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__OperatorAssignment_1_1"


    // $ANTLR start "rule__EqualityExpression__RightOperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19250:1: rule__EqualityExpression__RightOperandAssignment_1_2 : ( ruleRelationalExpression ) ;
    public final void rule__EqualityExpression__RightOperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19254:1: ( ( ruleRelationalExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19255:1: ( ruleRelationalExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19255:1: ( ruleRelationalExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19256:1: ruleRelationalExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getEqualityExpressionAccess().getRightOperandRelationalExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleRelationalExpression_in_rule__EqualityExpression__RightOperandAssignment_1_238818);
            ruleRelationalExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getEqualityExpressionAccess().getRightOperandRelationalExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EqualityExpression__RightOperandAssignment_1_2"


    // $ANTLR start "rule__RelationalExpression__OperatorAssignment_1_0_0_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19265:1: rule__RelationalExpression__OperatorAssignment_1_0_0_1 : ( ruleRelationalOperator ) ;
    public final void rule__RelationalExpression__OperatorAssignment_1_0_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19269:1: ( ( ruleRelationalOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19270:1: ( ruleRelationalOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19270:1: ( ruleRelationalOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19271:1: ruleRelationalOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getOperatorRelationalOperatorEnumRuleCall_1_0_0_1_0()); 
            }
            pushFollow(FOLLOW_ruleRelationalOperator_in_rule__RelationalExpression__OperatorAssignment_1_0_0_138849);
            ruleRelationalOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getOperatorRelationalOperatorEnumRuleCall_1_0_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__OperatorAssignment_1_0_0_1"


    // $ANTLR start "rule__RelationalExpression__RightOperandAssignment_1_0_0_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19280:1: rule__RelationalExpression__RightOperandAssignment_1_0_0_2 : ( ruleAdditiveExpression ) ;
    public final void rule__RelationalExpression__RightOperandAssignment_1_0_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19284:1: ( ( ruleAdditiveExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19285:1: ( ruleAdditiveExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19285:1: ( ruleAdditiveExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19286:1: ruleAdditiveExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getRightOperandAdditiveExpressionParserRuleCall_1_0_0_2_0()); 
            }
            pushFollow(FOLLOW_ruleAdditiveExpression_in_rule__RelationalExpression__RightOperandAssignment_1_0_0_238880);
            ruleAdditiveExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getRightOperandAdditiveExpressionParserRuleCall_1_0_0_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__RightOperandAssignment_1_0_0_2"


    // $ANTLR start "rule__RelationalExpression__TypeAssignment_1_0_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19295:1: rule__RelationalExpression__TypeAssignment_1_0_1_2 : ( ruleDataTypeSpecifier ) ;
    public final void rule__RelationalExpression__TypeAssignment_1_0_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19299:1: ( ( ruleDataTypeSpecifier ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19300:1: ( ruleDataTypeSpecifier )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19300:1: ( ruleDataTypeSpecifier )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19301:1: ruleDataTypeSpecifier
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRelationalExpressionAccess().getTypeDataTypeSpecifierParserRuleCall_1_0_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleDataTypeSpecifier_in_rule__RelationalExpression__TypeAssignment_1_0_1_238911);
            ruleDataTypeSpecifier();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRelationalExpressionAccess().getTypeDataTypeSpecifierParserRuleCall_1_0_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RelationalExpression__TypeAssignment_1_0_1_2"


    // $ANTLR start "rule__AdditiveExpression__OperatorAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19310:1: rule__AdditiveExpression__OperatorAssignment_1_1 : ( ruleAdditiveOperator ) ;
    public final void rule__AdditiveExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19314:1: ( ( ruleAdditiveOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19315:1: ( ruleAdditiveOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19315:1: ( ruleAdditiveOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19316:1: ruleAdditiveOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getOperatorAdditiveOperatorEnumRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleAdditiveOperator_in_rule__AdditiveExpression__OperatorAssignment_1_138942);
            ruleAdditiveOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveExpressionAccess().getOperatorAdditiveOperatorEnumRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__OperatorAssignment_1_1"


    // $ANTLR start "rule__AdditiveExpression__RightOperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19325:1: rule__AdditiveExpression__RightOperandAssignment_1_2 : ( ruleMultiplicativeExpression ) ;
    public final void rule__AdditiveExpression__RightOperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19329:1: ( ( ruleMultiplicativeExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19330:1: ( ruleMultiplicativeExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19330:1: ( ruleMultiplicativeExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19331:1: ruleMultiplicativeExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveExpressionAccess().getRightOperandMultiplicativeExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleMultiplicativeExpression_in_rule__AdditiveExpression__RightOperandAssignment_1_238973);
            ruleMultiplicativeExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveExpressionAccess().getRightOperandMultiplicativeExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveExpression__RightOperandAssignment_1_2"


    // $ANTLR start "rule__MultiplicativeExpression__OperatorAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19340:1: rule__MultiplicativeExpression__OperatorAssignment_1_1 : ( ruleMultiplicativeOperator ) ;
    public final void rule__MultiplicativeExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19344:1: ( ( ruleMultiplicativeOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19345:1: ( ruleMultiplicativeOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19345:1: ( ruleMultiplicativeOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19346:1: ruleMultiplicativeOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getOperatorMultiplicativeOperatorEnumRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleMultiplicativeOperator_in_rule__MultiplicativeExpression__OperatorAssignment_1_139004);
            ruleMultiplicativeOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMultiplicativeExpressionAccess().getOperatorMultiplicativeOperatorEnumRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__OperatorAssignment_1_1"


    // $ANTLR start "rule__MultiplicativeExpression__RightOperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19355:1: rule__MultiplicativeExpression__RightOperandAssignment_1_2 : ( rulePowerExpression ) ;
    public final void rule__MultiplicativeExpression__RightOperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19359:1: ( ( rulePowerExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19360:1: ( rulePowerExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19360:1: ( rulePowerExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19361:1: rulePowerExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMultiplicativeExpressionAccess().getRightOperandPowerExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_rulePowerExpression_in_rule__MultiplicativeExpression__RightOperandAssignment_1_239035);
            rulePowerExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMultiplicativeExpressionAccess().getRightOperandPowerExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MultiplicativeExpression__RightOperandAssignment_1_2"


    // $ANTLR start "rule__PowerExpression__OperatorAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19370:1: rule__PowerExpression__OperatorAssignment_1_1 : ( rulePowerOperator ) ;
    public final void rule__PowerExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19374:1: ( ( rulePowerOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19375:1: ( rulePowerOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19375:1: ( rulePowerOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19376:1: rulePowerOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getOperatorPowerOperatorEnumRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_rulePowerOperator_in_rule__PowerExpression__OperatorAssignment_1_139066);
            rulePowerOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getPowerExpressionAccess().getOperatorPowerOperatorEnumRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__OperatorAssignment_1_1"


    // $ANTLR start "rule__PowerExpression__ExponentAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19385:1: rule__PowerExpression__ExponentAssignment_1_2 : ( ruleUnaryExpression ) ;
    public final void rule__PowerExpression__ExponentAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19389:1: ( ( ruleUnaryExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19390:1: ( ruleUnaryExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19390:1: ( ruleUnaryExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19391:1: ruleUnaryExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPowerExpressionAccess().getExponentUnaryExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleUnaryExpression_in_rule__PowerExpression__ExponentAssignment_1_239097);
            ruleUnaryExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getPowerExpressionAccess().getExponentUnaryExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PowerExpression__ExponentAssignment_1_2"


    // $ANTLR start "rule__UnaryExpression__OperatorAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19400:1: rule__UnaryExpression__OperatorAssignment_1_1 : ( ruleUnaryOperator ) ;
    public final void rule__UnaryExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19404:1: ( ( ruleUnaryOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19405:1: ( ruleUnaryOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19405:1: ( ruleUnaryOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19406:1: ruleUnaryOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryExpressionAccess().getOperatorUnaryOperatorEnumRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnaryOperator_in_rule__UnaryExpression__OperatorAssignment_1_139128);
            ruleUnaryOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnaryExpressionAccess().getOperatorUnaryOperatorEnumRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__OperatorAssignment_1_1"


    // $ANTLR start "rule__UnaryExpression__OperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19415:1: rule__UnaryExpression__OperandAssignment_1_2 : ( rulePostfixExpression ) ;
    public final void rule__UnaryExpression__OperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19419:1: ( ( rulePostfixExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19420:1: ( rulePostfixExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19420:1: ( rulePostfixExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19421:1: rulePostfixExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnaryExpressionAccess().getOperandPostfixExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_rulePostfixExpression_in_rule__UnaryExpression__OperandAssignment_1_239159);
            rulePostfixExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnaryExpressionAccess().getOperandPostfixExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnaryExpression__OperandAssignment_1_2"


    // $ANTLR start "rule__PostfixExpression__OperatorAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19430:1: rule__PostfixExpression__OperatorAssignment_1_1 : ( rulePostfixOperator ) ;
    public final void rule__PostfixExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19434:1: ( ( rulePostfixOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19435:1: ( rulePostfixOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19435:1: ( rulePostfixOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19436:1: rulePostfixOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getPostfixExpressionAccess().getOperatorPostfixOperatorEnumRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_rulePostfixOperator_in_rule__PostfixExpression__OperatorAssignment_1_139190);
            rulePostfixOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getPostfixExpressionAccess().getOperatorPostfixOperatorEnumRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__PostfixExpression__OperatorAssignment_1_1"


    // $ANTLR start "rule__ArrayElementAccess__SubscriptsAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19445:1: rule__ArrayElementAccess__SubscriptsAssignment_1_2 : ( ruleArraySubscript ) ;
    public final void rule__ArrayElementAccess__SubscriptsAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19449:1: ( ( ruleArraySubscript ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19450:1: ( ruleArraySubscript )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19450:1: ( ruleArraySubscript )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19451:1: ruleArraySubscript
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getSubscriptsArraySubscriptParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleArraySubscript_in_rule__ArrayElementAccess__SubscriptsAssignment_1_239221);
            ruleArraySubscript();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getSubscriptsArraySubscriptParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__SubscriptsAssignment_1_2"


    // $ANTLR start "rule__ArrayElementAccess__SubscriptsAssignment_1_3_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19460:1: rule__ArrayElementAccess__SubscriptsAssignment_1_3_1 : ( ruleArraySubscript ) ;
    public final void rule__ArrayElementAccess__SubscriptsAssignment_1_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19464:1: ( ( ruleArraySubscript ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19465:1: ( ruleArraySubscript )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19465:1: ( ruleArraySubscript )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19466:1: ruleArraySubscript
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayElementAccessAccess().getSubscriptsArraySubscriptParserRuleCall_1_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleArraySubscript_in_rule__ArrayElementAccess__SubscriptsAssignment_1_3_139252);
            ruleArraySubscript();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayElementAccessAccess().getSubscriptsArraySubscriptParserRuleCall_1_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayElementAccess__SubscriptsAssignment_1_3_1"


    // $ANTLR start "rule__MemberFeatureCall__MemberVariableAssignment_1_0_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19475:1: rule__MemberFeatureCall__MemberVariableAssignment_1_0_2 : ( ( ruleValidID ) ) ;
    public final void rule__MemberFeatureCall__MemberVariableAssignment_1_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19479:1: ( ( ( ruleValidID ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19480:1: ( ( ruleValidID ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19480:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19481:1: ( ruleValidID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getMemberVariableCallableElementCrossReference_1_0_2_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19482:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19483:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getMemberVariableCallableElementValidIDParserRuleCall_1_0_2_0_1()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__MemberFeatureCall__MemberVariableAssignment_1_0_239287);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getMemberVariableCallableElementValidIDParserRuleCall_1_0_2_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getMemberVariableCallableElementCrossReference_1_0_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__MemberVariableAssignment_1_0_2"


    // $ANTLR start "rule__MemberFeatureCall__FeatureAssignment_1_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19494:1: rule__MemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleValidID ) ) ;
    public final void rule__MemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19498:1: ( ( ( ruleValidID ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19499:1: ( ( ruleValidID ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19499:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19500:1: ( ruleValidID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getFeatureCallableElementCrossReference_1_1_2_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19501:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19502:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getFeatureCallableElementValidIDParserRuleCall_1_1_2_0_1()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__MemberFeatureCall__FeatureAssignment_1_1_239326);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getFeatureCallableElementValidIDParserRuleCall_1_1_2_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getFeatureCallableElementCrossReference_1_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__FeatureAssignment_1_1_2"


    // $ANTLR start "rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19513:1: rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0 : ( ruleExpression ) ;
    public final void rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19517:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19518:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19518:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19519:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getArgumentsExpressionParserRuleCall_1_1_4_0_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_039361);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getArgumentsExpressionParserRuleCall_1_1_4_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0"


    // $ANTLR start "rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19528:1: rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1 : ( ruleExpression ) ;
    public final void rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19532:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19533:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19533:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19534:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getArgumentsExpressionParserRuleCall_1_1_4_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_139392);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getArgumentsExpressionParserRuleCall_1_1_4_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1"


    // $ANTLR start "rule__MemberFeatureCall__IdentifierAssignment_1_2_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19543:1: rule__MemberFeatureCall__IdentifierAssignment_1_2_2 : ( ruleValidID ) ;
    public final void rule__MemberFeatureCall__IdentifierAssignment_1_2_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19547:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19548:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19548:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19549:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getIdentifierValidIDParserRuleCall_1_2_2_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__MemberFeatureCall__IdentifierAssignment_1_2_239423);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getIdentifierValidIDParserRuleCall_1_2_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__IdentifierAssignment_1_2_2"


    // $ANTLR start "rule__MemberFeatureCall__VariablesAssignment_1_2_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19558:1: rule__MemberFeatureCall__VariablesAssignment_1_2_4 : ( ruleIterationVariable ) ;
    public final void rule__MemberFeatureCall__VariablesAssignment_1_2_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19562:1: ( ( ruleIterationVariable ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19563:1: ( ruleIterationVariable )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19563:1: ( ruleIterationVariable )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19564:1: ruleIterationVariable
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getVariablesIterationVariableParserRuleCall_1_2_4_0()); 
            }
            pushFollow(FOLLOW_ruleIterationVariable_in_rule__MemberFeatureCall__VariablesAssignment_1_2_439454);
            ruleIterationVariable();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getVariablesIterationVariableParserRuleCall_1_2_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__VariablesAssignment_1_2_4"


    // $ANTLR start "rule__MemberFeatureCall__VariablesAssignment_1_2_5_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19573:1: rule__MemberFeatureCall__VariablesAssignment_1_2_5_1 : ( ruleIterationVariable ) ;
    public final void rule__MemberFeatureCall__VariablesAssignment_1_2_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19577:1: ( ( ruleIterationVariable ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19578:1: ( ruleIterationVariable )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19578:1: ( ruleIterationVariable )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19579:1: ruleIterationVariable
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getVariablesIterationVariableParserRuleCall_1_2_5_1_0()); 
            }
            pushFollow(FOLLOW_ruleIterationVariable_in_rule__MemberFeatureCall__VariablesAssignment_1_2_5_139485);
            ruleIterationVariable();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getVariablesIterationVariableParserRuleCall_1_2_5_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__VariablesAssignment_1_2_5_1"


    // $ANTLR start "rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19588:1: rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1 : ( ruleIterationAccumulator ) ;
    public final void rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19592:1: ( ( ruleIterationAccumulator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19593:1: ( ruleIterationAccumulator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19593:1: ( ruleIterationAccumulator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19594:1: ruleIterationAccumulator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getAccumulatorIterationAccumulatorParserRuleCall_1_2_6_1_0()); 
            }
            pushFollow(FOLLOW_ruleIterationAccumulator_in_rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_139516);
            ruleIterationAccumulator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getAccumulatorIterationAccumulatorParserRuleCall_1_2_6_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1"


    // $ANTLR start "rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19603:1: rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1 : ( ruleExpression ) ;
    public final void rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19607:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19608:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19608:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19609:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getBreakConditionExpressionParserRuleCall_1_2_7_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_139547);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getBreakConditionExpressionParserRuleCall_1_2_7_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1"


    // $ANTLR start "rule__MemberFeatureCall__ExpressionAssignment_1_2_9"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19618:1: rule__MemberFeatureCall__ExpressionAssignment_1_2_9 : ( ruleExpression ) ;
    public final void rule__MemberFeatureCall__ExpressionAssignment_1_2_9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19622:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19623:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19623:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19624:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberFeatureCallAccess().getExpressionExpressionParserRuleCall_1_2_9_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__MemberFeatureCall__ExpressionAssignment_1_2_939578);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberFeatureCallAccess().getExpressionExpressionParserRuleCall_1_2_9_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MemberFeatureCall__ExpressionAssignment_1_2_9"


    // $ANTLR start "rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19633:1: rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2 : ( ( ruleValidID ) ) ;
    public final void rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19637:1: ( ( ( ruleValidID ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19638:1: ( ( ruleValidID ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19638:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19639:1: ( ruleValidID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableCallableElementCrossReference_1_2_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19640:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19641:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableCallableElementValidIDParserRuleCall_1_2_0_1()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_239613);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableCallableElementValidIDParserRuleCall_1_2_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignableMemberFeatureCallAccess().getMemberVariableCallableElementCrossReference_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2"


    // $ANTLR start "rule__IterationVariable__NameAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19652:1: rule__IterationVariable__NameAssignment : ( ruleValidID ) ;
    public final void rule__IterationVariable__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19656:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19657:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19657:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19658:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationVariableAccess().getNameValidIDParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__IterationVariable__NameAssignment39648);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIterationVariableAccess().getNameValidIDParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationVariable__NameAssignment"


    // $ANTLR start "rule__IterationAccumulator__NameAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19667:1: rule__IterationAccumulator__NameAssignment_0 : ( ruleValidID ) ;
    public final void rule__IterationAccumulator__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19671:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19672:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19672:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19673:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationAccumulatorAccess().getNameValidIDParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__IterationAccumulator__NameAssignment_039679);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIterationAccumulatorAccess().getNameValidIDParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__NameAssignment_0"


    // $ANTLR start "rule__IterationAccumulator__InitializerAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19682:1: rule__IterationAccumulator__InitializerAssignment_2 : ( ruleExpression ) ;
    public final void rule__IterationAccumulator__InitializerAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19686:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19687:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19687:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19688:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIterationAccumulatorAccess().getInitializerExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__IterationAccumulator__InitializerAssignment_239710);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIterationAccumulatorAccess().getInitializerExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IterationAccumulator__InitializerAssignment_2"


    // $ANTLR start "rule__ArraySubscript__SliceAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19697:1: rule__ArraySubscript__SliceAssignment_0 : ( ( ':' ) ) ;
    public final void rule__ArraySubscript__SliceAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19701:1: ( ( ( ':' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19702:1: ( ( ':' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19702:1: ( ( ':' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19703:1: ( ':' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArraySubscriptAccess().getSliceColonKeyword_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19704:1: ( ':' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19705:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArraySubscriptAccess().getSliceColonKeyword_0_0()); 
            }
            match(input,45,FOLLOW_45_in_rule__ArraySubscript__SliceAssignment_039746); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArraySubscriptAccess().getSliceColonKeyword_0_0()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArraySubscriptAccess().getSliceColonKeyword_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArraySubscript__SliceAssignment_0"


    // $ANTLR start "rule__ArraySubscript__ExpressionAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19720:1: rule__ArraySubscript__ExpressionAssignment_1 : ( ruleExpression ) ;
    public final void rule__ArraySubscript__ExpressionAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19724:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19725:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19725:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19726:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArraySubscriptAccess().getExpressionExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ArraySubscript__ExpressionAssignment_139785);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArraySubscriptAccess().getExpressionExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArraySubscript__ExpressionAssignment_1"


    // $ANTLR start "rule__RealLiteral__ValueAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19735:1: rule__RealLiteral__ValueAssignment_0 : ( ruleValidDouble ) ;
    public final void rule__RealLiteral__ValueAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19739:1: ( ( ruleValidDouble ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19740:1: ( ruleValidDouble )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19740:1: ( ruleValidDouble )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19741:1: ruleValidDouble
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralAccess().getValueValidDoubleParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleValidDouble_in_rule__RealLiteral__ValueAssignment_039816);
            ruleValidDouble();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealLiteralAccess().getValueValidDoubleParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__ValueAssignment_0"


    // $ANTLR start "rule__RealLiteral__ModifierAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19750:1: rule__RealLiteral__ModifierAssignment_1 : ( ruleValidID ) ;
    public final void rule__RealLiteral__ModifierAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19754:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19755:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19755:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19756:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralAccess().getModifierValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__RealLiteral__ModifierAssignment_139847);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealLiteralAccess().getModifierValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__ModifierAssignment_1"


    // $ANTLR start "rule__RealLiteral__UnitAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19765:1: rule__RealLiteral__UnitAssignment_2 : ( ruleUnit ) ;
    public final void rule__RealLiteral__UnitAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19769:1: ( ( ruleUnit ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19770:1: ( ruleUnit )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19770:1: ( ruleUnit )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19771:1: ruleUnit
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRealLiteralAccess().getUnitUnitParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleUnit_in_rule__RealLiteral__UnitAssignment_239878);
            ruleUnit();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRealLiteralAccess().getUnitUnitParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RealLiteral__UnitAssignment_2"


    // $ANTLR start "rule__IntegerLiteral__ValueAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19780:1: rule__IntegerLiteral__ValueAssignment_0 : ( ruleValidLong ) ;
    public final void rule__IntegerLiteral__ValueAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19784:1: ( ( ruleValidLong ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19785:1: ( ruleValidLong )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19785:1: ( ruleValidLong )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19786:1: ruleValidLong
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralAccess().getValueValidLongParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleValidLong_in_rule__IntegerLiteral__ValueAssignment_039909);
            ruleValidLong();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerLiteralAccess().getValueValidLongParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__ValueAssignment_0"


    // $ANTLR start "rule__IntegerLiteral__ModifierAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19795:1: rule__IntegerLiteral__ModifierAssignment_1 : ( ruleValidID ) ;
    public final void rule__IntegerLiteral__ModifierAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19799:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19800:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19800:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19801:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralAccess().getModifierValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__IntegerLiteral__ModifierAssignment_139940);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerLiteralAccess().getModifierValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__ModifierAssignment_1"


    // $ANTLR start "rule__IntegerLiteral__UnitAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19810:1: rule__IntegerLiteral__UnitAssignment_2 : ( ruleUnit ) ;
    public final void rule__IntegerLiteral__UnitAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19814:1: ( ( ruleUnit ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19815:1: ( ruleUnit )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19815:1: ( ruleUnit )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19816:1: ruleUnit
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIntegerLiteralAccess().getUnitUnitParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleUnit_in_rule__IntegerLiteral__UnitAssignment_239971);
            ruleUnit();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIntegerLiteralAccess().getUnitUnitParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IntegerLiteral__UnitAssignment_2"


    // $ANTLR start "rule__BooleanLiteral__TrueAssignment_1_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19825:1: rule__BooleanLiteral__TrueAssignment_1_0 : ( ( 'true' ) ) ;
    public final void rule__BooleanLiteral__TrueAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19829:1: ( ( ( 'true' ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19830:1: ( ( 'true' ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19830:1: ( ( 'true' ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19831:1: ( 'true' )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanLiteralAccess().getTrueTrueKeyword_1_0_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19832:1: ( 'true' )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19833:1: 'true'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanLiteralAccess().getTrueTrueKeyword_1_0_0()); 
            }
            match(input,90,FOLLOW_90_in_rule__BooleanLiteral__TrueAssignment_1_040007); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanLiteralAccess().getTrueTrueKeyword_1_0_0()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanLiteralAccess().getTrueTrueKeyword_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BooleanLiteral__TrueAssignment_1_0"


    // $ANTLR start "rule__StringLiteral__ValueAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19848:1: rule__StringLiteral__ValueAssignment : ( RULE_STRING ) ;
    public final void rule__StringLiteral__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19852:1: ( ( RULE_STRING ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19853:1: ( RULE_STRING )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19853:1: ( RULE_STRING )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19854:1: RULE_STRING
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); 
            }
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment40046); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringLiteral__ValueAssignment"


    // $ANTLR start "rule__VariableAccess__FeatureAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19863:1: rule__VariableAccess__FeatureAssignment_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__VariableAccess__FeatureAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19867:1: ( ( ( ruleQualifiedName ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19868:1: ( ( ruleQualifiedName ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19868:1: ( ( ruleQualifiedName ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19869:1: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getFeatureCallableElementCrossReference_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19870:1: ( ruleQualifiedName )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19871:1: ruleQualifiedName
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getFeatureCallableElementQualifiedNameParserRuleCall_1_0_1()); 
            }
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__VariableAccess__FeatureAssignment_140081);
            ruleQualifiedName();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getFeatureCallableElementQualifiedNameParserRuleCall_1_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getFeatureCallableElementCrossReference_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__FeatureAssignment_1"


    // $ANTLR start "rule__VariableAccess__StepExpressionAssignment_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19882:1: rule__VariableAccess__StepExpressionAssignment_2_1 : ( ruleStepExpression ) ;
    public final void rule__VariableAccess__StepExpressionAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19886:1: ( ( ruleStepExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19887:1: ( ruleStepExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19887:1: ( ruleStepExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19888:1: ruleStepExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableAccessAccess().getStepExpressionStepExpressionParserRuleCall_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleStepExpression_in_rule__VariableAccess__StepExpressionAssignment_2_140116);
            ruleStepExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableAccessAccess().getStepExpressionStepExpressionParserRuleCall_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableAccess__StepExpressionAssignment_2_1"


    // $ANTLR start "rule__FunctionCall__FeatureAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19897:1: rule__FunctionCall__FeatureAssignment_1 : ( ( ruleQualifiedName ) ) ;
    public final void rule__FunctionCall__FeatureAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19901:1: ( ( ( ruleQualifiedName ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19902:1: ( ( ruleQualifiedName ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19902:1: ( ( ruleQualifiedName ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19903:1: ( ruleQualifiedName )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getFeatureCallableElementCrossReference_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19904:1: ( ruleQualifiedName )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19905:1: ruleQualifiedName
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getFeatureCallableElementQualifiedNameParserRuleCall_1_0_1()); 
            }
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__FunctionCall__FeatureAssignment_140151);
            ruleQualifiedName();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getFeatureCallableElementQualifiedNameParserRuleCall_1_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getFeatureCallableElementCrossReference_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__FeatureAssignment_1"


    // $ANTLR start "rule__FunctionCall__ArgumentsAssignment_3_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19916:1: rule__FunctionCall__ArgumentsAssignment_3_0 : ( ruleExpression ) ;
    public final void rule__FunctionCall__ArgumentsAssignment_3_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19920:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19921:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19921:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19922:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getArgumentsExpressionParserRuleCall_3_0_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__FunctionCall__ArgumentsAssignment_3_040186);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getArgumentsExpressionParserRuleCall_3_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__ArgumentsAssignment_3_0"


    // $ANTLR start "rule__FunctionCall__ArgumentsAssignment_3_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19931:1: rule__FunctionCall__ArgumentsAssignment_3_1_1 : ( ruleExpression ) ;
    public final void rule__FunctionCall__ArgumentsAssignment_3_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19935:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19936:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19936:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19937:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFunctionCallAccess().getArgumentsExpressionParserRuleCall_3_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__FunctionCall__ArgumentsAssignment_3_1_140217);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFunctionCallAccess().getArgumentsExpressionParserRuleCall_3_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FunctionCall__ArgumentsAssignment_3_1_1"


    // $ANTLR start "rule__RangeStepExpression__EndAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19946:1: rule__RangeStepExpression__EndAssignment_1_2 : ( ruleAdditiveStepExpression ) ;
    public final void rule__RangeStepExpression__EndAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19950:1: ( ( ruleAdditiveStepExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19951:1: ( ruleAdditiveStepExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19951:1: ( ruleAdditiveStepExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19952:1: ruleAdditiveStepExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getRangeStepExpressionAccess().getEndAdditiveStepExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleAdditiveStepExpression_in_rule__RangeStepExpression__EndAssignment_1_240248);
            ruleAdditiveStepExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getRangeStepExpressionAccess().getEndAdditiveStepExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RangeStepExpression__EndAssignment_1_2"


    // $ANTLR start "rule__AdditiveStepExpression__OperatorAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19961:1: rule__AdditiveStepExpression__OperatorAssignment_1_1 : ( ruleAdditiveOperator ) ;
    public final void rule__AdditiveStepExpression__OperatorAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19965:1: ( ( ruleAdditiveOperator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19966:1: ( ruleAdditiveOperator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19966:1: ( ruleAdditiveOperator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19967:1: ruleAdditiveOperator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getOperatorAdditiveOperatorEnumRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleAdditiveOperator_in_rule__AdditiveStepExpression__OperatorAssignment_1_140279);
            ruleAdditiveOperator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveStepExpressionAccess().getOperatorAdditiveOperatorEnumRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__OperatorAssignment_1_1"


    // $ANTLR start "rule__AdditiveStepExpression__RightOperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19976:1: rule__AdditiveStepExpression__RightOperandAssignment_1_2 : ( ruleNegateStepExpression ) ;
    public final void rule__AdditiveStepExpression__RightOperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19980:1: ( ( ruleNegateStepExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19981:1: ( ruleNegateStepExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19981:1: ( ruleNegateStepExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19982:1: ruleNegateStepExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAdditiveStepExpressionAccess().getRightOperandNegateStepExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleNegateStepExpression_in_rule__AdditiveStepExpression__RightOperandAssignment_1_240310);
            ruleNegateStepExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAdditiveStepExpressionAccess().getRightOperandNegateStepExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AdditiveStepExpression__RightOperandAssignment_1_2"


    // $ANTLR start "rule__NegateStepExpression__OperandAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19991:1: rule__NegateStepExpression__OperandAssignment_1_2 : ( rulePrimitiveStepExpression ) ;
    public final void rule__NegateStepExpression__OperandAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19995:1: ( ( rulePrimitiveStepExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19996:1: ( rulePrimitiveStepExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19996:1: ( rulePrimitiveStepExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:19997:1: rulePrimitiveStepExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNegateStepExpressionAccess().getOperandPrimitiveStepExpressionParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_rulePrimitiveStepExpression_in_rule__NegateStepExpression__OperandAssignment_1_240341);
            rulePrimitiveStepExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getNegateStepExpressionAccess().getOperandPrimitiveStepExpressionParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegateStepExpression__OperandAssignment_1_2"


    // $ANTLR start "rule__StepLiteral__ValueAssignment"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20006:1: rule__StepLiteral__ValueAssignment : ( ruleValidInt ) ;
    public final void rule__StepLiteral__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20010:1: ( ( ruleValidInt ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20011:1: ( ruleValidInt )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20011:1: ( ruleValidInt )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20012:1: ruleValidInt
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getStepLiteralAccess().getValueValidIntParserRuleCall_0()); 
            }
            pushFollow(FOLLOW_ruleValidInt_in_rule__StepLiteral__ValueAssignment40372);
            ruleValidInt();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getStepLiteralAccess().getValueValidIntParserRuleCall_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StepLiteral__ValueAssignment"


    // $ANTLR start "rule__DerivativeOperator__VariableAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20021:1: rule__DerivativeOperator__VariableAssignment_1 : ( ( ruleValidID ) ) ;
    public final void rule__DerivativeOperator__VariableAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20025:1: ( ( ( ruleValidID ) ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20026:1: ( ( ruleValidID ) )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20026:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20027:1: ( ruleValidID )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDerivativeOperatorAccess().getVariableCallableElementCrossReference_1_0()); 
            }
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20028:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20029:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDerivativeOperatorAccess().getVariableCallableElementValidIDParserRuleCall_1_0_1()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__DerivativeOperator__VariableAssignment_140407);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDerivativeOperatorAccess().getVariableCallableElementValidIDParserRuleCall_1_0_1()); 
            }

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getDerivativeOperatorAccess().getVariableCallableElementCrossReference_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DerivativeOperator__VariableAssignment_1"


    // $ANTLR start "rule__ArrayConstructionOperator__ExpressionsAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20040:1: rule__ArrayConstructionOperator__ExpressionsAssignment_1 : ( ruleExpression ) ;
    public final void rule__ArrayConstructionOperator__ExpressionsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20044:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20045:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20045:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20046:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ArrayConstructionOperator__ExpressionsAssignment_140442);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__ExpressionsAssignment_1"


    // $ANTLR start "rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20055:1: rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1 : ( ruleExpression ) ;
    public final void rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20059:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20060:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20060:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20061:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsExpressionParserRuleCall_2_0_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_140473);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getExpressionsExpressionParserRuleCall_2_0_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1"


    // $ANTLR start "rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20070:1: rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1 : ( ruleArrayConstructionIterationClause ) ;
    public final void rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20074:1: ( ( ruleArrayConstructionIterationClause ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20075:1: ( ruleArrayConstructionIterationClause )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20075:1: ( ruleArrayConstructionIterationClause )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20076:1: ruleArrayConstructionIterationClause
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesArrayConstructionIterationClauseParserRuleCall_2_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleArrayConstructionIterationClause_in_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_140504);
            ruleArrayConstructionIterationClause();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesArrayConstructionIterationClauseParserRuleCall_2_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1"


    // $ANTLR start "rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20085:1: rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1 : ( ruleArrayConstructionIterationClause ) ;
    public final void rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20089:1: ( ( ruleArrayConstructionIterationClause ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20090:1: ( ruleArrayConstructionIterationClause )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20090:1: ( ruleArrayConstructionIterationClause )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20091:1: ruleArrayConstructionIterationClause
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesArrayConstructionIterationClauseParserRuleCall_2_1_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleArrayConstructionIterationClause_in_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_140535);
            ruleArrayConstructionIterationClause();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionOperatorAccess().getIterationClausesArrayConstructionIterationClauseParserRuleCall_2_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1"


    // $ANTLR start "rule__ArrayConstructionIterationClause__VariableNameAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20100:1: rule__ArrayConstructionIterationClause__VariableNameAssignment_0 : ( ruleValidID ) ;
    public final void rule__ArrayConstructionIterationClause__VariableNameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20104:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20105:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20105:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20106:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionIterationClauseAccess().getVariableNameValidIDParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__ArrayConstructionIterationClause__VariableNameAssignment_040566);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionIterationClauseAccess().getVariableNameValidIDParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__VariableNameAssignment_0"


    // $ANTLR start "rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20115:1: rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2 : ( ruleExpression ) ;
    public final void rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20119:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20120:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20120:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20121:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConstructionIterationClauseAccess().getCollectionExpressionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_240597);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConstructionIterationClauseAccess().getCollectionExpressionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2"


    // $ANTLR start "rule__ArrayConcatenationOperator__RowsAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20130:1: rule__ArrayConcatenationOperator__RowsAssignment_1 : ( ruleExpressionList ) ;
    public final void rule__ArrayConcatenationOperator__RowsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20134:1: ( ( ruleExpressionList ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20135:1: ( ruleExpressionList )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20135:1: ( ruleExpressionList )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20136:1: ruleExpressionList
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getRowsExpressionListParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpressionList_in_rule__ArrayConcatenationOperator__RowsAssignment_140628);
            ruleExpressionList();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getRowsExpressionListParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__RowsAssignment_1"


    // $ANTLR start "rule__ArrayConcatenationOperator__RowsAssignment_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20145:1: rule__ArrayConcatenationOperator__RowsAssignment_2_1 : ( ruleExpressionList ) ;
    public final void rule__ArrayConcatenationOperator__RowsAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20149:1: ( ( ruleExpressionList ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20150:1: ( ruleExpressionList )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20150:1: ( ruleExpressionList )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20151:1: ruleExpressionList
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayConcatenationOperatorAccess().getRowsExpressionListParserRuleCall_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpressionList_in_rule__ArrayConcatenationOperator__RowsAssignment_2_140659);
            ruleExpressionList();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayConcatenationOperatorAccess().getRowsExpressionListParserRuleCall_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ArrayConcatenationOperator__RowsAssignment_2_1"


    // $ANTLR start "rule__ExpressionList__ExpressionsAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20160:1: rule__ExpressionList__ExpressionsAssignment_0 : ( ruleExpression ) ;
    public final void rule__ExpressionList__ExpressionsAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20164:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20165:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20165:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20166:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListAccess().getExpressionsExpressionParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ExpressionList__ExpressionsAssignment_040690);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExpressionListAccess().getExpressionsExpressionParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__ExpressionsAssignment_0"


    // $ANTLR start "rule__ExpressionList__ExpressionsAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20175:1: rule__ExpressionList__ExpressionsAssignment_1_1 : ( ruleExpression ) ;
    public final void rule__ExpressionList__ExpressionsAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20179:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20180:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20180:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20181:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExpressionListAccess().getExpressionsExpressionParserRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ExpressionList__ExpressionsAssignment_1_140721);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExpressionListAccess().getExpressionsExpressionParserRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExpressionList__ExpressionsAssignment_1_1"


    // $ANTLR start "rule__UnitConstructionOperator__UnitAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20190:1: rule__UnitConstructionOperator__UnitAssignment_1 : ( ruleExplicitUnit ) ;
    public final void rule__UnitConstructionOperator__UnitAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20194:1: ( ( ruleExplicitUnit ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20195:1: ( ruleExplicitUnit )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20195:1: ( ruleExplicitUnit )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20196:1: ruleExplicitUnit
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitConstructionOperatorAccess().getUnitExplicitUnitParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExplicitUnit_in_rule__UnitConstructionOperator__UnitAssignment_140752);
            ruleExplicitUnit();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitConstructionOperatorAccess().getUnitExplicitUnitParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitConstructionOperator__UnitAssignment_1"


    // $ANTLR start "rule__ParenthesizedExpression__ExpressionsAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20205:1: rule__ParenthesizedExpression__ExpressionsAssignment_1 : ( ruleExpression ) ;
    public final void rule__ParenthesizedExpression__ExpressionsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20209:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20210:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20210:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20211:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getExpressionsExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ParenthesizedExpression__ExpressionsAssignment_140783);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getExpressionsExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__ExpressionsAssignment_1"


    // $ANTLR start "rule__ParenthesizedExpression__ExpressionsAssignment_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20220:1: rule__ParenthesizedExpression__ExpressionsAssignment_2_1 : ( ruleExpression ) ;
    public final void rule__ParenthesizedExpression__ExpressionsAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20224:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20225:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20225:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20226:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getParenthesizedExpressionAccess().getExpressionsExpressionParserRuleCall_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ParenthesizedExpression__ExpressionsAssignment_2_140814);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getParenthesizedExpressionAccess().getExpressionsExpressionParserRuleCall_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ParenthesizedExpression__ExpressionsAssignment_2_1"


    // $ANTLR start "rule__AlgorithmExpression__BodyAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20235:1: rule__AlgorithmExpression__BodyAssignment_2 : ( ruleCompound ) ;
    public final void rule__AlgorithmExpression__BodyAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20239:1: ( ( ruleCompound ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20240:1: ( ruleCompound )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20240:1: ( ruleCompound )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20241:1: ruleCompound
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAlgorithmExpressionAccess().getBodyCompoundParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleCompound_in_rule__AlgorithmExpression__BodyAssignment_240845);
            ruleCompound();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAlgorithmExpressionAccess().getBodyCompoundParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AlgorithmExpression__BodyAssignment_2"


    // $ANTLR start "rule__Compound__StatementsAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20250:1: rule__Compound__StatementsAssignment_2 : ( ruleStatement ) ;
    public final void rule__Compound__StatementsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20254:1: ( ( ruleStatement ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20255:1: ( ruleStatement )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20255:1: ( ruleStatement )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20256:1: ruleStatement
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getCompoundAccess().getStatementsStatementParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleStatement_in_rule__Compound__StatementsAssignment_240876);
            ruleStatement();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getCompoundAccess().getStatementsStatementParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Compound__StatementsAssignment_2"


    // $ANTLR start "rule__Assignment__TargetAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20265:1: rule__Assignment__TargetAssignment_0 : ( ruleAssignableMemberFeatureCall ) ;
    public final void rule__Assignment__TargetAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20269:1: ( ( ruleAssignableMemberFeatureCall ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20270:1: ( ruleAssignableMemberFeatureCall )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20270:1: ( ruleAssignableMemberFeatureCall )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20271:1: ruleAssignableMemberFeatureCall
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentAccess().getTargetAssignableMemberFeatureCallParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleAssignableMemberFeatureCall_in_rule__Assignment__TargetAssignment_040907);
            ruleAssignableMemberFeatureCall();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignmentAccess().getTargetAssignableMemberFeatureCallParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__TargetAssignment_0"


    // $ANTLR start "rule__Assignment__ExpressionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20280:1: rule__Assignment__ExpressionAssignment_2 : ( ruleExpression ) ;
    public final void rule__Assignment__ExpressionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20284:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20285:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20285:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20286:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAssignmentAccess().getExpressionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__Assignment__ExpressionAssignment_240938);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAssignmentAccess().getExpressionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assignment__ExpressionAssignment_2"


    // $ANTLR start "rule__VariableDeclaration__NameAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20295:1: rule__VariableDeclaration__NameAssignment_1 : ( ruleValidID ) ;
    public final void rule__VariableDeclaration__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20299:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20300:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20300:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20301:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getNameValidIDParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__VariableDeclaration__NameAssignment_140969);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableDeclarationAccess().getNameValidIDParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__NameAssignment_1"


    // $ANTLR start "rule__VariableDeclaration__InitializerAssignment_3"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20310:1: rule__VariableDeclaration__InitializerAssignment_3 : ( ruleExpression ) ;
    public final void rule__VariableDeclaration__InitializerAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20314:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20315:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20315:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20316:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getVariableDeclarationAccess().getInitializerExpressionParserRuleCall_3_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__VariableDeclaration__InitializerAssignment_341000);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getVariableDeclarationAccess().getInitializerExpressionParserRuleCall_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VariableDeclaration__InitializerAssignment_3"


    // $ANTLR start "rule__IfStatement__ConditionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20325:1: rule__IfStatement__ConditionAssignment_2 : ( ruleExpression ) ;
    public final void rule__IfStatement__ConditionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20329:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20330:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20330:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20331:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__IfStatement__ConditionAssignment_241031);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__ConditionAssignment_2"


    // $ANTLR start "rule__IfStatement__ThenStatementAssignment_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20340:1: rule__IfStatement__ThenStatementAssignment_4 : ( ruleStatement ) ;
    public final void rule__IfStatement__ThenStatementAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20344:1: ( ( ruleStatement ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20345:1: ( ruleStatement )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20345:1: ( ruleStatement )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20346:1: ruleStatement
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getThenStatementStatementParserRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleStatement_in_rule__IfStatement__ThenStatementAssignment_441062);
            ruleStatement();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getThenStatementStatementParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__ThenStatementAssignment_4"


    // $ANTLR start "rule__IfStatement__ElseStatementAssignment_5_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20355:1: rule__IfStatement__ElseStatementAssignment_5_1 : ( ruleStatement ) ;
    public final void rule__IfStatement__ElseStatementAssignment_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20359:1: ( ( ruleStatement ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20360:1: ( ruleStatement )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20360:1: ( ruleStatement )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20361:1: ruleStatement
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getIfStatementAccess().getElseStatementStatementParserRuleCall_5_1_0()); 
            }
            pushFollow(FOLLOW_ruleStatement_in_rule__IfStatement__ElseStatementAssignment_5_141093);
            ruleStatement();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getIfStatementAccess().getElseStatementStatementParserRuleCall_5_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStatement__ElseStatementAssignment_5_1"


    // $ANTLR start "rule__WhileStatement__ConditionAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20370:1: rule__WhileStatement__ConditionAssignment_2 : ( ruleExpression ) ;
    public final void rule__WhileStatement__ConditionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20374:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20375:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20375:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20376:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__WhileStatement__ConditionAssignment_241124);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__ConditionAssignment_2"


    // $ANTLR start "rule__WhileStatement__BodyAssignment_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20385:1: rule__WhileStatement__BodyAssignment_4 : ( ruleStatement ) ;
    public final void rule__WhileStatement__BodyAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20389:1: ( ( ruleStatement ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20390:1: ( ruleStatement )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20390:1: ( ruleStatement )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20391:1: ruleStatement
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getWhileStatementAccess().getBodyStatementParserRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleStatement_in_rule__WhileStatement__BodyAssignment_441155);
            ruleStatement();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getWhileStatementAccess().getBodyStatementParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__WhileStatement__BodyAssignment_4"


    // $ANTLR start "rule__ForStatement__IterationVariableAssignment_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20400:1: rule__ForStatement__IterationVariableAssignment_2 : ( ruleIterationVariable ) ;
    public final void rule__ForStatement__IterationVariableAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20404:1: ( ( ruleIterationVariable ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20405:1: ( ruleIterationVariable )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20405:1: ( ruleIterationVariable )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20406:1: ruleIterationVariable
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getIterationVariableIterationVariableParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleIterationVariable_in_rule__ForStatement__IterationVariableAssignment_241186);
            ruleIterationVariable();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getIterationVariableIterationVariableParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__IterationVariableAssignment_2"


    // $ANTLR start "rule__ForStatement__CollectionExpressionAssignment_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20415:1: rule__ForStatement__CollectionExpressionAssignment_4 : ( ruleExpression ) ;
    public final void rule__ForStatement__CollectionExpressionAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20419:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20420:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20420:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20421:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getCollectionExpressionExpressionParserRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ForStatement__CollectionExpressionAssignment_441217);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getCollectionExpressionExpressionParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__CollectionExpressionAssignment_4"


    // $ANTLR start "rule__ForStatement__BodyAssignment_6"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20430:1: rule__ForStatement__BodyAssignment_6 : ( ruleStatement ) ;
    public final void rule__ForStatement__BodyAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20434:1: ( ( ruleStatement ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20435:1: ( ruleStatement )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20435:1: ( ruleStatement )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20436:1: ruleStatement
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getForStatementAccess().getBodyStatementParserRuleCall_6_0()); 
            }
            pushFollow(FOLLOW_ruleStatement_in_rule__ForStatement__BodyAssignment_641248);
            ruleStatement();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getForStatementAccess().getBodyStatementParserRuleCall_6_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ForStatement__BodyAssignment_6"


    // $ANTLR start "rule__DoWhileStatement__BodyAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20445:1: rule__DoWhileStatement__BodyAssignment_1 : ( ruleStatement ) ;
    public final void rule__DoWhileStatement__BodyAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20449:1: ( ( ruleStatement ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20450:1: ( ruleStatement )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20450:1: ( ruleStatement )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20451:1: ruleStatement
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getBodyStatementParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleStatement_in_rule__DoWhileStatement__BodyAssignment_141279);
            ruleStatement();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getBodyStatementParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__BodyAssignment_1"


    // $ANTLR start "rule__DoWhileStatement__ConditionAssignment_4"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20460:1: rule__DoWhileStatement__ConditionAssignment_4 : ( ruleExpression ) ;
    public final void rule__DoWhileStatement__ConditionAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20464:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20465:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20465:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20466:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getDoWhileStatementAccess().getConditionExpressionParserRuleCall_4_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__DoWhileStatement__ConditionAssignment_441310);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getDoWhileStatementAccess().getConditionExpressionParserRuleCall_4_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DoWhileStatement__ConditionAssignment_4"


    // $ANTLR start "rule__ReturnStatement__ExpressionAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20475:1: rule__ReturnStatement__ExpressionAssignment_1 : ( ruleExpression ) ;
    public final void rule__ReturnStatement__ExpressionAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20479:1: ( ( ruleExpression ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20480:1: ( ruleExpression )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20480:1: ( ruleExpression )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20481:1: ruleExpression
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleExpression_in_rule__ReturnStatement__ExpressionAssignment_141341);
            ruleExpression();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ReturnStatement__ExpressionAssignment_1"


    // $ANTLR start "rule__Unit__NumeratorAssignment_1_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20490:1: rule__Unit__NumeratorAssignment_1_1_1 : ( ruleUnitNumerator ) ;
    public final void rule__Unit__NumeratorAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20494:1: ( ( ruleUnitNumerator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20495:1: ( ruleUnitNumerator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20495:1: ( ruleUnitNumerator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20496:1: ruleUnitNumerator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getNumeratorUnitNumeratorParserRuleCall_1_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitNumerator_in_rule__Unit__NumeratorAssignment_1_1_141372);
            ruleUnitNumerator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getNumeratorUnitNumeratorParserRuleCall_1_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__NumeratorAssignment_1_1_1"


    // $ANTLR start "rule__Unit__DenominatorAssignment_1_1_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20505:1: rule__Unit__DenominatorAssignment_1_1_2_1 : ( ruleUnitDenominator ) ;
    public final void rule__Unit__DenominatorAssignment_1_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20509:1: ( ( ruleUnitDenominator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20510:1: ( ruleUnitDenominator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20510:1: ( ruleUnitDenominator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20511:1: ruleUnitDenominator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getDenominatorUnitDenominatorParserRuleCall_1_1_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitDenominator_in_rule__Unit__DenominatorAssignment_1_1_2_141403);
            ruleUnitDenominator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getDenominatorUnitDenominatorParserRuleCall_1_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__DenominatorAssignment_1_1_2_1"


    // $ANTLR start "rule__Unit__NumeratorAssignment_1_2"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20520:1: rule__Unit__NumeratorAssignment_1_2 : ( ruleImplicitUnitNumerator ) ;
    public final void rule__Unit__NumeratorAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20524:1: ( ( ruleImplicitUnitNumerator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20525:1: ( ruleImplicitUnitNumerator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20525:1: ( ruleImplicitUnitNumerator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20526:1: ruleImplicitUnitNumerator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitAccess().getNumeratorImplicitUnitNumeratorParserRuleCall_1_2_0()); 
            }
            pushFollow(FOLLOW_ruleImplicitUnitNumerator_in_rule__Unit__NumeratorAssignment_1_241434);
            ruleImplicitUnitNumerator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitAccess().getNumeratorImplicitUnitNumeratorParserRuleCall_1_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Unit__NumeratorAssignment_1_2"


    // $ANTLR start "rule__ExplicitUnit__NumeratorAssignment_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20535:1: rule__ExplicitUnit__NumeratorAssignment_1 : ( ruleUnitNumerator ) ;
    public final void rule__ExplicitUnit__NumeratorAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20539:1: ( ( ruleUnitNumerator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20540:1: ( ruleUnitNumerator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20540:1: ( ruleUnitNumerator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20541:1: ruleUnitNumerator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getNumeratorUnitNumeratorParserRuleCall_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitNumerator_in_rule__ExplicitUnit__NumeratorAssignment_141465);
            ruleUnitNumerator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getNumeratorUnitNumeratorParserRuleCall_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__NumeratorAssignment_1"


    // $ANTLR start "rule__ExplicitUnit__DenominatorAssignment_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20550:1: rule__ExplicitUnit__DenominatorAssignment_2_1 : ( ruleUnitDenominator ) ;
    public final void rule__ExplicitUnit__DenominatorAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20554:1: ( ( ruleUnitDenominator ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20555:1: ( ruleUnitDenominator )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20555:1: ( ruleUnitDenominator )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20556:1: ruleUnitDenominator
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getExplicitUnitAccess().getDenominatorUnitDenominatorParserRuleCall_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitDenominator_in_rule__ExplicitUnit__DenominatorAssignment_2_141496);
            ruleUnitDenominator();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getExplicitUnitAccess().getDenominatorUnitDenominatorParserRuleCall_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ExplicitUnit__DenominatorAssignment_2_1"


    // $ANTLR start "rule__UnitNumerator__FactorsAssignment_1_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20565:1: rule__UnitNumerator__FactorsAssignment_1_0 : ( ruleUnitFactor ) ;
    public final void rule__UnitNumerator__FactorsAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20569:1: ( ( ruleUnitFactor ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20570:1: ( ruleUnitFactor )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20570:1: ( ruleUnitFactor )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20571:1: ruleUnitFactor
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getFactorsUnitFactorParserRuleCall_1_0_0()); 
            }
            pushFollow(FOLLOW_ruleUnitFactor_in_rule__UnitNumerator__FactorsAssignment_1_041527);
            ruleUnitFactor();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getFactorsUnitFactorParserRuleCall_1_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__FactorsAssignment_1_0"


    // $ANTLR start "rule__UnitNumerator__FactorsAssignment_1_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20580:1: rule__UnitNumerator__FactorsAssignment_1_1_1 : ( ruleUnitFactor ) ;
    public final void rule__UnitNumerator__FactorsAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20584:1: ( ( ruleUnitFactor ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20585:1: ( ruleUnitFactor )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20585:1: ( ruleUnitFactor )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20586:1: ruleUnitFactor
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitNumeratorAccess().getFactorsUnitFactorParserRuleCall_1_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitFactor_in_rule__UnitNumerator__FactorsAssignment_1_1_141558);
            ruleUnitFactor();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitNumeratorAccess().getFactorsUnitFactorParserRuleCall_1_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitNumerator__FactorsAssignment_1_1_1"


    // $ANTLR start "rule__UnitDenominator__FactorsAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20595:1: rule__UnitDenominator__FactorsAssignment_0 : ( ruleUnitFactor ) ;
    public final void rule__UnitDenominator__FactorsAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20599:1: ( ( ruleUnitFactor ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20600:1: ( ruleUnitFactor )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20600:1: ( ruleUnitFactor )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20601:1: ruleUnitFactor
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getFactorsUnitFactorParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleUnitFactor_in_rule__UnitDenominator__FactorsAssignment_041589);
            ruleUnitFactor();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getFactorsUnitFactorParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__FactorsAssignment_0"


    // $ANTLR start "rule__UnitDenominator__FactorsAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20610:1: rule__UnitDenominator__FactorsAssignment_1_1 : ( ruleUnitFactor ) ;
    public final void rule__UnitDenominator__FactorsAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20614:1: ( ( ruleUnitFactor ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20615:1: ( ruleUnitFactor )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20615:1: ( ruleUnitFactor )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20616:1: ruleUnitFactor
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getFactorsUnitFactorParserRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitFactor_in_rule__UnitDenominator__FactorsAssignment_1_141620);
            ruleUnitFactor();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getFactorsUnitFactorParserRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__FactorsAssignment_1_1"


    // $ANTLR start "rule__UnitDenominator__FactorsAssignment_1_2_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20625:1: rule__UnitDenominator__FactorsAssignment_1_2_1 : ( ruleUnitFactor ) ;
    public final void rule__UnitDenominator__FactorsAssignment_1_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20629:1: ( ( ruleUnitFactor ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20630:1: ( ruleUnitFactor )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20630:1: ( ruleUnitFactor )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20631:1: ruleUnitFactor
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitDenominatorAccess().getFactorsUnitFactorParserRuleCall_1_2_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitFactor_in_rule__UnitDenominator__FactorsAssignment_1_2_141651);
            ruleUnitFactor();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitDenominatorAccess().getFactorsUnitFactorParserRuleCall_1_2_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitDenominator__FactorsAssignment_1_2_1"


    // $ANTLR start "rule__UnitFactor__SymbolAssignment_0"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20640:1: rule__UnitFactor__SymbolAssignment_0 : ( ruleValidID ) ;
    public final void rule__UnitFactor__SymbolAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20644:1: ( ( ruleValidID ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20645:1: ( ruleValidID )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20645:1: ( ruleValidID )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20646:1: ruleValidID
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorAccess().getSymbolValidIDParserRuleCall_0_0()); 
            }
            pushFollow(FOLLOW_ruleValidID_in_rule__UnitFactor__SymbolAssignment_041682);
            ruleValidID();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitFactorAccess().getSymbolValidIDParserRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__SymbolAssignment_0"


    // $ANTLR start "rule__UnitFactor__ExponentAssignment_1_1"
    // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20655:1: rule__UnitFactor__ExponentAssignment_1_1 : ( ruleUnitExponent ) ;
    public final void rule__UnitFactor__ExponentAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20659:1: ( ( ruleUnitExponent ) )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20660:1: ( ruleUnitExponent )
            {
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20660:1: ( ruleUnitExponent )
            // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:20661:1: ruleUnitExponent
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getUnitFactorAccess().getExponentUnitExponentParserRuleCall_1_1_0()); 
            }
            pushFollow(FOLLOW_ruleUnitExponent_in_rule__UnitFactor__ExponentAssignment_1_141713);
            ruleUnitExponent();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getUnitFactorAccess().getExponentUnitExponentParserRuleCall_1_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__UnitFactor__ExponentAssignment_1_1"

    // $ANTLR start synpred16_InternalMscript
    public final void synpred16_InternalMscript_fragment() throws RecognitionException {   
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3321:1: ( ( ruleTensorType ) )
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3321:1: ( ruleTensorType )
        {
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3321:1: ( ruleTensorType )
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:3322:1: ruleTensorType
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getArrayTypeAccess().getTensorTypeParserRuleCall_0()); 
        }
        pushFollow(FOLLOW_ruleTensorType_in_synpred16_InternalMscript7052);
        ruleTensorType();

        state._fsp--;
        if (state.failed) return ;

        }


        }
    }
    // $ANTLR end synpred16_InternalMscript

    // $ANTLR start synpred108_InternalMscript
    public final void synpred108_InternalMscript_fragment() throws RecognitionException {   
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10302:2: ( rule__RelationalExpression__Group_1__0 )
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:10302:2: rule__RelationalExpression__Group_1__0
        {
        pushFollow(FOLLOW_rule__RelationalExpression__Group_1__0_in_synpred108_InternalMscript21151);
        rule__RelationalExpression__Group_1__0();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred108_InternalMscript

    // $ANTLR start synpred134_InternalMscript
    public final void synpred134_InternalMscript_fragment() throws RecognitionException {   
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15776:2: ( rule__IfStatement__Group_5__0 )
        // ../org.eclipselabs.mscript.language.ui/src-gen/org/eclipselabs/mscript/language/ui/contentassist/antlr/internal/InternalMscript.g:15776:2: rule__IfStatement__Group_5__0
        {
        pushFollow(FOLLOW_rule__IfStatement__Group_5__0_in_synpred134_InternalMscript31893);
        rule__IfStatement__Group_5__0();

        state._fsp--;
        if (state.failed) return ;

        }
    }
    // $ANTLR end synpred134_InternalMscript

    // Delegated rules

    public final boolean synpred134_InternalMscript() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred134_InternalMscript_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred108_InternalMscript() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred108_InternalMscript_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }
    public final boolean synpred16_InternalMscript() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred16_InternalMscript_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }


    protected DFA6 dfa6 = new DFA6(this);
    protected DFA15 dfa15 = new DFA15(this);
    protected DFA22 dfa22 = new DFA22(this);
    protected DFA75 dfa75 = new DFA75(this);
    static final String DFA6_eotS =
        "\u00a5\uffff";
    static final String DFA6_eofS =
        "\1\uffff\6\11\11\uffff\1\11\3\uffff\2\11\6\uffff\1\11\1\uffff\1"+
        "\11\3\uffff\1\11\3\uffff\1\11\3\uffff\1\11\172\uffff";
    static final String DFA6_minS =
        "\1\10\6\26\1\uffff\1\5\1\uffff\3\5\1\37\2\36\1\26\1\37\2\36\2\26"+
        "\1\37\2\36\1\37\2\36\1\26\1\7\1\26\1\5\2\7\1\26\1\5\2\7\1\26\1\5"+
        "\2\7\1\26\1\5\1\7\2\42\1\7\1\5\4\36\2\42\1\7\1\5\4\36\2\42\1\7\1"+
        "\5\4\36\2\42\1\7\1\5\4\36\1\5\2\36\2\5\2\36\2\5\2\36\2\5\2\36\2"+
        "\5\2\60\1\5\1\7\1\60\1\5\2\36\1\5\2\60\1\5\1\7\1\60\1\5\2\36\1\5"+
        "\2\60\1\5\1\7\1\60\1\5\2\36\1\5\2\60\1\5\1\7\1\60\1\5\2\36\1\5\4"+
        "\36\1\5\4\36\1\5\4\36\1\5\4\36\5\5\2\36\1\5\2\36\1\5\2\36\1\5\2"+
        "\36";
    static final String DFA6_maxS =
        "\1\73\6\116\1\uffff\1\60\1\uffff\6\60\1\116\3\60\2\116\6\60\1\116"+
        "\1\57\1\116\1\35\1\10\1\57\1\116\1\35\1\10\1\57\1\116\1\35\1\10"+
        "\1\57\1\116\1\35\1\10\2\60\1\10\1\6\6\60\1\10\1\6\6\60\1\10\1\6"+
        "\6\60\1\10\1\6\4\60\1\35\2\60\2\35\2\60\2\35\2\60\2\35\2\60\1\35"+
        "\1\6\2\60\1\35\1\10\1\60\1\6\2\60\1\6\2\60\1\35\1\10\1\60\1\6\2"+
        "\60\1\6\2\60\1\35\1\10\1\60\1\6\2\60\1\6\2\60\1\35\1\10\1\60\1\6"+
        "\2\60\1\6\4\60\1\6\4\60\1\6\4\60\1\6\4\60\4\35\1\6\2\60\1\6\2\60"+
        "\1\6\2\60\1\6\2\60";
    static final String DFA6_acceptS =
        "\7\uffff\1\2\1\uffff\1\1\u009b\uffff";
    static final String DFA6_specialS =
        "\u00a5\uffff}>";
    static final String[] DFA6_transitionS = {
            "\1\7\55\uffff\1\1\1\2\1\3\1\4\1\5\1\6",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\1\uffff\1\10\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2"+
            "\11\1\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\1\uffff\1\12\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2"+
            "\11\1\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\1\uffff\1\13\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2"+
            "\11\1\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\1\uffff\1\14\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2"+
            "\11\1\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "",
            "\1\15\1\uffff\1\16\1\17\47\uffff\1\20",
            "",
            "\1\21\1\uffff\1\22\1\23\47\uffff\1\24",
            "\1\26\1\uffff\1\27\1\30\47\uffff\1\25",
            "\1\31\1\uffff\1\32\1\33\47\uffff\1\34",
            "\1\35\20\uffff\1\36",
            "\1\40\1\35\2\uffff\1\37\15\uffff\1\36",
            "\1\40\1\35\2\uffff\1\37\15\uffff\1\36",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\1\41\20\uffff\1\42",
            "\1\44\1\41\2\uffff\1\43\15\uffff\1\42",
            "\1\44\1\41\2\uffff\1\43\15\uffff\1\42",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\1\45\20\uffff\1\46",
            "\1\50\1\45\2\uffff\1\47\15\uffff\1\46",
            "\1\50\1\45\2\uffff\1\47\15\uffff\1\46",
            "\1\51\20\uffff\1\52",
            "\1\54\1\51\2\uffff\1\53\15\uffff\1\52",
            "\1\54\1\51\2\uffff\1\53\15\uffff\1\52",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\1\55\1\56\46\uffff\1\57",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\1\61\1\62\26\uffff\1\60",
            "\1\63\1\64",
            "\1\65\1\66\46\uffff\1\67",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\1\71\1\72\26\uffff\1\70",
            "\1\73\1\74",
            "\1\75\1\76\46\uffff\1\77",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\1\101\1\102\26\uffff\1\100",
            "\1\103\1\104",
            "\1\105\1\106\46\uffff\1\107",
            "\2\11\2\uffff\1\11\14\uffff\2\11\1\uffff\2\11\1\uffff\1\11"+
            "\2\uffff\1\11\13\uffff\1\7\1\11\1\uffff\1\11\1\uffff\2\11\1"+
            "\uffff\5\11\2\uffff\1\11\2\uffff\1\11",
            "\1\111\1\112\26\uffff\1\110",
            "\1\113\1\114",
            "\1\115\15\uffff\1\36",
            "\1\115\15\uffff\1\36",
            "\1\116\1\117",
            "\1\61\1\62",
            "\1\40\1\35\20\uffff\1\36",
            "\1\40\1\35\20\uffff\1\36",
            "\1\40\1\35\2\uffff\1\120\15\uffff\1\36",
            "\1\40\1\35\2\uffff\1\120\15\uffff\1\36",
            "\1\121\15\uffff\1\42",
            "\1\121\15\uffff\1\42",
            "\1\122\1\123",
            "\1\71\1\72",
            "\1\44\1\41\20\uffff\1\42",
            "\1\44\1\41\20\uffff\1\42",
            "\1\44\1\41\2\uffff\1\124\15\uffff\1\42",
            "\1\44\1\41\2\uffff\1\124\15\uffff\1\42",
            "\1\125\15\uffff\1\46",
            "\1\125\15\uffff\1\46",
            "\1\126\1\127",
            "\1\101\1\102",
            "\1\50\1\45\20\uffff\1\46",
            "\1\50\1\45\20\uffff\1\46",
            "\1\50\1\45\2\uffff\1\130\15\uffff\1\46",
            "\1\50\1\45\2\uffff\1\130\15\uffff\1\46",
            "\1\131\15\uffff\1\52",
            "\1\131\15\uffff\1\52",
            "\1\132\1\133",
            "\1\111\1\112",
            "\1\54\1\51\20\uffff\1\52",
            "\1\54\1\51\20\uffff\1\52",
            "\1\54\1\51\2\uffff\1\134\15\uffff\1\52",
            "\1\54\1\51\2\uffff\1\134\15\uffff\1\52",
            "\1\136\1\137\26\uffff\1\135",
            "\1\141\3\uffff\1\140\15\uffff\1\142",
            "\1\141\3\uffff\1\140\15\uffff\1\142",
            "\1\144\1\145\26\uffff\1\143",
            "\1\147\1\150\26\uffff\1\146",
            "\1\152\3\uffff\1\151\15\uffff\1\153",
            "\1\152\3\uffff\1\151\15\uffff\1\153",
            "\1\155\1\156\26\uffff\1\154",
            "\1\160\1\161\26\uffff\1\157",
            "\1\163\3\uffff\1\162\15\uffff\1\164",
            "\1\163\3\uffff\1\162\15\uffff\1\164",
            "\1\166\1\167\26\uffff\1\165",
            "\1\171\1\172\26\uffff\1\170",
            "\1\174\3\uffff\1\173\15\uffff\1\175",
            "\1\174\3\uffff\1\173\15\uffff\1\175",
            "\1\177\1\u0080\26\uffff\1\176",
            "\1\136\1\137",
            "\1\36",
            "\1\36",
            "\1\u0082\1\u0083\26\uffff\1\u0081",
            "\1\u0084\1\u0085",
            "\1\36",
            "\1\144\1\145",
            "\1\40\1\35\20\uffff\1\36",
            "\1\40\1\35\20\uffff\1\36",
            "\1\147\1\150",
            "\1\42",
            "\1\42",
            "\1\u0087\1\u0088\26\uffff\1\u0086",
            "\1\u0089\1\u008a",
            "\1\42",
            "\1\155\1\156",
            "\1\44\1\41\20\uffff\1\42",
            "\1\44\1\41\20\uffff\1\42",
            "\1\160\1\161",
            "\1\46",
            "\1\46",
            "\1\u008c\1\u008d\26\uffff\1\u008b",
            "\1\u008e\1\u008f",
            "\1\46",
            "\1\166\1\167",
            "\1\50\1\45\20\uffff\1\46",
            "\1\50\1\45\20\uffff\1\46",
            "\1\171\1\172",
            "\1\52",
            "\1\52",
            "\1\u0091\1\u0092\26\uffff\1\u0090",
            "\1\u0093\1\u0094",
            "\1\52",
            "\1\177\1\u0080",
            "\1\54\1\51\20\uffff\1\52",
            "\1\54\1\51\20\uffff\1\52",
            "\1\u0082\1\u0083",
            "\1\141\21\uffff\1\142",
            "\1\141\21\uffff\1\142",
            "\1\141\3\uffff\1\u0095\15\uffff\1\142",
            "\1\141\3\uffff\1\u0095\15\uffff\1\142",
            "\1\u0087\1\u0088",
            "\1\152\21\uffff\1\153",
            "\1\152\21\uffff\1\153",
            "\1\152\3\uffff\1\u0096\15\uffff\1\153",
            "\1\152\3\uffff\1\u0096\15\uffff\1\153",
            "\1\u008c\1\u008d",
            "\1\163\21\uffff\1\164",
            "\1\163\21\uffff\1\164",
            "\1\163\3\uffff\1\u0097\15\uffff\1\164",
            "\1\163\3\uffff\1\u0097\15\uffff\1\164",
            "\1\u0091\1\u0092",
            "\1\174\21\uffff\1\175",
            "\1\174\21\uffff\1\175",
            "\1\174\3\uffff\1\u0098\15\uffff\1\175",
            "\1\174\3\uffff\1\u0098\15\uffff\1\175",
            "\1\u009a\1\u009b\26\uffff\1\u0099",
            "\1\u009d\1\u009e\26\uffff\1\u009c",
            "\1\u00a0\1\u00a1\26\uffff\1\u009f",
            "\1\u00a3\1\u00a4\26\uffff\1\u00a2",
            "\1\u009a\1\u009b",
            "\1\141\21\uffff\1\142",
            "\1\141\21\uffff\1\142",
            "\1\u009d\1\u009e",
            "\1\152\21\uffff\1\153",
            "\1\152\21\uffff\1\153",
            "\1\u00a0\1\u00a1",
            "\1\163\21\uffff\1\164",
            "\1\163\21\uffff\1\164",
            "\1\u00a3\1\u00a4",
            "\1\174\21\uffff\1\175",
            "\1\174\21\uffff\1\175"
    };

    static final short[] DFA6_eot = DFA.unpackEncodedString(DFA6_eotS);
    static final short[] DFA6_eof = DFA.unpackEncodedString(DFA6_eofS);
    static final char[] DFA6_min = DFA.unpackEncodedStringToUnsignedChars(DFA6_minS);
    static final char[] DFA6_max = DFA.unpackEncodedStringToUnsignedChars(DFA6_maxS);
    static final short[] DFA6_accept = DFA.unpackEncodedString(DFA6_acceptS);
    static final short[] DFA6_special = DFA.unpackEncodedString(DFA6_specialS);
    static final short[][] DFA6_transition;

    static {
        int numStates = DFA6_transitionS.length;
        DFA6_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA6_transition[i] = DFA.unpackEncodedString(DFA6_transitionS[i]);
        }
    }

    class DFA6 extends DFA {

        public DFA6(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 6;
            this.eot = DFA6_eot;
            this.eof = DFA6_eof;
            this.min = DFA6_min;
            this.max = DFA6_max;
            this.accept = DFA6_accept;
            this.special = DFA6_special;
            this.transition = DFA6_transition;
        }
        public String getDescription() {
            return "3232:1: rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0 : ( ( rulePrimitiveType ) | ( ruleArrayType ) );";
        }
    }
    static final String DFA15_eotS =
        "\15\uffff";
    static final String DFA15_eofS =
        "\2\uffff\2\5\11\uffff";
    static final String DFA15_minS =
        "\1\112\1\7\2\16\1\4\1\uffff\2\16\1\uffff\1\4\1\uffff\2\16";
    static final String DFA15_maxS =
        "\1\112\1\10\2\116\1\132\1\uffff\2\127\1\uffff\1\132\1\uffff\2\127";
    static final String DFA15_acceptS =
        "\5\uffff\1\1\2\uffff\1\2\1\uffff\1\3\2\uffff";
    static final String DFA15_specialS =
        "\15\uffff}>";
    static final String[] DFA15_transitionS = {
            "\1\1",
            "\1\2\1\3",
            "\1\5\7\uffff\16\5\3\uffff\2\5\1\uffff\2\5\1\uffff\1\5\1\uffff"+
            "\1\4\1\5\13\uffff\2\5\1\uffff\1\5\1\uffff\2\5\1\uffff\10\5\2"+
            "\uffff\1\5",
            "\1\5\7\uffff\16\5\3\uffff\2\5\1\uffff\2\5\1\uffff\1\5\1\uffff"+
            "\1\4\1\5\13\uffff\2\5\1\uffff\1\5\1\uffff\2\5\1\uffff\10\5\2"+
            "\uffff\1\5",
            "\3\10\1\6\1\7\1\10\5\uffff\1\10\15\uffff\1\10\6\uffff\1\10"+
            "\1\uffff\1\10\10\uffff\2\10\13\uffff\1\10\1\uffff\1\10\1\uffff"+
            "\1\10\2\uffff\1\10\11\uffff\1\10\1\uffff\3\10\6\uffff\1\10\1"+
            "\uffff\1\10",
            "",
            "\1\10\7\uffff\16\10\2\uffff\1\10\1\uffff\1\11\2\uffff\1\12"+
            "\1\uffff\1\10\1\uffff\2\10\13\uffff\1\10\11\uffff\5\10\1\12"+
            "\13\uffff\1\10",
            "\1\10\7\uffff\16\10\2\uffff\1\10\1\uffff\1\11\2\uffff\1\12"+
            "\1\uffff\1\10\1\uffff\2\10\13\uffff\1\10\11\uffff\5\10\1\12"+
            "\13\uffff\1\10",
            "",
            "\3\10\1\13\1\14\1\10\5\uffff\1\10\15\uffff\1\10\6\uffff\1\10"+
            "\1\uffff\1\10\10\uffff\1\10\14\uffff\1\10\1\uffff\1\10\1\uffff"+
            "\1\10\2\uffff\1\10\11\uffff\1\10\1\uffff\3\10\6\uffff\1\10\1"+
            "\uffff\1\10",
            "",
            "\1\10\7\uffff\16\10\2\uffff\1\10\1\uffff\1\11\2\uffff\1\12"+
            "\1\uffff\1\10\1\uffff\2\10\13\uffff\1\10\11\uffff\5\10\1\12"+
            "\13\uffff\1\10",
            "\1\10\7\uffff\16\10\2\uffff\1\10\1\uffff\1\11\2\uffff\1\12"+
            "\1\uffff\1\10\1\uffff\2\10\13\uffff\1\10\11\uffff\5\10\1\12"+
            "\13\uffff\1\10"
    };

    static final short[] DFA15_eot = DFA.unpackEncodedString(DFA15_eotS);
    static final short[] DFA15_eof = DFA.unpackEncodedString(DFA15_eofS);
    static final char[] DFA15_min = DFA.unpackEncodedStringToUnsignedChars(DFA15_minS);
    static final char[] DFA15_max = DFA.unpackEncodedStringToUnsignedChars(DFA15_maxS);
    static final short[] DFA15_accept = DFA.unpackEncodedString(DFA15_acceptS);
    static final short[] DFA15_special = DFA.unpackEncodedString(DFA15_specialS);
    static final short[][] DFA15_transition;

    static {
        int numStates = DFA15_transitionS.length;
        DFA15_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA15_transition[i] = DFA.unpackEncodedString(DFA15_transitionS[i]);
        }
    }

    class DFA15 extends DFA {

        public DFA15(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 15;
            this.eot = DFA15_eot;
            this.eof = DFA15_eof;
            this.min = DFA15_min;
            this.max = DFA15_max;
            this.accept = DFA15_accept;
            this.special = DFA15_special;
            this.transition = DFA15_transition;
        }
        public String getDescription() {
            return "3460:1: rule__MemberFeatureCall__Alternatives_1 : ( ( ( rule__MemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__MemberFeatureCall__Group_1_1__0 ) ) | ( ( rule__MemberFeatureCall__Group_1_2__0 ) ) );";
        }
    }
    static final String DFA22_eotS =
        "\10\uffff";
    static final String DFA22_eofS =
        "\1\uffff\2\5\3\uffff\2\5";
    static final String DFA22_minS =
        "\1\7\2\16\1\7\2\uffff\2\16";
    static final String DFA22_maxS =
        "\1\10\2\127\1\10\2\uffff\2\127";
    static final String DFA22_acceptS =
        "\4\uffff\1\2\1\1\2\uffff";
    static final String DFA22_specialS =
        "\10\uffff}>";
    static final String[] DFA22_transitionS = {
            "\1\1\1\2",
            "\1\5\7\uffff\16\5\2\uffff\3\5\1\uffff\2\5\1\uffff\1\5\1\uffff"+
            "\1\4\1\5\13\uffff\2\5\1\uffff\1\5\1\uffff\2\5\1\uffff\10\5\2"+
            "\uffff\1\5\10\uffff\1\3",
            "\1\5\7\uffff\16\5\2\uffff\3\5\1\uffff\2\5\1\uffff\1\5\1\uffff"+
            "\1\4\1\5\13\uffff\2\5\1\uffff\1\5\1\uffff\2\5\1\uffff\10\5\2"+
            "\uffff\1\5\10\uffff\1\3",
            "\1\6\1\7",
            "",
            "",
            "\1\5\7\uffff\16\5\2\uffff\3\5\1\uffff\2\5\1\uffff\1\5\1\uffff"+
            "\1\4\1\5\13\uffff\2\5\1\uffff\1\5\1\uffff\2\5\1\uffff\10\5\2"+
            "\uffff\1\5\10\uffff\1\3",
            "\1\5\7\uffff\16\5\2\uffff\3\5\1\uffff\2\5\1\uffff\1\5\1\uffff"+
            "\1\4\1\5\13\uffff\2\5\1\uffff\1\5\1\uffff\2\5\1\uffff\10\5\2"+
            "\uffff\1\5\10\uffff\1\3"
    };

    static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS);
    static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS);
    static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS);
    static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS);
    static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS);
    static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS);
    static final short[][] DFA22_transition;

    static {
        int numStates = DFA22_transitionS.length;
        DFA22_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA22_transition[i] = DFA.unpackEncodedString(DFA22_transitionS[i]);
        }
    }

    class DFA22 extends DFA {

        public DFA22(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 22;
            this.eot = DFA22_eot;
            this.eof = DFA22_eof;
            this.min = DFA22_min;
            this.max = DFA22_max;
            this.accept = DFA22_accept;
            this.special = DFA22_special;
            this.transition = DFA22_transition;
        }
        public String getDescription() {
            return "3670:1: rule__FeatureCall__Alternatives : ( ( ruleVariableAccess ) | ( ruleFunctionCall ) );";
        }
    }
    static final String DFA75_eotS =
        "\32\uffff";
    static final String DFA75_eofS =
        "\1\6\31\uffff";
    static final String DFA75_minS =
        "\1\26\2\uffff\1\0\26\uffff";
    static final String DFA75_maxS =
        "\1\116\2\uffff\1\0\26\uffff";
    static final String DFA75_acceptS =
        "\1\uffff\1\1\4\uffff\1\2\23\uffff";
    static final String DFA75_specialS =
        "\3\uffff\1\0\26\uffff}>";
    static final String[] DFA75_transitionS = {
            "\2\6\2\1\1\3\1\1\13\uffff\2\6\1\uffff\2\6\1\uffff\1\6\2\uffff"+
            "\1\6\14\uffff\1\6\1\uffff\1\6\1\uffff\2\6\1\uffff\5\6\1\1\1"+
            "\uffff\1\6\2\uffff\1\6",
            "",
            "",
            "\1\uffff",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA75_eot = DFA.unpackEncodedString(DFA75_eotS);
    static final short[] DFA75_eof = DFA.unpackEncodedString(DFA75_eofS);
    static final char[] DFA75_min = DFA.unpackEncodedStringToUnsignedChars(DFA75_minS);
    static final char[] DFA75_max = DFA.unpackEncodedStringToUnsignedChars(DFA75_maxS);
    static final short[] DFA75_accept = DFA.unpackEncodedString(DFA75_acceptS);
    static final short[] DFA75_special = DFA.unpackEncodedString(DFA75_specialS);
    static final short[][] DFA75_transition;

    static {
        int numStates = DFA75_transitionS.length;
        DFA75_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA75_transition[i] = DFA.unpackEncodedString(DFA75_transitionS[i]);
        }
    }

    class DFA75 extends DFA {

        public DFA75(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 75;
            this.eot = DFA75_eot;
            this.eof = DFA75_eof;
            this.min = DFA75_min;
            this.max = DFA75_max;
            this.accept = DFA75_accept;
            this.special = DFA75_special;
            this.transition = DFA75_transition;
        }
        public String getDescription() {
            return "10302:1: ( rule__RelationalExpression__Group_1__0 )?";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            TokenStream input = (TokenStream)_input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA75_3 = input.LA(1);

                         
                        int index75_3 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (synpred108_InternalMscript()) ) {s = 1;}

                        else if ( (true) ) {s = 6;}

                         
                        input.seek(index75_3);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 75, _s, input);
            error(nvae);
            throw nvae;
        }
    }
 

    public static final BitSet FOLLOW_ruleModule_in_entryRuleModule67 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModule74 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Module__DefinitionsAssignment_in_ruleModule100 = new BitSet(new long[]{0x0000522000030002L});
    public static final BitSet FOLLOW_ruleDefinition_in_entryRuleDefinition128 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDefinition135 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Alternatives_in_ruleDefinition161 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeDefinition_in_entryRuleDataTypeDefinition188 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDataTypeDefinition195 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DataTypeDefinition__Alternatives_in_ruleDataTypeDefinition221 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumerationDefinition_in_entryRuleEnumerationDefinition248 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationDefinition255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__0_in_ruleEnumerationDefinition281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumerationLiteralDeclaration_in_entryRuleEnumerationLiteralDeclaration308 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationLiteralDeclaration315 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationLiteralDeclaration__NameAssignment_in_ruleEnumerationLiteralDeclaration341 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTypeAliasDefinition_in_entryRuleTypeAliasDefinition368 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTypeAliasDefinition375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__0_in_ruleTypeAliasDefinition401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecordDefinition_in_entryRuleRecordDefinition428 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRecordDefinition435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__0_in_ruleRecordDefinition461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecordFieldDeclaration_in_entryRuleRecordFieldDeclaration488 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRecordFieldDeclaration495 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__0_in_ruleRecordFieldDeclaration521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionDefinition_in_entryRuleFunctionDefinition548 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFunctionDefinition555 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__0_in_ruleFunctionDefinition581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTemplateParameterDeclaration_in_entryRuleTemplateParameterDeclaration608 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTemplateParameterDeclaration615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TemplateParameterDeclaration__NameAssignment_in_ruleTemplateParameterDeclaration641 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInputParameterDeclaration_in_entryRuleInputParameterDeclaration668 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleInputParameterDeclaration675 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__InputParameterDeclaration__NameAssignment_in_ruleInputParameterDeclaration701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOutputParameterDeclaration_in_entryRuleOutputParameterDeclaration728 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleOutputParameterDeclaration735 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__OutputParameterDeclaration__NameAssignment_in_ruleOutputParameterDeclaration761 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheck_in_entryRuleCheck788 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCheck795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__0_in_ruleCheck821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssertion_in_entryRuleAssertion848 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAssertion855 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__0_in_ruleAssertion881 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStateVariableDeclaration_in_entryRuleStateVariableDeclaration908 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStateVariableDeclaration915 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StateVariableDeclaration__Group__0_in_ruleStateVariableDeclaration941 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionObjectDeclaration_in_entryRuleFunctionObjectDeclaration968 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFunctionObjectDeclaration975 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__0_in_ruleFunctionObjectDeclaration1001 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEquation_in_entryRuleEquation1028 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEquation1035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__0_in_ruleEquation1061 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeSpecifier_in_entryRuleDataTypeSpecifier1088 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDataTypeSpecifier1095 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DataTypeSpecifier__Alternatives_in_ruleDataTypeSpecifier1121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimitiveType_in_entryRulePrimitiveType1148 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveType1155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimitiveType__Alternatives_in_rulePrimitiveType1181 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumericType_in_entryRuleNumericType1208 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumericType1215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumericType__Alternatives_in_ruleNumericType1241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRealType_in_entryRuleRealType1268 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRealType1275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealType__Group__0_in_ruleRealType1301 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIntegerType_in_entryRuleIntegerType1328 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIntegerType1335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerType__Group__0_in_ruleIntegerType1361 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleComplexType_in_entryRuleComplexType1388 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleComplexType1395 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ComplexType__Group__0_in_ruleComplexType1421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGaussianType_in_entryRuleGaussianType1448 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGaussianType1455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GaussianType__Group__0_in_ruleGaussianType1481 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanType_in_entryRuleBooleanType1508 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanType1515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanType__Group__0_in_ruleBooleanType1541 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringType_in_entryRuleStringType1568 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStringType1575 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringType__Group__0_in_ruleStringType1601 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayType_in_entryRuleArrayType1628 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArrayType1635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Alternatives_in_ruleArrayType1661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTensorType_in_entryRuleTensorType1688 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTensorType1695 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group__0_in_ruleTensorType1721 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayDimension_in_entryRuleArrayDimension1748 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArrayDimension1755 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayDimension__Group__0_in_ruleArrayDimension1781 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression1808 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExpression1815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Expression__Alternatives_in_ruleExpression1841 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpression_in_entryRuleLetExpression1868 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLetExpression1875 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__0_in_ruleLetExpression1901 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpressionVariableDeclaration_in_entryRuleLetExpressionVariableDeclaration1928 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLetExpressionVariableDeclaration1935 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group__0_in_ruleLetExpressionVariableDeclaration1961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpressionVariableDeclarationPart_in_entryRuleLetExpressionVariableDeclarationPart1988 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLetExpressionVariableDeclarationPart1995 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclarationPart__NameAssignment_in_ruleLetExpressionVariableDeclarationPart2021 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfExpression_in_entryRuleIfExpression2048 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIfExpression2055 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__0_in_ruleIfExpression2081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSwitchExpression_in_entryRuleSwitchExpression2108 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSwitchExpression2115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__0_in_ruleSwitchExpression2141 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSwitchCase_in_entryRuleSwitchCase2168 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSwitchCase2175 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__0_in_ruleSwitchCase2201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRangeExpression_in_entryRuleRangeExpression2228 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRangeExpression2235 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group__0_in_ruleRangeExpression2261 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImpliesExpression_in_entryRuleImpliesExpression2288 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImpliesExpression2295 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group__0_in_ruleImpliesExpression2321 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogicalOrExpression_in_entryRuleLogicalOrExpression2348 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLogicalOrExpression2355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group__0_in_ruleLogicalOrExpression2381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogicalAndExpression_in_entryRuleLogicalAndExpression2408 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLogicalAndExpression2415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group__0_in_ruleLogicalAndExpression2441 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEqualityExpression_in_entryRuleEqualityExpression2468 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEqualityExpression2475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group__0_in_ruleEqualityExpression2501 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRelationalExpression_in_entryRuleRelationalExpression2528 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRelationalExpression2535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group__0_in_ruleRelationalExpression2561 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveExpression_in_entryRuleAdditiveExpression2588 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAdditiveExpression2595 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group__0_in_ruleAdditiveExpression2621 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_entryRuleMultiplicativeExpression2648 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicativeExpression2655 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group__0_in_ruleMultiplicativeExpression2681 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePowerExpression_in_entryRulePowerExpression2708 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePowerExpression2715 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group__0_in_rulePowerExpression2741 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnaryExpression_in_entryRuleUnaryExpression2768 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnaryExpression2775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryExpression__Alternatives_in_ruleUnaryExpression2801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePostfixExpression_in_entryRulePostfixExpression2828 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePostfixExpression2835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group__0_in_rulePostfixExpression2861 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayElementAccess_in_entryRuleArrayElementAccess2888 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArrayElementAccess2895 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group__0_in_ruleArrayElementAccess2921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMemberFeatureCall_in_entryRuleMemberFeatureCall2948 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMemberFeatureCall2955 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group__0_in_ruleMemberFeatureCall2981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssignableMemberFeatureCall_in_entryRuleAssignableMemberFeatureCall3008 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAssignableMemberFeatureCall3015 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group__0_in_ruleAssignableMemberFeatureCall3041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIterationVariable_in_entryRuleIterationVariable3068 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIterationVariable3075 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IterationVariable__NameAssignment_in_ruleIterationVariable3101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIterationAccumulator_in_entryRuleIterationAccumulator3128 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIterationAccumulator3135 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__Group__0_in_ruleIterationAccumulator3161 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArraySubscript_in_entryRuleArraySubscript3188 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArraySubscript3195 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArraySubscript__Alternatives_in_ruleArraySubscript3221 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression3248 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpression3255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Alternatives_in_rulePrimaryExpression3281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssignablePrimaryExpression_in_entryRuleAssignablePrimaryExpression3308 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAssignablePrimaryExpression3315 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignablePrimaryExpression__Alternatives_in_ruleAssignablePrimaryExpression3341 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral3368 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral3375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral3401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumericLiteral_in_entryRuleNumericLiteral3428 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumericLiteral3435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumericLiteral__Alternatives_in_ruleNumericLiteral3461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral3488 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral3495 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral3521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIntegerLiteral_in_entryRuleIntegerLiteral3548 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIntegerLiteral3555 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__Group__0_in_ruleIntegerLiteral3581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral3608 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral3615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral3641 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral3668 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral3675 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_in_ruleStringLiteral3701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFeatureCall_in_entryRuleFeatureCall3728 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFeatureCall3735 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FeatureCall__Alternatives_in_ruleFeatureCall3761 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVariableAccess_in_entryRuleVariableAccess3788 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleVariableAccess3795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group__0_in_ruleVariableAccess3821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionCall_in_entryRuleFunctionCall3848 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFunctionCall3855 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__0_in_ruleFunctionCall3881 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepExpression_in_entryRuleStepExpression3908 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStepExpression3915 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRangeStepExpression_in_ruleStepExpression3941 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRangeStepExpression_in_entryRuleRangeStepExpression3967 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRangeStepExpression3974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group__0_in_ruleRangeStepExpression4000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveStepExpression_in_entryRuleAdditiveStepExpression4027 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAdditiveStepExpression4034 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group__0_in_ruleAdditiveStepExpression4060 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegateStepExpression_in_entryRuleNegateStepExpression4087 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNegateStepExpression4094 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__Alternatives_in_ruleNegateStepExpression4120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimitiveStepExpression_in_entryRulePrimitiveStepExpression4147 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveStepExpression4154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimitiveStepExpression__Alternatives_in_rulePrimitiveStepExpression4180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepLiteral_in_entryRuleStepLiteral4207 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStepLiteral4214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepLiteral__ValueAssignment_in_ruleStepLiteral4240 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepN_in_entryRuleStepN4267 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStepN4274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepN__Group__0_in_ruleStepN4300 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDerivativeOperator_in_entryRuleDerivativeOperator4327 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDerivativeOperator4334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DerivativeOperator__Group__0_in_ruleDerivativeOperator4360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayConstructionOperator_in_entryRuleArrayConstructionOperator4387 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArrayConstructionOperator4394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__0_in_ruleArrayConstructionOperator4420 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayConstructionIterationClause_in_entryRuleArrayConstructionIterationClause4447 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArrayConstructionIterationClause4454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__Group__0_in_ruleArrayConstructionIterationClause4480 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayConcatenationOperator_in_entryRuleArrayConcatenationOperator4507 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArrayConcatenationOperator4514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__0_in_ruleArrayConcatenationOperator4540 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpressionList_in_entryRuleExpressionList4567 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExpressionList4574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group__0_in_ruleExpressionList4600 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitConstructionOperator_in_entryRuleUnitConstructionOperator4627 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnitConstructionOperator4634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitConstructionOperator__Group__0_in_ruleUnitConstructionOperator4660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParenthesizedExpression_in_entryRuleParenthesizedExpression4687 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedExpression4694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__0_in_ruleParenthesizedExpression4720 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndExpression_in_entryRuleEndExpression4747 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEndExpression4754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EndExpression__Group__0_in_ruleEndExpression4780 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlgorithmExpression_in_entryRuleAlgorithmExpression4807 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAlgorithmExpression4814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AlgorithmExpression__Group__0_in_ruleAlgorithmExpression4840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCompound_in_entryRuleCompound4867 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCompound4874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Compound__Group__0_in_ruleCompound4900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement4927 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStatement4934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Statement__Alternatives_in_ruleStatement4960 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssignment_in_entryRuleAssignment4987 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAssignment4994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assignment__Group__0_in_ruleAssignment5020 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVariableDeclaration_in_entryRuleVariableDeclaration5047 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleVariableDeclaration5054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__0_in_ruleVariableDeclaration5080 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfStatement_in_entryRuleIfStatement5107 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIfStatement5114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__0_in_ruleIfStatement5140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWhileStatement_in_entryRuleWhileStatement5167 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWhileStatement5174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__0_in_ruleWhileStatement5200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleForStatement_in_entryRuleForStatement5227 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleForStatement5234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__0_in_ruleForStatement5260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoWhileStatement_in_entryRuleDoWhileStatement5287 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDoWhileStatement5294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__0_in_ruleDoWhileStatement5320 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleContinueStatement_in_entryRuleContinueStatement5347 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleContinueStatement5354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContinueStatement__Group__0_in_ruleContinueStatement5380 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBreakStatement_in_entryRuleBreakStatement5407 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBreakStatement5414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BreakStatement__Group__0_in_ruleBreakStatement5440 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReturnStatement_in_entryRuleReturnStatement5467 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleReturnStatement5474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReturnStatement__Group__0_in_ruleReturnStatement5500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnit_in_entryRuleUnit5527 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnit5534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group__0_in_ruleUnit5560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExplicitUnit_in_entryRuleExplicitUnit5587 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExplicitUnit5594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__0_in_ruleExplicitUnit5620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitNumerator_in_entryRuleUnitNumerator5647 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnitNumerator5654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Alternatives_in_ruleUnitNumerator5680 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImplicitUnitNumerator_in_entryRuleImplicitUnitNumerator5707 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImplicitUnitNumerator5714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitDenominator_in_entryRuleUnitDenominator5768 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnitDenominator5775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Alternatives_in_ruleUnitDenominator5801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitFactor_in_entryRuleUnitFactor5828 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnitFactor5835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group__0_in_ruleUnitFactor5861 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitExponent_in_entryRuleUnitExponent5888 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUnitExponent5895 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitExponent__Group__0_in_ruleUnitExponent5921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName5948 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName5955 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName5981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidDouble_in_entryRuleValidDouble6008 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleValidDouble6015 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_REAL_in_ruleValidDouble6041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidInt_in_entryRuleValidInt6067 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleValidInt6074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ValidInt__Alternatives_in_ruleValidInt6100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidLong_in_entryRuleValidLong6127 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleValidLong6134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ValidLong__Alternatives_in_ruleValidLong6160 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_entryRuleValidID6187 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleValidID6194 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ValidID__Alternatives_in_ruleValidID6220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionKind__Alternatives_in_ruleFunctionKind6257 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssertionStatusKind__Alternatives_in_ruleAssertionStatusKind6293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityOperator__Alternatives_in_ruleEqualityOperator6329 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalOperator__Alternatives_in_ruleRelationalOperator6365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveOperator__Alternatives_in_ruleAdditiveOperator6401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeOperator__Alternatives_in_ruleMultiplicativeOperator6437 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerOperator__Alternatives_in_rulePowerOperator6473 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryOperator__Alternatives_in_ruleUnaryOperator6509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rulePostfixOperator6546 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeDefinition_in_rule__Definition__Alternatives6583 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionDefinition_in_rule__Definition__Alternatives6600 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumerationDefinition_in_rule__DataTypeDefinition__Alternatives6632 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecordDefinition_in_rule__DataTypeDefinition__Alternatives6649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTypeAliasDefinition_in_rule__DataTypeDefinition__Alternatives6666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__ChecksAssignment_11_0_in_rule__FunctionDefinition__Alternatives_116698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__AssertionsAssignment_11_1_in_rule__FunctionDefinition__Alternatives_116716 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_2_in_rule__FunctionDefinition__Alternatives_116734 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_3_in_rule__FunctionDefinition__Alternatives_116752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__EquationsAssignment_11_4_in_rule__FunctionDefinition__Alternatives_116770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DataTypeSpecifier__DefinedTypeAssignment_0_in_rule__DataTypeSpecifier__Alternatives6803 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DataTypeSpecifier__TypeAssignment_1_in_rule__DataTypeSpecifier__Alternatives6821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimitiveType_in_rule__DataTypeSpecifier__DefinedTypeAlternatives_0_06854 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayType_in_rule__DataTypeSpecifier__DefinedTypeAlternatives_0_06871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumericType_in_rule__PrimitiveType__Alternatives6903 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanType_in_rule__PrimitiveType__Alternatives6920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringType_in_rule__PrimitiveType__Alternatives6937 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRealType_in_rule__NumericType__Alternatives6969 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIntegerType_in_rule__NumericType__Alternatives6986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleComplexType_in_rule__NumericType__Alternatives7003 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGaussianType_in_rule__NumericType__Alternatives7020 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTensorType_in_rule__ArrayType__Alternatives7052 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__0_in_rule__ArrayType__Alternatives7069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__DefinedElementTypeAssignment_1_0_0_0_in_rule__ArrayType__Alternatives_1_0_07102 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__ElementTypeAssignment_1_0_0_1_in_rule__ArrayType__Alternatives_1_0_07120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpression_in_rule__Expression__Alternatives7153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfExpression_in_rule__Expression__Alternatives7170 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSwitchExpression_in_rule__Expression__Alternatives7187 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRangeExpression_in_rule__Expression__Alternatives7204 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__PartsAssignment_0_0_in_rule__LetExpressionVariableDeclaration__Alternatives_07236 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__0_in_rule__LetExpressionVariableDeclaration__Alternatives_07254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_0__0_in_rule__RelationalExpression__Alternatives_1_07287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_1__0_in_rule__RelationalExpression__Alternatives_1_07305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePostfixExpression_in_rule__UnaryExpression__Alternatives7338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryExpression__Group_1__0_in_rule__UnaryExpression__Alternatives7355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_0__0_in_rule__MemberFeatureCall__Alternatives_17388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__0_in_rule__MemberFeatureCall__Alternatives_17406 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__0_in_rule__MemberFeatureCall__Alternatives_17424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArraySubscript__SliceAssignment_0_in_rule__ArraySubscript__Alternatives7457 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArraySubscript__ExpressionAssignment_1_in_rule__ArraySubscript__Alternatives7475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteral_in_rule__PrimaryExpression__Alternatives7508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFeatureCall_in_rule__PrimaryExpression__Alternatives7525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDerivativeOperator_in_rule__PrimaryExpression__Alternatives7542 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitConstructionOperator_in_rule__PrimaryExpression__Alternatives7559 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayConstructionOperator_in_rule__PrimaryExpression__Alternatives7576 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayConcatenationOperator_in_rule__PrimaryExpression__Alternatives7593 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParenthesizedExpression_in_rule__PrimaryExpression__Alternatives7610 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEndExpression_in_rule__PrimaryExpression__Alternatives7627 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlgorithmExpression_in_rule__PrimaryExpression__Alternatives7644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFeatureCall_in_rule__AssignablePrimaryExpression__Alternatives7676 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParenthesizedExpression_in_rule__AssignablePrimaryExpression__Alternatives7693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumericLiteral_in_rule__Literal__Alternatives7725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives7742 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives7759 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumericLiteral__Alternatives7791 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIntegerLiteral_in_rule__NumericLiteral__Alternatives7808 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanLiteral__TrueAssignment_1_0_in_rule__BooleanLiteral__Alternatives_17840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__BooleanLiteral__Alternatives_17859 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVariableAccess_in_rule__FeatureCall__Alternatives7893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionCall_in_rule__FeatureCall__Alternatives7910 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimitiveStepExpression_in_rule__NegateStepExpression__Alternatives7942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__Group_1__0_in_rule__NegateStepExpression__Alternatives7959 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepLiteral_in_rule__PrimitiveStepExpression__Alternatives7992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepN_in_rule__PrimitiveStepExpression__Alternatives8009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_0__0_in_rule__ArrayConstructionOperator__Alternatives_28041 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1__0_in_rule__ArrayConstructionOperator__Alternatives_28060 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCompound_in_rule__Statement__Alternatives8093 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssignment_in_rule__Statement__Alternatives8110 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVariableDeclaration_in_rule__Statement__Alternatives8127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfStatement_in_rule__Statement__Alternatives8144 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWhileStatement_in_rule__Statement__Alternatives8161 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDoWhileStatement_in_rule__Statement__Alternatives8178 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleForStatement_in_rule__Statement__Alternatives8195 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleContinueStatement_in_rule__Statement__Alternatives8212 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBreakStatement_in_rule__Statement__Alternatives8229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReturnStatement_in_rule__Statement__Alternatives8246 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_0__0_in_rule__Unit__Alternatives_18278 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__0_in_rule__Unit__Alternatives_18296 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__NumeratorAssignment_1_2_in_rule__Unit__Alternatives_18314 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_0__0_in_rule__UnitNumerator__Alternatives8347 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1__0_in_rule__UnitNumerator__Alternatives8365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__FactorsAssignment_0_in_rule__UnitDenominator__Alternatives8398 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__0_in_rule__UnitDenominator__Alternatives8416 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ONE_in_rule__ValidInt__Alternatives8449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__ValidInt__Alternatives8466 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ONE_in_rule__ValidLong__Alternatives8498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__ValidLong__Alternatives8515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_N_in_rule__ValidID__Alternatives8547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ValidID__Alternatives8564 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__FunctionKind__Alternatives8597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__FunctionKind__Alternatives8618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__AssertionStatusKind__Alternatives8654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__AssertionStatusKind__Alternatives8675 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__AssertionStatusKind__Alternatives8696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__AssertionStatusKind__Alternatives8717 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__EqualityOperator__Alternatives8753 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__EqualityOperator__Alternatives8774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__RelationalOperator__Alternatives8810 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__RelationalOperator__Alternatives8831 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__RelationalOperator__Alternatives8852 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__RelationalOperator__Alternatives8873 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__AdditiveOperator__Alternatives8909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__AdditiveOperator__Alternatives8930 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__MultiplicativeOperator__Alternatives8966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__MultiplicativeOperator__Alternatives8987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__MultiplicativeOperator__Alternatives9008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__MultiplicativeOperator__Alternatives9029 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__PowerOperator__Alternatives9065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__PowerOperator__Alternatives9086 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__UnaryOperator__Alternatives9122 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__UnaryOperator__Alternatives9143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__0__Impl_in_rule__EnumerationDefinition__Group__09176 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__1_in_rule__EnumerationDefinition__Group__09179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__EnumerationDefinition__Group__0__Impl9207 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__1__Impl_in_rule__EnumerationDefinition__Group__19238 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__2_in_rule__EnumerationDefinition__Group__19241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__NameAssignment_1_in_rule__EnumerationDefinition__Group__1__Impl9268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__2__Impl_in_rule__EnumerationDefinition__Group__29298 = new BitSet(new long[]{0x0000008000000180L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__3_in_rule__EnumerationDefinition__Group__29301 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__EnumerationDefinition__Group__2__Impl9329 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__3__Impl_in_rule__EnumerationDefinition__Group__39360 = new BitSet(new long[]{0x0000008000000180L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__4_in_rule__EnumerationDefinition__Group__39363 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3__0_in_rule__EnumerationDefinition__Group__3__Impl9390 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group__4__Impl_in_rule__EnumerationDefinition__Group__49421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__EnumerationDefinition__Group__4__Impl9449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3__0__Impl_in_rule__EnumerationDefinition__Group_3__09490 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3__1_in_rule__EnumerationDefinition__Group_3__09493 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_0_in_rule__EnumerationDefinition__Group_3__0__Impl9520 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3__1__Impl_in_rule__EnumerationDefinition__Group_3__19550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3_1__0_in_rule__EnumerationDefinition__Group_3__1__Impl9577 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3_1__0__Impl_in_rule__EnumerationDefinition__Group_3_1__09612 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3_1__1_in_rule__EnumerationDefinition__Group_3_1__09615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__EnumerationDefinition__Group_3_1__0__Impl9643 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__Group_3_1__1__Impl_in_rule__EnumerationDefinition__Group_3_1__19674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_1_in_rule__EnumerationDefinition__Group_3_1__1__Impl9701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__0__Impl_in_rule__TypeAliasDefinition__Group__09735 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__1_in_rule__TypeAliasDefinition__Group__09738 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__TypeAliasDefinition__Group__0__Impl9766 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__1__Impl_in_rule__TypeAliasDefinition__Group__19797 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__2_in_rule__TypeAliasDefinition__Group__19800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__NameAssignment_1_in_rule__TypeAliasDefinition__Group__1__Impl9827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__2__Impl_in_rule__TypeAliasDefinition__Group__29857 = new BitSet(new long[]{0x0FC0000000000000L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__3_in_rule__TypeAliasDefinition__Group__29860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__TypeAliasDefinition__Group__2__Impl9888 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__3__Impl_in_rule__TypeAliasDefinition__Group__39919 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__4_in_rule__TypeAliasDefinition__Group__39922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__TypeAssignment_3_in_rule__TypeAliasDefinition__Group__3__Impl9949 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TypeAliasDefinition__Group__4__Impl_in_rule__TypeAliasDefinition__Group__49979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__TypeAliasDefinition__Group__4__Impl10007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__0__Impl_in_rule__RecordDefinition__Group__010048 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__1_in_rule__RecordDefinition__Group__010051 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__RecordDefinition__Group__0__Impl10079 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__1__Impl_in_rule__RecordDefinition__Group__110110 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__2_in_rule__RecordDefinition__Group__110113 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordDefinition__NameAssignment_1_in_rule__RecordDefinition__Group__1__Impl10140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__2__Impl_in_rule__RecordDefinition__Group__210170 = new BitSet(new long[]{0x0000008000000180L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__3_in_rule__RecordDefinition__Group__210173 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__RecordDefinition__Group__2__Impl10201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__3__Impl_in_rule__RecordDefinition__Group__310232 = new BitSet(new long[]{0x0000008000000180L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__4_in_rule__RecordDefinition__Group__310235 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordDefinition__FieldDeclarationsAssignment_3_in_rule__RecordDefinition__Group__3__Impl10262 = new BitSet(new long[]{0x0000000000000182L});
    public static final BitSet FOLLOW_rule__RecordDefinition__Group__4__Impl_in_rule__RecordDefinition__Group__410293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__RecordDefinition__Group__4__Impl10321 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__0__Impl_in_rule__RecordFieldDeclaration__Group__010362 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__1_in_rule__RecordFieldDeclaration__Group__010365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__NameAssignment_0_in_rule__RecordFieldDeclaration__Group__0__Impl10392 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__1__Impl_in_rule__RecordFieldDeclaration__Group__110422 = new BitSet(new long[]{0x0FC0000000000100L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__2_in_rule__RecordFieldDeclaration__Group__110425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__RecordFieldDeclaration__Group__1__Impl10453 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__2__Impl_in_rule__RecordFieldDeclaration__Group__210484 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__3_in_rule__RecordFieldDeclaration__Group__210487 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__TypeAssignment_2_in_rule__RecordFieldDeclaration__Group__2__Impl10514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RecordFieldDeclaration__Group__3__Impl_in_rule__RecordFieldDeclaration__Group__310544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__RecordFieldDeclaration__Group__3__Impl10572 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__0__Impl_in_rule__FunctionDefinition__Group__010611 = new BitSet(new long[]{0x0000522000030000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__1_in_rule__FunctionDefinition__Group__010614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__KindAssignment_0_in_rule__FunctionDefinition__Group__0__Impl10641 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__1__Impl_in_rule__FunctionDefinition__Group__110672 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__2_in_rule__FunctionDefinition__Group__110675 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__FunctionDefinition__Group__1__Impl10703 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__2__Impl_in_rule__FunctionDefinition__Group__210734 = new BitSet(new long[]{0x0000800001000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__3_in_rule__FunctionDefinition__Group__210737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__NameAssignment_2_in_rule__FunctionDefinition__Group__2__Impl10764 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__3__Impl_in_rule__FunctionDefinition__Group__310794 = new BitSet(new long[]{0x0000800001000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__4_in_rule__FunctionDefinition__Group__310797 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__0_in_rule__FunctionDefinition__Group__3__Impl10824 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__4__Impl_in_rule__FunctionDefinition__Group__410855 = new BitSet(new long[]{0x0001000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__5_in_rule__FunctionDefinition__Group__410858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__FunctionDefinition__Group__4__Impl10886 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__5__Impl_in_rule__FunctionDefinition__Group__510917 = new BitSet(new long[]{0x0001000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__6_in_rule__FunctionDefinition__Group__510920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5__0_in_rule__FunctionDefinition__Group__5__Impl10947 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__6__Impl_in_rule__FunctionDefinition__Group__610978 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__7_in_rule__FunctionDefinition__Group__610981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__FunctionDefinition__Group__6__Impl11009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__7__Impl_in_rule__FunctionDefinition__Group__711040 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__8_in_rule__FunctionDefinition__Group__711043 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__FunctionDefinition__Group__7__Impl11071 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__8__Impl_in_rule__FunctionDefinition__Group__811102 = new BitSet(new long[]{0x0000014000000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__9_in_rule__FunctionDefinition__Group__811105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_8_in_rule__FunctionDefinition__Group__8__Impl11132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__9__Impl_in_rule__FunctionDefinition__Group__911162 = new BitSet(new long[]{0x0000014000000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__10_in_rule__FunctionDefinition__Group__911165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_9__0_in_rule__FunctionDefinition__Group__9__Impl11192 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__10__Impl_in_rule__FunctionDefinition__Group__1011223 = new BitSet(new long[]{0x503C80D0200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__11_in_rule__FunctionDefinition__Group__1011226 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__FunctionDefinition__Group__10__Impl11254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__11__Impl_in_rule__FunctionDefinition__Group__1111285 = new BitSet(new long[]{0x503C80D0200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__12_in_rule__FunctionDefinition__Group__1111288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Alternatives_11_in_rule__FunctionDefinition__Group__11__Impl11315 = new BitSet(new long[]{0x503C8050200083F2L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group__12__Impl_in_rule__FunctionDefinition__Group__1211346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__FunctionDefinition__Group__12__Impl11374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__0__Impl_in_rule__FunctionDefinition__Group_3__011431 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__1_in_rule__FunctionDefinition__Group_3__011434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__FunctionDefinition__Group_3__0__Impl11462 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__1__Impl_in_rule__FunctionDefinition__Group_3__111493 = new BitSet(new long[]{0x0000010004000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__2_in_rule__FunctionDefinition__Group_3__111496 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_1_in_rule__FunctionDefinition__Group_3__1__Impl11523 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__2__Impl_in_rule__FunctionDefinition__Group_3__211553 = new BitSet(new long[]{0x0000010004000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__3_in_rule__FunctionDefinition__Group_3__211556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3_2__0_in_rule__FunctionDefinition__Group_3__2__Impl11583 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3__3__Impl_in_rule__FunctionDefinition__Group_3__311614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__FunctionDefinition__Group_3__3__Impl11642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3_2__0__Impl_in_rule__FunctionDefinition__Group_3_2__011681 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3_2__1_in_rule__FunctionDefinition__Group_3_2__011684 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__FunctionDefinition__Group_3_2__0__Impl11712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_3_2__1__Impl_in_rule__FunctionDefinition__Group_3_2__111743 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_1_in_rule__FunctionDefinition__Group_3_2__1__Impl11770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5__0__Impl_in_rule__FunctionDefinition__Group_5__011804 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5__1_in_rule__FunctionDefinition__Group_5__011807 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_0_in_rule__FunctionDefinition__Group_5__0__Impl11834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5__1__Impl_in_rule__FunctionDefinition__Group_5__111864 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5_1__0_in_rule__FunctionDefinition__Group_5__1__Impl11891 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5_1__0__Impl_in_rule__FunctionDefinition__Group_5_1__011926 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5_1__1_in_rule__FunctionDefinition__Group_5_1__011929 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__FunctionDefinition__Group_5_1__0__Impl11957 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_5_1__1__Impl_in_rule__FunctionDefinition__Group_5_1__111988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_1_in_rule__FunctionDefinition__Group_5_1__1__Impl12015 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_9__0__Impl_in_rule__FunctionDefinition__Group_9__012049 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_9__1_in_rule__FunctionDefinition__Group_9__012052 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__FunctionDefinition__Group_9__0__Impl12080 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__Group_9__1__Impl_in_rule__FunctionDefinition__Group_9__112111 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_1_in_rule__FunctionDefinition__Group_9__1__Impl12138 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__0__Impl_in_rule__Check__Group__012172 = new BitSet(new long[]{0x0000800001000000L});
    public static final BitSet FOLLOW_rule__Check__Group__1_in_rule__Check__Group__012175 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__Check__Group__0__Impl12203 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__1__Impl_in_rule__Check__Group__112234 = new BitSet(new long[]{0x0000800001000000L});
    public static final BitSet FOLLOW_rule__Check__Group__2_in_rule__Check__Group__112237 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1__0_in_rule__Check__Group__1__Impl12264 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__2__Impl_in_rule__Check__Group__212295 = new BitSet(new long[]{0x0FC1000000000100L});
    public static final BitSet FOLLOW_rule__Check__Group__3_in_rule__Check__Group__212298 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__Check__Group__2__Impl12326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__3__Impl_in_rule__Check__Group__312357 = new BitSet(new long[]{0x0FC1000000000100L});
    public static final BitSet FOLLOW_rule__Check__Group__4_in_rule__Check__Group__312360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_3__0_in_rule__Check__Group__3__Impl12387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__4__Impl_in_rule__Check__Group__412418 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_rule__Check__Group__5_in_rule__Check__Group__412421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__Check__Group__4__Impl12449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__5__Impl_in_rule__Check__Group__512480 = new BitSet(new long[]{0x0FC0000000000100L});
    public static final BitSet FOLLOW_rule__Check__Group__6_in_rule__Check__Group__512483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__Check__Group__5__Impl12511 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__6__Impl_in_rule__Check__Group__612542 = new BitSet(new long[]{0x0000090000000000L});
    public static final BitSet FOLLOW_rule__Check__Group__7_in_rule__Check__Group__612545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__OutputParameterTypesAssignment_6_in_rule__Check__Group__6__Impl12572 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__7__Impl_in_rule__Check__Group__712602 = new BitSet(new long[]{0x0000090000000000L});
    public static final BitSet FOLLOW_rule__Check__Group__8_in_rule__Check__Group__712605 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_7__0_in_rule__Check__Group__7__Impl12632 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__Check__Group__8__Impl_in_rule__Check__Group__812663 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Check__Group__8__Impl12691 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1__0__Impl_in_rule__Check__Group_1__012740 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__Check__Group_1__1_in_rule__Check__Group_1__012743 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Check__Group_1__0__Impl12771 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1__1__Impl_in_rule__Check__Group_1__112802 = new BitSet(new long[]{0x0000010004000000L});
    public static final BitSet FOLLOW_rule__Check__Group_1__2_in_rule__Check__Group_1__112805 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__TemplateArgumentsAssignment_1_1_in_rule__Check__Group_1__1__Impl12832 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1__2__Impl_in_rule__Check__Group_1__212862 = new BitSet(new long[]{0x0000010004000000L});
    public static final BitSet FOLLOW_rule__Check__Group_1__3_in_rule__Check__Group_1__212865 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1_2__0_in_rule__Check__Group_1__2__Impl12892 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1__3__Impl_in_rule__Check__Group_1__312923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Check__Group_1__3__Impl12951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1_2__0__Impl_in_rule__Check__Group_1_2__012990 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__Check__Group_1_2__1_in_rule__Check__Group_1_2__012993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Check__Group_1_2__0__Impl13021 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_1_2__1__Impl_in_rule__Check__Group_1_2__113052 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__TemplateArgumentsAssignment_1_2_1_in_rule__Check__Group_1_2__1__Impl13079 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_3__0__Impl_in_rule__Check__Group_3__013113 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__Check__Group_3__1_in_rule__Check__Group_3__013116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__InputParameterTypesAssignment_3_0_in_rule__Check__Group_3__0__Impl13143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_3__1__Impl_in_rule__Check__Group_3__113173 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_3_1__0_in_rule__Check__Group_3__1__Impl13200 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_3_1__0__Impl_in_rule__Check__Group_3_1__013235 = new BitSet(new long[]{0x0FC0000000000100L});
    public static final BitSet FOLLOW_rule__Check__Group_3_1__1_in_rule__Check__Group_3_1__013238 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Check__Group_3_1__0__Impl13266 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_3_1__1__Impl_in_rule__Check__Group_3_1__113297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__InputParameterTypesAssignment_3_1_1_in_rule__Check__Group_3_1__1__Impl13324 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_7__0__Impl_in_rule__Check__Group_7__013358 = new BitSet(new long[]{0x0FC0000000000100L});
    public static final BitSet FOLLOW_rule__Check__Group_7__1_in_rule__Check__Group_7__013361 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Check__Group_7__0__Impl13389 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__Group_7__1__Impl_in_rule__Check__Group_7__113420 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Check__OutputParameterTypesAssignment_7_1_in_rule__Check__Group_7__1__Impl13447 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__0__Impl_in_rule__Assertion__Group__013481 = new BitSet(new long[]{0x0008000000000000L,0x0000000001000000L});
    public static final BitSet FOLLOW_rule__Assertion__Group__1_in_rule__Assertion__Group__013484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__StaticAssignment_0_in_rule__Assertion__Group__0__Impl13511 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__1__Impl_in_rule__Assertion__Group__113542 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__Assertion__Group__2_in_rule__Assertion__Group__113545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_51_in_rule__Assertion__Group__1__Impl13573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__2__Impl_in_rule__Assertion__Group__213604 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__Assertion__Group__3_in_rule__Assertion__Group__213607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__ConditionAssignment_2_in_rule__Assertion__Group__2__Impl13634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__3__Impl_in_rule__Assertion__Group__313664 = new BitSet(new long[]{0x00000000003C0000L});
    public static final BitSet FOLLOW_rule__Assertion__Group__4_in_rule__Assertion__Group__313667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__Assertion__Group__3__Impl13695 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__4__Impl_in_rule__Assertion__Group__413726 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__Assertion__Group__5_in_rule__Assertion__Group__413729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__StatusKindAssignment_4_in_rule__Assertion__Group__4__Impl13756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__5__Impl_in_rule__Assertion__Group__513786 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__Assertion__Group__6_in_rule__Assertion__Group__513789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__MessageAssignment_5_in_rule__Assertion__Group__5__Impl13816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assertion__Group__6__Impl_in_rule__Assertion__Group__613846 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Assertion__Group__6__Impl13874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StateVariableDeclaration__Group__0__Impl_in_rule__StateVariableDeclaration__Group__013919 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__StateVariableDeclaration__Group__1_in_rule__StateVariableDeclaration__Group__013922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__StateVariableDeclaration__Group__0__Impl13950 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StateVariableDeclaration__Group__1__Impl_in_rule__StateVariableDeclaration__Group__113981 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__StateVariableDeclaration__Group__2_in_rule__StateVariableDeclaration__Group__113984 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StateVariableDeclaration__NameAssignment_1_in_rule__StateVariableDeclaration__Group__1__Impl14011 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StateVariableDeclaration__Group__2__Impl_in_rule__StateVariableDeclaration__Group__214041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__StateVariableDeclaration__Group__2__Impl14069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__0__Impl_in_rule__FunctionObjectDeclaration__Group__014106 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__1_in_rule__FunctionObjectDeclaration__Group__014109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_rule__FunctionObjectDeclaration__Group__0__Impl14137 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__1__Impl_in_rule__FunctionObjectDeclaration__Group__114168 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__2_in_rule__FunctionObjectDeclaration__Group__114171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__NameAssignment_1_in_rule__FunctionObjectDeclaration__Group__1__Impl14198 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__2__Impl_in_rule__FunctionObjectDeclaration__Group__214228 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__3_in_rule__FunctionObjectDeclaration__Group__214231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__FunctionObjectDeclaration__Group__2__Impl14259 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__3__Impl_in_rule__FunctionObjectDeclaration__Group__314290 = new BitSet(new long[]{0x0000080001000000L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__4_in_rule__FunctionObjectDeclaration__Group__314293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__FunctionNameAssignment_3_in_rule__FunctionObjectDeclaration__Group__3__Impl14320 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__4__Impl_in_rule__FunctionObjectDeclaration__Group__414350 = new BitSet(new long[]{0x0000080001000000L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__5_in_rule__FunctionObjectDeclaration__Group__414353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__0_in_rule__FunctionObjectDeclaration__Group__4__Impl14380 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group__5__Impl_in_rule__FunctionObjectDeclaration__Group__514411 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__FunctionObjectDeclaration__Group__5__Impl14439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__0__Impl_in_rule__FunctionObjectDeclaration__Group_4__014482 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__1_in_rule__FunctionObjectDeclaration__Group_4__014485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__FunctionObjectDeclaration__Group_4__0__Impl14513 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__1__Impl_in_rule__FunctionObjectDeclaration__Group_4__114544 = new BitSet(new long[]{0x0000010004000000L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__2_in_rule__FunctionObjectDeclaration__Group_4__114547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_1_in_rule__FunctionObjectDeclaration__Group_4__1__Impl14574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__2__Impl_in_rule__FunctionObjectDeclaration__Group_4__214604 = new BitSet(new long[]{0x0000010004000000L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__3_in_rule__FunctionObjectDeclaration__Group_4__214607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__0_in_rule__FunctionObjectDeclaration__Group_4__2__Impl14634 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4__3__Impl_in_rule__FunctionObjectDeclaration__Group_4__314665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__FunctionObjectDeclaration__Group_4__3__Impl14693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__0__Impl_in_rule__FunctionObjectDeclaration__Group_4_2__014732 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__1_in_rule__FunctionObjectDeclaration__Group_4_2__014735 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__FunctionObjectDeclaration__Group_4_2__0__Impl14763 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__Group_4_2__1__Impl_in_rule__FunctionObjectDeclaration__Group_4_2__114794 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_1_in_rule__FunctionObjectDeclaration__Group_4_2__1__Impl14821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__0__Impl_in_rule__Equation__Group__014855 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__Equation__Group__1_in_rule__Equation__Group__014858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__InitialAssignment_0_in_rule__Equation__Group__0__Impl14885 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__1__Impl_in_rule__Equation__Group__114916 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__Equation__Group__2_in_rule__Equation__Group__114919 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__LeftHandSideAssignment_1_in_rule__Equation__Group__1__Impl14946 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__2__Impl_in_rule__Equation__Group__214976 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__Equation__Group__3_in_rule__Equation__Group__214979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Equation__Group__2__Impl15007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__3__Impl_in_rule__Equation__Group__315038 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__Equation__Group__4_in_rule__Equation__Group__315041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__RightHandSideAssignment_3_in_rule__Equation__Group__3__Impl15068 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__4__Impl_in_rule__Equation__Group__415098 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Equation__Group__4__Impl15126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealType__Group__0__Impl_in_rule__RealType__Group__015167 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_rule__RealType__Group__1_in_rule__RealType__Group__015170 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealType__Group__1__Impl_in_rule__RealType__Group__115228 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__RealType__Group__2_in_rule__RealType__Group__115231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_54_in_rule__RealType__Group__1__Impl15259 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealType__Group__2__Impl_in_rule__RealType__Group__215290 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealType__UnitAssignment_2_in_rule__RealType__Group__2__Impl15317 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerType__Group__0__Impl_in_rule__IntegerType__Group__015353 = new BitSet(new long[]{0x0080000000000000L});
    public static final BitSet FOLLOW_rule__IntegerType__Group__1_in_rule__IntegerType__Group__015356 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerType__Group__1__Impl_in_rule__IntegerType__Group__115414 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__IntegerType__Group__2_in_rule__IntegerType__Group__115417 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_55_in_rule__IntegerType__Group__1__Impl15445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerType__Group__2__Impl_in_rule__IntegerType__Group__215476 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerType__UnitAssignment_2_in_rule__IntegerType__Group__2__Impl15503 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ComplexType__Group__0__Impl_in_rule__ComplexType__Group__015539 = new BitSet(new long[]{0x0100000000000000L});
    public static final BitSet FOLLOW_rule__ComplexType__Group__1_in_rule__ComplexType__Group__015542 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ComplexType__Group__1__Impl_in_rule__ComplexType__Group__115600 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__ComplexType__Group__2_in_rule__ComplexType__Group__115603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_56_in_rule__ComplexType__Group__1__Impl15631 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ComplexType__Group__2__Impl_in_rule__ComplexType__Group__215662 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ComplexType__UnitAssignment_2_in_rule__ComplexType__Group__2__Impl15689 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GaussianType__Group__0__Impl_in_rule__GaussianType__Group__015725 = new BitSet(new long[]{0x03C0000000000000L});
    public static final BitSet FOLLOW_rule__GaussianType__Group__1_in_rule__GaussianType__Group__015728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GaussianType__Group__1__Impl_in_rule__GaussianType__Group__115786 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__GaussianType__Group__2_in_rule__GaussianType__Group__115789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_57_in_rule__GaussianType__Group__1__Impl15817 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GaussianType__Group__2__Impl_in_rule__GaussianType__Group__215848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GaussianType__UnitAssignment_2_in_rule__GaussianType__Group__2__Impl15875 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanType__Group__0__Impl_in_rule__BooleanType__Group__015911 = new BitSet(new long[]{0x0400000000000000L});
    public static final BitSet FOLLOW_rule__BooleanType__Group__1_in_rule__BooleanType__Group__015914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanType__Group__1__Impl_in_rule__BooleanType__Group__115972 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_rule__BooleanType__Group__1__Impl16000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringType__Group__0__Impl_in_rule__StringType__Group__016035 = new BitSet(new long[]{0x0FC0000000000000L});
    public static final BitSet FOLLOW_rule__StringType__Group__1_in_rule__StringType__Group__016038 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringType__Group__1__Impl_in_rule__StringType__Group__116096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_rule__StringType__Group__1__Impl16124 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__0__Impl_in_rule__ArrayType__Group_1__016159 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__1_in_rule__ArrayType__Group_1__016162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1_0__0_in_rule__ArrayType__Group_1__0__Impl16189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__1__Impl_in_rule__ArrayType__Group_1__116219 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__2_in_rule__ArrayType__Group_1__116222 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_rule__ArrayType__Group_1__1__Impl16250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__2__Impl_in_rule__ArrayType__Group_1__216281 = new BitSet(new long[]{0x2000010000000000L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__3_in_rule__ArrayType__Group_1__216284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__DimensionsAssignment_1_2_in_rule__ArrayType__Group_1__2__Impl16311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__3__Impl_in_rule__ArrayType__Group_1__316341 = new BitSet(new long[]{0x2000010000000000L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__4_in_rule__ArrayType__Group_1__316344 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1_3__0_in_rule__ArrayType__Group_1__3__Impl16371 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1__4__Impl_in_rule__ArrayType__Group_1__416402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__ArrayType__Group_1__4__Impl16430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1_0__0__Impl_in_rule__ArrayType__Group_1_0__016471 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Alternatives_1_0_0_in_rule__ArrayType__Group_1_0__0__Impl16498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1_3__0__Impl_in_rule__ArrayType__Group_1_3__016530 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1_3__1_in_rule__ArrayType__Group_1_3__016533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__ArrayType__Group_1_3__0__Impl16561 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__Group_1_3__1__Impl_in_rule__ArrayType__Group_1_3__116592 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayType__DimensionsAssignment_1_3_1_in_rule__ArrayType__Group_1_3__1__Impl16619 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group__0__Impl_in_rule__TensorType__Group__016653 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_rule__TensorType__Group__1_in_rule__TensorType__Group__016656 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__DefinedElementTypeAssignment_0_in_rule__TensorType__Group__0__Impl16683 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group__1__Impl_in_rule__TensorType__Group__116713 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__TensorType__Group__2_in_rule__TensorType__Group__116716 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_rule__TensorType__Group__1__Impl16744 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group__2__Impl_in_rule__TensorType__Group__216775 = new BitSet(new long[]{0x2000010000000000L});
    public static final BitSet FOLLOW_rule__TensorType__Group__3_in_rule__TensorType__Group__216778 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__DimensionsAssignment_2_in_rule__TensorType__Group__2__Impl16805 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group__3__Impl_in_rule__TensorType__Group__316835 = new BitSet(new long[]{0x2000010000000000L});
    public static final BitSet FOLLOW_rule__TensorType__Group__4_in_rule__TensorType__Group__316838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group_3__0_in_rule__TensorType__Group__3__Impl16865 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group__4__Impl_in_rule__TensorType__Group__416896 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__TensorType__Group__4__Impl16924 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group_3__0__Impl_in_rule__TensorType__Group_3__016965 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__TensorType__Group_3__1_in_rule__TensorType__Group_3__016968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__TensorType__Group_3__0__Impl16996 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__Group_3__1__Impl_in_rule__TensorType__Group_3__117027 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TensorType__DimensionsAssignment_3_1_in_rule__TensorType__Group_3__1__Impl17054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayDimension__Group__0__Impl_in_rule__ArrayDimension__Group__017088 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayDimension__Group__1_in_rule__ArrayDimension__Group__017091 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayDimension__Group__1__Impl_in_rule__ArrayDimension__Group__117149 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayDimension__SizeAssignment_1_in_rule__ArrayDimension__Group__1__Impl17176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__0__Impl_in_rule__LetExpression__Group__017211 = new BitSet(new long[]{0x0000800000000180L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__1_in_rule__LetExpression__Group__017214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_62_in_rule__LetExpression__Group__0__Impl17242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__1__Impl_in_rule__LetExpression__Group__117273 = new BitSet(new long[]{0x8000010000000000L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__2_in_rule__LetExpression__Group__117276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__VariableDeclarationsAssignment_1_in_rule__LetExpression__Group__1__Impl17303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__2__Impl_in_rule__LetExpression__Group__217333 = new BitSet(new long[]{0x8000010000000000L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__3_in_rule__LetExpression__Group__217336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group_2__0_in_rule__LetExpression__Group__2__Impl17363 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__3__Impl_in_rule__LetExpression__Group__317394 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__4_in_rule__LetExpression__Group__317397 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_rule__LetExpression__Group__3__Impl17425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group__4__Impl_in_rule__LetExpression__Group__417456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__TargetExpressionAssignment_4_in_rule__LetExpression__Group__4__Impl17483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group_2__0__Impl_in_rule__LetExpression__Group_2__017523 = new BitSet(new long[]{0x0000800000000180L});
    public static final BitSet FOLLOW_rule__LetExpression__Group_2__1_in_rule__LetExpression__Group_2__017526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__LetExpression__Group_2__0__Impl17554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__Group_2__1__Impl_in_rule__LetExpression__Group_2__117585 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpression__VariableDeclarationsAssignment_2_1_in_rule__LetExpression__Group_2__1__Impl17612 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group__0__Impl_in_rule__LetExpressionVariableDeclaration__Group__017646 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group__1_in_rule__LetExpressionVariableDeclaration__Group__017649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Alternatives_0_in_rule__LetExpressionVariableDeclaration__Group__0__Impl17676 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group__1__Impl_in_rule__LetExpressionVariableDeclaration__Group__117706 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group__2_in_rule__LetExpressionVariableDeclaration__Group__117709 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__LetExpressionVariableDeclaration__Group__1__Impl17737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group__2__Impl_in_rule__LetExpressionVariableDeclaration__Group__217768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_2_in_rule__LetExpressionVariableDeclaration__Group__2__Impl17795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__017831 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__1_in_rule__LetExpressionVariableDeclaration__Group_0_1__017834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__LetExpressionVariableDeclaration__Group_0_1__0__Impl17862 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__117893 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__2_in_rule__LetExpressionVariableDeclaration__Group_0_1__117896 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_1_in_rule__LetExpressionVariableDeclaration__Group_0_1__1__Impl17923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__217953 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__3_in_rule__LetExpressionVariableDeclaration__Group_0_1__217956 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__0_in_rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl17985 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__0_in_rule__LetExpressionVariableDeclaration__Group_0_1__2__Impl17997 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1__318030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__LetExpressionVariableDeclaration__Group_0_1__3__Impl18058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__018097 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__1_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__018100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__0__Impl18128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__118159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_1_in_rule__LetExpressionVariableDeclaration__Group_0_1_2__1__Impl18186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__0__Impl_in_rule__IfExpression__Group__018220 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000001L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__1_in_rule__IfExpression__Group__018223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__StaticAssignment_0_in_rule__IfExpression__Group__0__Impl18250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__1__Impl_in_rule__IfExpression__Group__118281 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__2_in_rule__IfExpression__Group__118284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_64_in_rule__IfExpression__Group__1__Impl18312 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__2__Impl_in_rule__IfExpression__Group__218343 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__3_in_rule__IfExpression__Group__218346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__ConditionAssignment_2_in_rule__IfExpression__Group__2__Impl18373 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__3__Impl_in_rule__IfExpression__Group__318403 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__4_in_rule__IfExpression__Group__318406 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_65_in_rule__IfExpression__Group__3__Impl18434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__4__Impl_in_rule__IfExpression__Group__418465 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__5_in_rule__IfExpression__Group__418468 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__ThenExpressionAssignment_4_in_rule__IfExpression__Group__4__Impl18495 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__5__Impl_in_rule__IfExpression__Group__518525 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__6_in_rule__IfExpression__Group__518528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_66_in_rule__IfExpression__Group__5__Impl18556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__Group__6__Impl_in_rule__IfExpression__Group__618587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExpression__ElseExpressionAssignment_6_in_rule__IfExpression__Group__6__Impl18614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__0__Impl_in_rule__SwitchExpression__Group__018658 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000008L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__1_in_rule__SwitchExpression__Group__018661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__StaticAssignment_0_in_rule__SwitchExpression__Group__0__Impl18688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__1__Impl_in_rule__SwitchExpression__Group__118719 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__2_in_rule__SwitchExpression__Group__118722 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_67_in_rule__SwitchExpression__Group__1__Impl18750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__2__Impl_in_rule__SwitchExpression__Group__218781 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000030L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__3_in_rule__SwitchExpression__Group__218784 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__ControlExpressionAssignment_2_in_rule__SwitchExpression__Group__2__Impl18811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__3__Impl_in_rule__SwitchExpression__Group__318841 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000030L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__4_in_rule__SwitchExpression__Group__318844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__CasesAssignment_3_in_rule__SwitchExpression__Group__3__Impl18871 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__4__Impl_in_rule__SwitchExpression__Group__418902 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__5_in_rule__SwitchExpression__Group__418905 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_68_in_rule__SwitchExpression__Group__4__Impl18933 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__5__Impl_in_rule__SwitchExpression__Group__518964 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__6_in_rule__SwitchExpression__Group__518967 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__SwitchExpression__Group__5__Impl18995 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__Group__6__Impl_in_rule__SwitchExpression__Group__619026 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchExpression__DefaultExpressionAssignment_6_in_rule__SwitchExpression__Group__6__Impl19053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__0__Impl_in_rule__SwitchCase__Group__019097 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__1_in_rule__SwitchCase__Group__019100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_69_in_rule__SwitchCase__Group__0__Impl19128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__1__Impl_in_rule__SwitchCase__Group__119159 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__2_in_rule__SwitchCase__Group__119162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchCase__CaseExpressionAssignment_1_in_rule__SwitchCase__Group__1__Impl19189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__2__Impl_in_rule__SwitchCase__Group__219219 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__3_in_rule__SwitchCase__Group__219222 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__SwitchCase__Group__2__Impl19250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchCase__Group__3__Impl_in_rule__SwitchCase__Group__319281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__SwitchCase__ResultExpressionAssignment_3_in_rule__SwitchCase__Group__3__Impl19308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group__0__Impl_in_rule__RangeExpression__Group__019346 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group__1_in_rule__RangeExpression__Group__019349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImpliesExpression_in_rule__RangeExpression__Group__0__Impl19376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group__1__Impl_in_rule__RangeExpression__Group__119405 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__0_in_rule__RangeExpression__Group__1__Impl19432 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__0__Impl_in_rule__RangeExpression__Group_1__019467 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__1_in_rule__RangeExpression__Group_1__019470 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__1__Impl_in_rule__RangeExpression__Group_1__119528 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__2_in_rule__RangeExpression__Group_1__119531 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__RangeExpression__Group_1__1__Impl19559 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__2__Impl_in_rule__RangeExpression__Group_1__219590 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__3_in_rule__RangeExpression__Group_1__219593 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__OperandsAssignment_1_2_in_rule__RangeExpression__Group_1__2__Impl19620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1__3__Impl_in_rule__RangeExpression__Group_1__319650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1_3__0_in_rule__RangeExpression__Group_1__3__Impl19677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1_3__0__Impl_in_rule__RangeExpression__Group_1_3__019716 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1_3__1_in_rule__RangeExpression__Group_1_3__019719 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__RangeExpression__Group_1_3__0__Impl19747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__Group_1_3__1__Impl_in_rule__RangeExpression__Group_1_3__119778 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeExpression__OperandsAssignment_1_3_1_in_rule__RangeExpression__Group_1_3__1__Impl19805 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group__0__Impl_in_rule__ImpliesExpression__Group__019839 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group__1_in_rule__ImpliesExpression__Group__019842 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogicalOrExpression_in_rule__ImpliesExpression__Group__0__Impl19869 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group__1__Impl_in_rule__ImpliesExpression__Group__119898 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group_1__0_in_rule__ImpliesExpression__Group__1__Impl19925 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group_1__0__Impl_in_rule__ImpliesExpression__Group_1__019960 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group_1__1_in_rule__ImpliesExpression__Group_1__019963 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group_1__1__Impl_in_rule__ImpliesExpression__Group_1__120021 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group_1__2_in_rule__ImpliesExpression__Group_1__120024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_70_in_rule__ImpliesExpression__Group_1__1__Impl20052 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__Group_1__2__Impl_in_rule__ImpliesExpression__Group_1__220083 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ImpliesExpression__RightOperandAssignment_1_2_in_rule__ImpliesExpression__Group_1__2__Impl20110 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group__0__Impl_in_rule__LogicalOrExpression__Group__020146 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group__1_in_rule__LogicalOrExpression__Group__020149 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogicalAndExpression_in_rule__LogicalOrExpression__Group__0__Impl20176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group__1__Impl_in_rule__LogicalOrExpression__Group__120205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group_1__0_in_rule__LogicalOrExpression__Group__1__Impl20232 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group_1__0__Impl_in_rule__LogicalOrExpression__Group_1__020267 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group_1__1_in_rule__LogicalOrExpression__Group_1__020270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group_1__1__Impl_in_rule__LogicalOrExpression__Group_1__120328 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group_1__2_in_rule__LogicalOrExpression__Group_1__120331 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_71_in_rule__LogicalOrExpression__Group_1__1__Impl20359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__Group_1__2__Impl_in_rule__LogicalOrExpression__Group_1__220390 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalOrExpression__RightOperandAssignment_1_2_in_rule__LogicalOrExpression__Group_1__2__Impl20417 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group__0__Impl_in_rule__LogicalAndExpression__Group__020453 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group__1_in_rule__LogicalAndExpression__Group__020456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEqualityExpression_in_rule__LogicalAndExpression__Group__0__Impl20483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group__1__Impl_in_rule__LogicalAndExpression__Group__120512 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group_1__0_in_rule__LogicalAndExpression__Group__1__Impl20539 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group_1__0__Impl_in_rule__LogicalAndExpression__Group_1__020574 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group_1__1_in_rule__LogicalAndExpression__Group_1__020577 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group_1__1__Impl_in_rule__LogicalAndExpression__Group_1__120635 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group_1__2_in_rule__LogicalAndExpression__Group_1__120638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_72_in_rule__LogicalAndExpression__Group_1__1__Impl20666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__Group_1__2__Impl_in_rule__LogicalAndExpression__Group_1__220697 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LogicalAndExpression__RightOperandAssignment_1_2_in_rule__LogicalAndExpression__Group_1__2__Impl20724 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group__0__Impl_in_rule__EqualityExpression__Group__020760 = new BitSet(new long[]{0x0000000000C00000L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group__1_in_rule__EqualityExpression__Group__020763 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRelationalExpression_in_rule__EqualityExpression__Group__0__Impl20790 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group__1__Impl_in_rule__EqualityExpression__Group__120819 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group_1__0_in_rule__EqualityExpression__Group__1__Impl20846 = new BitSet(new long[]{0x0000000000C00002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group_1__0__Impl_in_rule__EqualityExpression__Group_1__020881 = new BitSet(new long[]{0x0000000000C00000L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group_1__1_in_rule__EqualityExpression__Group_1__020884 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group_1__1__Impl_in_rule__EqualityExpression__Group_1__120942 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group_1__2_in_rule__EqualityExpression__Group_1__120945 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__OperatorAssignment_1_1_in_rule__EqualityExpression__Group_1__1__Impl20972 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__Group_1__2__Impl_in_rule__EqualityExpression__Group_1__221002 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EqualityExpression__RightOperandAssignment_1_2_in_rule__EqualityExpression__Group_1__2__Impl21029 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group__0__Impl_in_rule__RelationalExpression__Group__021065 = new BitSet(new long[]{0x000000000F000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group__1_in_rule__RelationalExpression__Group__021068 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveExpression_in_rule__RelationalExpression__Group__0__Impl21095 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group__1__Impl_in_rule__RelationalExpression__Group__121124 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1__0_in_rule__RelationalExpression__Group__1__Impl21151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1__0__Impl_in_rule__RelationalExpression__Group_1__021186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Alternatives_1_0_in_rule__RelationalExpression__Group_1__0__Impl21213 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_0__0__Impl_in_rule__RelationalExpression__Group_1_0_0__021245 = new BitSet(new long[]{0x000000000F000000L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_0__1_in_rule__RelationalExpression__Group_1_0_0__021248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_0__1__Impl_in_rule__RelationalExpression__Group_1_0_0__121306 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_0__2_in_rule__RelationalExpression__Group_1_0_0__121309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__OperatorAssignment_1_0_0_1_in_rule__RelationalExpression__Group_1_0_0__1__Impl21336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_0__2__Impl_in_rule__RelationalExpression__Group_1_0_0__221366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__RightOperandAssignment_1_0_0_2_in_rule__RelationalExpression__Group_1_0_0__2__Impl21393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_1__0__Impl_in_rule__RelationalExpression__Group_1_0_1__021429 = new BitSet(new long[]{0x000000000F000000L,0x0000000000000200L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_1__1_in_rule__RelationalExpression__Group_1_0_1__021432 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_1__1__Impl_in_rule__RelationalExpression__Group_1_0_1__121490 = new BitSet(new long[]{0x0FC0000000000100L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_1__2_in_rule__RelationalExpression__Group_1_0_1__121493 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_73_in_rule__RelationalExpression__Group_1_0_1__1__Impl21521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1_0_1__2__Impl_in_rule__RelationalExpression__Group_1_0_1__221552 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__TypeAssignment_1_0_1_2_in_rule__RelationalExpression__Group_1_0_1__2__Impl21579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group__0__Impl_in_rule__AdditiveExpression__Group__021615 = new BitSet(new long[]{0x0000000030000000L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group__1_in_rule__AdditiveExpression__Group__021618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_rule__AdditiveExpression__Group__0__Impl21645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group__1__Impl_in_rule__AdditiveExpression__Group__121674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group_1__0_in_rule__AdditiveExpression__Group__1__Impl21701 = new BitSet(new long[]{0x0000000030000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group_1__0__Impl_in_rule__AdditiveExpression__Group_1__021736 = new BitSet(new long[]{0x0000000030000000L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group_1__1_in_rule__AdditiveExpression__Group_1__021739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group_1__1__Impl_in_rule__AdditiveExpression__Group_1__121797 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group_1__2_in_rule__AdditiveExpression__Group_1__121800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__OperatorAssignment_1_1_in_rule__AdditiveExpression__Group_1__1__Impl21827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__Group_1__2__Impl_in_rule__AdditiveExpression__Group_1__221857 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveExpression__RightOperandAssignment_1_2_in_rule__AdditiveExpression__Group_1__2__Impl21884 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group__0__Impl_in_rule__MultiplicativeExpression__Group__021920 = new BitSet(new long[]{0x00000003C0000000L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group__1_in_rule__MultiplicativeExpression__Group__021923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePowerExpression_in_rule__MultiplicativeExpression__Group__0__Impl21950 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group__1__Impl_in_rule__MultiplicativeExpression__Group__121979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group_1__0_in_rule__MultiplicativeExpression__Group__1__Impl22006 = new BitSet(new long[]{0x00000003C0000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group_1__0__Impl_in_rule__MultiplicativeExpression__Group_1__022041 = new BitSet(new long[]{0x00000003C0000000L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group_1__1_in_rule__MultiplicativeExpression__Group_1__022044 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group_1__1__Impl_in_rule__MultiplicativeExpression__Group_1__122102 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group_1__2_in_rule__MultiplicativeExpression__Group_1__122105 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__OperatorAssignment_1_1_in_rule__MultiplicativeExpression__Group_1__1__Impl22132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__Group_1__2__Impl_in_rule__MultiplicativeExpression__Group_1__222162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MultiplicativeExpression__RightOperandAssignment_1_2_in_rule__MultiplicativeExpression__Group_1__2__Impl22189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group__0__Impl_in_rule__PowerExpression__Group__022225 = new BitSet(new long[]{0x0000000C00000000L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group__1_in_rule__PowerExpression__Group__022228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnaryExpression_in_rule__PowerExpression__Group__0__Impl22255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group__1__Impl_in_rule__PowerExpression__Group__122284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group_1__0_in_rule__PowerExpression__Group__1__Impl22311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group_1__0__Impl_in_rule__PowerExpression__Group_1__022346 = new BitSet(new long[]{0x0000000C00000000L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group_1__1_in_rule__PowerExpression__Group_1__022349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group_1__1__Impl_in_rule__PowerExpression__Group_1__122407 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group_1__2_in_rule__PowerExpression__Group_1__122410 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__OperatorAssignment_1_1_in_rule__PowerExpression__Group_1__1__Impl22437 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__Group_1__2__Impl_in_rule__PowerExpression__Group_1__222467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PowerExpression__ExponentAssignment_1_2_in_rule__PowerExpression__Group_1__2__Impl22494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryExpression__Group_1__0__Impl_in_rule__UnaryExpression__Group_1__022530 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__UnaryExpression__Group_1__1_in_rule__UnaryExpression__Group_1__022533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryExpression__Group_1__1__Impl_in_rule__UnaryExpression__Group_1__122591 = new BitSet(new long[]{0x10008040000083F0L,0x000000000403A000L});
    public static final BitSet FOLLOW_rule__UnaryExpression__Group_1__2_in_rule__UnaryExpression__Group_1__122594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryExpression__OperatorAssignment_1_1_in_rule__UnaryExpression__Group_1__1__Impl22621 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryExpression__Group_1__2__Impl_in_rule__UnaryExpression__Group_1__222651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnaryExpression__OperandAssignment_1_2_in_rule__UnaryExpression__Group_1__2__Impl22678 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group__0__Impl_in_rule__PostfixExpression__Group__022714 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group__1_in_rule__PostfixExpression__Group__022717 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayElementAccess_in_rule__PostfixExpression__Group__0__Impl22744 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group__1__Impl_in_rule__PostfixExpression__Group__122773 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group_1__0_in_rule__PostfixExpression__Group__1__Impl22800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group_1__0__Impl_in_rule__PostfixExpression__Group_1__022835 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group_1__1_in_rule__PostfixExpression__Group_1__022838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PostfixExpression__Group_1__1__Impl_in_rule__PostfixExpression__Group_1__122896 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PostfixExpression__OperatorAssignment_1_1_in_rule__PostfixExpression__Group_1__1__Impl22923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group__0__Impl_in_rule__ArrayElementAccess__Group__022957 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group__1_in_rule__ArrayElementAccess__Group__022960 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMemberFeatureCall_in_rule__ArrayElementAccess__Group__0__Impl22987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group__1__Impl_in_rule__ArrayElementAccess__Group__123016 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__0_in_rule__ArrayElementAccess__Group__1__Impl23043 = new BitSet(new long[]{0x1000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__0__Impl_in_rule__ArrayElementAccess__Group_1__023078 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__1_in_rule__ArrayElementAccess__Group_1__023081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__1__Impl_in_rule__ArrayElementAccess__Group_1__123139 = new BitSet(new long[]{0x503CA050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__2_in_rule__ArrayElementAccess__Group_1__123142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_rule__ArrayElementAccess__Group_1__1__Impl23170 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__2__Impl_in_rule__ArrayElementAccess__Group_1__223201 = new BitSet(new long[]{0x2000010000000000L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__3_in_rule__ArrayElementAccess__Group_1__223204 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__SubscriptsAssignment_1_2_in_rule__ArrayElementAccess__Group_1__2__Impl23231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__3__Impl_in_rule__ArrayElementAccess__Group_1__323261 = new BitSet(new long[]{0x2000010000000000L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__4_in_rule__ArrayElementAccess__Group_1__323264 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1_3__0_in_rule__ArrayElementAccess__Group_1__3__Impl23291 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1__4__Impl_in_rule__ArrayElementAccess__Group_1__423322 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__ArrayElementAccess__Group_1__4__Impl23350 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1_3__0__Impl_in_rule__ArrayElementAccess__Group_1_3__023391 = new BitSet(new long[]{0x503CA050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1_3__1_in_rule__ArrayElementAccess__Group_1_3__023394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__ArrayElementAccess__Group_1_3__0__Impl23422 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__Group_1_3__1__Impl_in_rule__ArrayElementAccess__Group_1_3__123453 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayElementAccess__SubscriptsAssignment_1_3_1_in_rule__ArrayElementAccess__Group_1_3__1__Impl23480 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group__0__Impl_in_rule__MemberFeatureCall__Group__023514 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group__1_in_rule__MemberFeatureCall__Group__023517 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimaryExpression_in_rule__MemberFeatureCall__Group__0__Impl23544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group__1__Impl_in_rule__MemberFeatureCall__Group__123573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Alternatives_1_in_rule__MemberFeatureCall__Group__1__Impl23600 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_0__0__Impl_in_rule__MemberFeatureCall__Group_1_0__023635 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_0__1_in_rule__MemberFeatureCall__Group_1_0__023638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_0__1__Impl_in_rule__MemberFeatureCall__Group_1_0__123696 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_0__2_in_rule__MemberFeatureCall__Group_1_0__123699 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_74_in_rule__MemberFeatureCall__Group_1_0__1__Impl23727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_0__2__Impl_in_rule__MemberFeatureCall__Group_1_0__223758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__MemberVariableAssignment_1_0_2_in_rule__MemberFeatureCall__Group_1_0__2__Impl23785 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__0__Impl_in_rule__MemberFeatureCall__Group_1_1__023821 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__1_in_rule__MemberFeatureCall__Group_1_1__023824 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__1__Impl_in_rule__MemberFeatureCall__Group_1_1__123882 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__2_in_rule__MemberFeatureCall__Group_1_1__123885 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_74_in_rule__MemberFeatureCall__Group_1_1__1__Impl23913 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__2__Impl_in_rule__MemberFeatureCall__Group_1_1__223944 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__3_in_rule__MemberFeatureCall__Group_1_1__223947 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__FeatureAssignment_1_1_2_in_rule__MemberFeatureCall__Group_1_1__2__Impl23974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__3__Impl_in_rule__MemberFeatureCall__Group_1_1__324004 = new BitSet(new long[]{0x503D8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__4_in_rule__MemberFeatureCall__Group_1_1__324007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__MemberFeatureCall__Group_1_1__3__Impl24035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__4__Impl_in_rule__MemberFeatureCall__Group_1_1__424066 = new BitSet(new long[]{0x503D8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__5_in_rule__MemberFeatureCall__Group_1_1__424069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4__0_in_rule__MemberFeatureCall__Group_1_1__4__Impl24096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1__5__Impl_in_rule__MemberFeatureCall__Group_1_1__524127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__MemberFeatureCall__Group_1_1__5__Impl24155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4__0__Impl_in_rule__MemberFeatureCall__Group_1_1_4__024198 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4__1_in_rule__MemberFeatureCall__Group_1_1_4__024201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_0_in_rule__MemberFeatureCall__Group_1_1_4__0__Impl24228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4__1__Impl_in_rule__MemberFeatureCall__Group_1_1_4__124258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__0_in_rule__MemberFeatureCall__Group_1_1_4__1__Impl24285 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__0__Impl_in_rule__MemberFeatureCall__Group_1_1_4_1__024320 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__1_in_rule__MemberFeatureCall__Group_1_1_4_1__024323 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__MemberFeatureCall__Group_1_1_4_1__0__Impl24351 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_1_4_1__1__Impl_in_rule__MemberFeatureCall__Group_1_1_4_1__124382 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_1_in_rule__MemberFeatureCall__Group_1_1_4_1__1__Impl24409 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__0__Impl_in_rule__MemberFeatureCall__Group_1_2__024443 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__1_in_rule__MemberFeatureCall__Group_1_2__024446 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__1__Impl_in_rule__MemberFeatureCall__Group_1_2__124504 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__2_in_rule__MemberFeatureCall__Group_1_2__124507 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_74_in_rule__MemberFeatureCall__Group_1_2__1__Impl24535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__2__Impl_in_rule__MemberFeatureCall__Group_1_2__224566 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__3_in_rule__MemberFeatureCall__Group_1_2__224569 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__IdentifierAssignment_1_2_2_in_rule__MemberFeatureCall__Group_1_2__2__Impl24596 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__3__Impl_in_rule__MemberFeatureCall__Group_1_2__324626 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__4_in_rule__MemberFeatureCall__Group_1_2__324629 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__MemberFeatureCall__Group_1_2__3__Impl24657 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__4__Impl_in_rule__MemberFeatureCall__Group_1_2__424688 = new BitSet(new long[]{0x0000090000000000L,0x0000000000000800L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__5_in_rule__MemberFeatureCall__Group_1_2__424691 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__VariablesAssignment_1_2_4_in_rule__MemberFeatureCall__Group_1_2__4__Impl24718 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__5__Impl_in_rule__MemberFeatureCall__Group_1_2__524748 = new BitSet(new long[]{0x0000090000000000L,0x0000000000000800L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__6_in_rule__MemberFeatureCall__Group_1_2__524751 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_5__0_in_rule__MemberFeatureCall__Group_1_2__5__Impl24778 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__6__Impl_in_rule__MemberFeatureCall__Group_1_2__624809 = new BitSet(new long[]{0x0000090000000000L,0x0000000000000800L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__7_in_rule__MemberFeatureCall__Group_1_2__624812 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_6__0_in_rule__MemberFeatureCall__Group_1_2__6__Impl24839 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__7__Impl_in_rule__MemberFeatureCall__Group_1_2__724870 = new BitSet(new long[]{0x0000090000000000L,0x0000000000000800L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__8_in_rule__MemberFeatureCall__Group_1_2__724873 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_7__0_in_rule__MemberFeatureCall__Group_1_2__7__Impl24900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__8__Impl_in_rule__MemberFeatureCall__Group_1_2__824931 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__9_in_rule__MemberFeatureCall__Group_1_2__824934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_75_in_rule__MemberFeatureCall__Group_1_2__8__Impl24962 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__9__Impl_in_rule__MemberFeatureCall__Group_1_2__924993 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__10_in_rule__MemberFeatureCall__Group_1_2__924996 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__ExpressionAssignment_1_2_9_in_rule__MemberFeatureCall__Group_1_2__9__Impl25023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2__10__Impl_in_rule__MemberFeatureCall__Group_1_2__1025053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__MemberFeatureCall__Group_1_2__10__Impl25081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_5__0__Impl_in_rule__MemberFeatureCall__Group_1_2_5__025134 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_5__1_in_rule__MemberFeatureCall__Group_1_2_5__025137 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__MemberFeatureCall__Group_1_2_5__0__Impl25165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_5__1__Impl_in_rule__MemberFeatureCall__Group_1_2_5__125196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__VariablesAssignment_1_2_5_1_in_rule__MemberFeatureCall__Group_1_2_5__1__Impl25223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_6__0__Impl_in_rule__MemberFeatureCall__Group_1_2_6__025257 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_6__1_in_rule__MemberFeatureCall__Group_1_2_6__025260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__MemberFeatureCall__Group_1_2_6__0__Impl25288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_6__1__Impl_in_rule__MemberFeatureCall__Group_1_2_6__125319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_1_in_rule__MemberFeatureCall__Group_1_2_6__1__Impl25346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_7__0__Impl_in_rule__MemberFeatureCall__Group_1_2_7__025380 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_7__1_in_rule__MemberFeatureCall__Group_1_2_7__025383 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__MemberFeatureCall__Group_1_2_7__0__Impl25411 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__Group_1_2_7__1__Impl_in_rule__MemberFeatureCall__Group_1_2_7__125442 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_1_in_rule__MemberFeatureCall__Group_1_2_7__1__Impl25469 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group__0__Impl_in_rule__AssignableMemberFeatureCall__Group__025503 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group__1_in_rule__AssignableMemberFeatureCall__Group__025506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssignablePrimaryExpression_in_rule__AssignableMemberFeatureCall__Group__0__Impl25533 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group__1__Impl_in_rule__AssignableMemberFeatureCall__Group__125562 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group_1__0_in_rule__AssignableMemberFeatureCall__Group__1__Impl25589 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group_1__0__Impl_in_rule__AssignableMemberFeatureCall__Group_1__025624 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group_1__1_in_rule__AssignableMemberFeatureCall__Group_1__025627 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group_1__1__Impl_in_rule__AssignableMemberFeatureCall__Group_1__125685 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group_1__2_in_rule__AssignableMemberFeatureCall__Group_1__125688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_74_in_rule__AssignableMemberFeatureCall__Group_1__1__Impl25716 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__Group_1__2__Impl_in_rule__AssignableMemberFeatureCall__Group_1__225747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_2_in_rule__AssignableMemberFeatureCall__Group_1__2__Impl25774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__Group__0__Impl_in_rule__IterationAccumulator__Group__025810 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__Group__1_in_rule__IterationAccumulator__Group__025813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__NameAssignment_0_in_rule__IterationAccumulator__Group__0__Impl25840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__Group__1__Impl_in_rule__IterationAccumulator__Group__125870 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__Group__2_in_rule__IterationAccumulator__Group__125873 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__IterationAccumulator__Group__1__Impl25901 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__Group__2__Impl_in_rule__IterationAccumulator__Group__225932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IterationAccumulator__InitializerAssignment_2_in_rule__IterationAccumulator__Group__2__Impl25959 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__025995 = new BitSet(new long[]{0x0000800000000180L});
    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__025998 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_0_in_rule__RealLiteral__Group__0__Impl26025 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__126055 = new BitSet(new long[]{0x0000800000000180L});
    public static final BitSet FOLLOW_rule__RealLiteral__Group__2_in_rule__RealLiteral__Group__126058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealLiteral__ModifierAssignment_1_in_rule__RealLiteral__Group__1__Impl26085 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealLiteral__Group__2__Impl_in_rule__RealLiteral__Group__226116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RealLiteral__UnitAssignment_2_in_rule__RealLiteral__Group__2__Impl26143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__Group__0__Impl_in_rule__IntegerLiteral__Group__026179 = new BitSet(new long[]{0x0000800000000180L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__Group__1_in_rule__IntegerLiteral__Group__026182 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__ValueAssignment_0_in_rule__IntegerLiteral__Group__0__Impl26209 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__Group__1__Impl_in_rule__IntegerLiteral__Group__126239 = new BitSet(new long[]{0x0000800000000180L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__Group__2_in_rule__IntegerLiteral__Group__126242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__ModifierAssignment_1_in_rule__IntegerLiteral__Group__1__Impl26269 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__Group__2__Impl_in_rule__IntegerLiteral__Group__226300 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IntegerLiteral__UnitAssignment_2_in_rule__IntegerLiteral__Group__2__Impl26327 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__026363 = new BitSet(new long[]{0x0000000000008000L,0x0000000004000000L});
    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__026366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__126424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl26451 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group__0__Impl_in_rule__VariableAccess__Group__026485 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group__1_in_rule__VariableAccess__Group__026488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group__1__Impl_in_rule__VariableAccess__Group__126546 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group__2_in_rule__VariableAccess__Group__126549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__FeatureAssignment_1_in_rule__VariableAccess__Group__1__Impl26576 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group__2__Impl_in_rule__VariableAccess__Group__226606 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group_2__0_in_rule__VariableAccess__Group__2__Impl26633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group_2__0__Impl_in_rule__VariableAccess__Group_2__026670 = new BitSet(new long[]{0x00000000200000E0L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group_2__1_in_rule__VariableAccess__Group_2__026673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__VariableAccess__Group_2__0__Impl26701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group_2__1__Impl_in_rule__VariableAccess__Group_2__126732 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group_2__2_in_rule__VariableAccess__Group_2__126735 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__StepExpressionAssignment_2_1_in_rule__VariableAccess__Group_2__1__Impl26762 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableAccess__Group_2__2__Impl_in_rule__VariableAccess__Group_2__226792 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__VariableAccess__Group_2__2__Impl26820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__0__Impl_in_rule__FunctionCall__Group__026857 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__1_in_rule__FunctionCall__Group__026860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__1__Impl_in_rule__FunctionCall__Group__126918 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__2_in_rule__FunctionCall__Group__126921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__FeatureAssignment_1_in_rule__FunctionCall__Group__1__Impl26948 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__2__Impl_in_rule__FunctionCall__Group__226978 = new BitSet(new long[]{0x503D8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__3_in_rule__FunctionCall__Group__226981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__FunctionCall__Group__2__Impl27009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__3__Impl_in_rule__FunctionCall__Group__327040 = new BitSet(new long[]{0x503D8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__4_in_rule__FunctionCall__Group__327043 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3__0_in_rule__FunctionCall__Group__3__Impl27070 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group__4__Impl_in_rule__FunctionCall__Group__427101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__FunctionCall__Group__4__Impl27129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3__0__Impl_in_rule__FunctionCall__Group_3__027170 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3__1_in_rule__FunctionCall__Group_3__027173 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__ArgumentsAssignment_3_0_in_rule__FunctionCall__Group_3__0__Impl27200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3__1__Impl_in_rule__FunctionCall__Group_3__127230 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3_1__0_in_rule__FunctionCall__Group_3__1__Impl27257 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3_1__0__Impl_in_rule__FunctionCall__Group_3_1__027292 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3_1__1_in_rule__FunctionCall__Group_3_1__027295 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__FunctionCall__Group_3_1__0__Impl27323 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__Group_3_1__1__Impl_in_rule__FunctionCall__Group_3_1__127354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FunctionCall__ArgumentsAssignment_3_1_1_in_rule__FunctionCall__Group_3_1__1__Impl27381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group__0__Impl_in_rule__RangeStepExpression__Group__027415 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group__1_in_rule__RangeStepExpression__Group__027418 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveStepExpression_in_rule__RangeStepExpression__Group__0__Impl27445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group__1__Impl_in_rule__RangeStepExpression__Group__127474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group_1__0_in_rule__RangeStepExpression__Group__1__Impl27501 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group_1__0__Impl_in_rule__RangeStepExpression__Group_1__027536 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group_1__1_in_rule__RangeStepExpression__Group_1__027539 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group_1__1__Impl_in_rule__RangeStepExpression__Group_1__127597 = new BitSet(new long[]{0x00000000200000E0L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group_1__2_in_rule__RangeStepExpression__Group_1__127600 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_76_in_rule__RangeStepExpression__Group_1__1__Impl27628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__Group_1__2__Impl_in_rule__RangeStepExpression__Group_1__227659 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RangeStepExpression__EndAssignment_1_2_in_rule__RangeStepExpression__Group_1__2__Impl27686 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group__0__Impl_in_rule__AdditiveStepExpression__Group__027722 = new BitSet(new long[]{0x0000000030000000L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group__1_in_rule__AdditiveStepExpression__Group__027725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegateStepExpression_in_rule__AdditiveStepExpression__Group__0__Impl27752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group__1__Impl_in_rule__AdditiveStepExpression__Group__127781 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group_1__0_in_rule__AdditiveStepExpression__Group__1__Impl27808 = new BitSet(new long[]{0x0000000030000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group_1__0__Impl_in_rule__AdditiveStepExpression__Group_1__027843 = new BitSet(new long[]{0x0000000030000000L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group_1__1_in_rule__AdditiveStepExpression__Group_1__027846 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group_1__1__Impl_in_rule__AdditiveStepExpression__Group_1__127904 = new BitSet(new long[]{0x00000000200000E0L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group_1__2_in_rule__AdditiveStepExpression__Group_1__127907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__OperatorAssignment_1_1_in_rule__AdditiveStepExpression__Group_1__1__Impl27934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__Group_1__2__Impl_in_rule__AdditiveStepExpression__Group_1__227964 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AdditiveStepExpression__RightOperandAssignment_1_2_in_rule__AdditiveStepExpression__Group_1__2__Impl27991 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__Group_1__0__Impl_in_rule__NegateStepExpression__Group_1__028027 = new BitSet(new long[]{0x00000000200000E0L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__Group_1__1_in_rule__NegateStepExpression__Group_1__028030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__Group_1__1__Impl_in_rule__NegateStepExpression__Group_1__128088 = new BitSet(new long[]{0x00000000000000E0L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__Group_1__2_in_rule__NegateStepExpression__Group_1__128091 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__NegateStepExpression__Group_1__1__Impl28119 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__Group_1__2__Impl_in_rule__NegateStepExpression__Group_1__228150 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegateStepExpression__OperandAssignment_1_2_in_rule__NegateStepExpression__Group_1__2__Impl28177 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepN__Group__0__Impl_in_rule__StepN__Group__028213 = new BitSet(new long[]{0x00000000000000E0L});
    public static final BitSet FOLLOW_rule__StepN__Group__1_in_rule__StepN__Group__028216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StepN__Group__1__Impl_in_rule__StepN__Group__128274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_N_in_rule__StepN__Group__1__Impl28301 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DerivativeOperator__Group__0__Impl_in_rule__DerivativeOperator__Group__028334 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__DerivativeOperator__Group__1_in_rule__DerivativeOperator__Group__028337 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_77_in_rule__DerivativeOperator__Group__0__Impl28365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DerivativeOperator__Group__1__Impl_in_rule__DerivativeOperator__Group__128396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DerivativeOperator__VariableAssignment_1_in_rule__DerivativeOperator__Group__1__Impl28423 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__0__Impl_in_rule__ArrayConstructionOperator__Group__028457 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__1_in_rule__ArrayConstructionOperator__Group__028460 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__ArrayConstructionOperator__Group__0__Impl28488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__1__Impl_in_rule__ArrayConstructionOperator__Group__128519 = new BitSet(new long[]{0x0000010000000000L,0x0000000000004000L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__2_in_rule__ArrayConstructionOperator__Group__128522 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__ExpressionsAssignment_1_in_rule__ArrayConstructionOperator__Group__1__Impl28549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__2__Impl_in_rule__ArrayConstructionOperator__Group__228579 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__3_in_rule__ArrayConstructionOperator__Group__228582 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Alternatives_2_in_rule__ArrayConstructionOperator__Group__2__Impl28609 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group__3__Impl_in_rule__ArrayConstructionOperator__Group__328639 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__ArrayConstructionOperator__Group__3__Impl28667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_0__0__Impl_in_rule__ArrayConstructionOperator__Group_2_0__028706 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_0__1_in_rule__ArrayConstructionOperator__Group_2_0__028709 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__ArrayConstructionOperator__Group_2_0__0__Impl28737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_0__1__Impl_in_rule__ArrayConstructionOperator__Group_2_0__128768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_1_in_rule__ArrayConstructionOperator__Group_2_0__1__Impl28795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1__0__Impl_in_rule__ArrayConstructionOperator__Group_2_1__028829 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1__1_in_rule__ArrayConstructionOperator__Group_2_1__028832 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_78_in_rule__ArrayConstructionOperator__Group_2_1__0__Impl28860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1__1__Impl_in_rule__ArrayConstructionOperator__Group_2_1__128891 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1__2_in_rule__ArrayConstructionOperator__Group_2_1__128894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_1_in_rule__ArrayConstructionOperator__Group_2_1__1__Impl28921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1__2__Impl_in_rule__ArrayConstructionOperator__Group_2_1__228951 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__0_in_rule__ArrayConstructionOperator__Group_2_1__2__Impl28978 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__0__Impl_in_rule__ArrayConstructionOperator__Group_2_1_2__029015 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__1_in_rule__ArrayConstructionOperator__Group_2_1_2__029018 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__ArrayConstructionOperator__Group_2_1_2__0__Impl29046 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__Group_2_1_2__1__Impl_in_rule__ArrayConstructionOperator__Group_2_1_2__129077 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_1_in_rule__ArrayConstructionOperator__Group_2_1_2__1__Impl29104 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__Group__0__Impl_in_rule__ArrayConstructionIterationClause__Group__029138 = new BitSet(new long[]{0x8000000000000000L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__Group__1_in_rule__ArrayConstructionIterationClause__Group__029141 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__VariableNameAssignment_0_in_rule__ArrayConstructionIterationClause__Group__0__Impl29168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__Group__1__Impl_in_rule__ArrayConstructionIterationClause__Group__129198 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__Group__2_in_rule__ArrayConstructionIterationClause__Group__129201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_rule__ArrayConstructionIterationClause__Group__1__Impl29229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__Group__2__Impl_in_rule__ArrayConstructionIterationClause__Group__229260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_2_in_rule__ArrayConstructionIterationClause__Group__2__Impl29287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__0__Impl_in_rule__ArrayConcatenationOperator__Group__029323 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__1_in_rule__ArrayConcatenationOperator__Group__029326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_rule__ArrayConcatenationOperator__Group__0__Impl29354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__1__Impl_in_rule__ArrayConcatenationOperator__Group__129385 = new BitSet(new long[]{0x2000080000000000L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__2_in_rule__ArrayConcatenationOperator__Group__129388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__RowsAssignment_1_in_rule__ArrayConcatenationOperator__Group__1__Impl29415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__2__Impl_in_rule__ArrayConcatenationOperator__Group__229445 = new BitSet(new long[]{0x2000080000000000L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__3_in_rule__ArrayConcatenationOperator__Group__229448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group_2__0_in_rule__ArrayConcatenationOperator__Group__2__Impl29475 = new BitSet(new long[]{0x0000080000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group__3__Impl_in_rule__ArrayConcatenationOperator__Group__329506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__ArrayConcatenationOperator__Group__3__Impl29534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group_2__0__Impl_in_rule__ArrayConcatenationOperator__Group_2__029573 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group_2__1_in_rule__ArrayConcatenationOperator__Group_2__029576 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__ArrayConcatenationOperator__Group_2__0__Impl29604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__Group_2__1__Impl_in_rule__ArrayConcatenationOperator__Group_2__129635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ArrayConcatenationOperator__RowsAssignment_2_1_in_rule__ArrayConcatenationOperator__Group_2__1__Impl29662 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group__0__Impl_in_rule__ExpressionList__Group__029696 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group__1_in_rule__ExpressionList__Group__029699 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__ExpressionsAssignment_0_in_rule__ExpressionList__Group__0__Impl29726 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group__1__Impl_in_rule__ExpressionList__Group__129756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group_1__0_in_rule__ExpressionList__Group__1__Impl29783 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group_1__0__Impl_in_rule__ExpressionList__Group_1__029818 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group_1__1_in_rule__ExpressionList__Group_1__029821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__ExpressionList__Group_1__0__Impl29849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__Group_1__1__Impl_in_rule__ExpressionList__Group_1__129880 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExpressionList__ExpressionsAssignment_1_1_in_rule__ExpressionList__Group_1__1__Impl29907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitConstructionOperator__Group__0__Impl_in_rule__UnitConstructionOperator__Group__029941 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__UnitConstructionOperator__Group__1_in_rule__UnitConstructionOperator__Group__029944 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_79_in_rule__UnitConstructionOperator__Group__0__Impl29972 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitConstructionOperator__Group__1__Impl_in_rule__UnitConstructionOperator__Group__130003 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitConstructionOperator__UnitAssignment_1_in_rule__UnitConstructionOperator__Group__1__Impl30030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__0__Impl_in_rule__ParenthesizedExpression__Group__030064 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__1_in_rule__ParenthesizedExpression__Group__030067 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__ParenthesizedExpression__Group__0__Impl30095 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__1__Impl_in_rule__ParenthesizedExpression__Group__130126 = new BitSet(new long[]{0x0001010000000000L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__2_in_rule__ParenthesizedExpression__Group__130129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__ExpressionsAssignment_1_in_rule__ParenthesizedExpression__Group__1__Impl30156 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__2__Impl_in_rule__ParenthesizedExpression__Group__230186 = new BitSet(new long[]{0x0001010000000000L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__3_in_rule__ParenthesizedExpression__Group__230189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group_2__0_in_rule__ParenthesizedExpression__Group__2__Impl30216 = new BitSet(new long[]{0x0000010000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group__3__Impl_in_rule__ParenthesizedExpression__Group__330247 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__ParenthesizedExpression__Group__3__Impl30275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group_2__0__Impl_in_rule__ParenthesizedExpression__Group_2__030314 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group_2__1_in_rule__ParenthesizedExpression__Group_2__030317 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__ParenthesizedExpression__Group_2__0__Impl30345 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__Group_2__1__Impl_in_rule__ParenthesizedExpression__Group_2__130376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ParenthesizedExpression__ExpressionsAssignment_2_1_in_rule__ParenthesizedExpression__Group_2__1__Impl30403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EndExpression__Group__0__Impl_in_rule__EndExpression__Group__030437 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
    public static final BitSet FOLLOW_rule__EndExpression__Group__1_in_rule__EndExpression__Group__030440 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EndExpression__Group__1__Impl_in_rule__EndExpression__Group__130498 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_80_in_rule__EndExpression__Group__1__Impl30526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AlgorithmExpression__Group__0__Impl_in_rule__AlgorithmExpression__Group__030561 = new BitSet(new long[]{0x10008040000083F0L,0x000000000403A000L});
    public static final BitSet FOLLOW_rule__AlgorithmExpression__Group__1_in_rule__AlgorithmExpression__Group__030564 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AlgorithmExpression__Group__1__Impl_in_rule__AlgorithmExpression__Group__130622 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__AlgorithmExpression__Group__2_in_rule__AlgorithmExpression__Group__130625 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_81_in_rule__AlgorithmExpression__Group__1__Impl30653 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AlgorithmExpression__Group__2__Impl_in_rule__AlgorithmExpression__Group__230684 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AlgorithmExpression__BodyAssignment_2_in_rule__AlgorithmExpression__Group__2__Impl30711 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Compound__Group__0__Impl_in_rule__Compound__Group__030747 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__Compound__Group__1_in_rule__Compound__Group__030750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Compound__Group__1__Impl_in_rule__Compound__Group__130808 = new BitSet(new long[]{0x001080C000000180L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__Compound__Group__2_in_rule__Compound__Group__130811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__Compound__Group__1__Impl30839 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Compound__Group__2__Impl_in_rule__Compound__Group__230870 = new BitSet(new long[]{0x001080C000000180L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__Compound__Group__3_in_rule__Compound__Group__230873 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Compound__StatementsAssignment_2_in_rule__Compound__Group__2__Impl30900 = new BitSet(new long[]{0x0010804000000182L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__Compound__Group__3__Impl_in_rule__Compound__Group__330931 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Compound__Group__3__Impl30959 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assignment__Group__0__Impl_in_rule__Assignment__Group__030998 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__Assignment__Group__1_in_rule__Assignment__Group__031001 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assignment__TargetAssignment_0_in_rule__Assignment__Group__0__Impl31028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assignment__Group__1__Impl_in_rule__Assignment__Group__131058 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__Assignment__Group__2_in_rule__Assignment__Group__131061 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Assignment__Group__1__Impl31089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assignment__Group__2__Impl_in_rule__Assignment__Group__231120 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__Assignment__Group__3_in_rule__Assignment__Group__231123 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assignment__ExpressionAssignment_2_in_rule__Assignment__Group__2__Impl31150 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assignment__Group__3__Impl_in_rule__Assignment__Group__331180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Assignment__Group__3__Impl31208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__0__Impl_in_rule__VariableDeclaration__Group__031247 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__1_in_rule__VariableDeclaration__Group__031250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__VariableDeclaration__Group__0__Impl31278 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__1__Impl_in_rule__VariableDeclaration__Group__131309 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__2_in_rule__VariableDeclaration__Group__131312 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__NameAssignment_1_in_rule__VariableDeclaration__Group__1__Impl31339 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__2__Impl_in_rule__VariableDeclaration__Group__231369 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__3_in_rule__VariableDeclaration__Group__231372 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__VariableDeclaration__Group__2__Impl31400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__3__Impl_in_rule__VariableDeclaration__Group__331431 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__4_in_rule__VariableDeclaration__Group__331434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__InitializerAssignment_3_in_rule__VariableDeclaration__Group__3__Impl31461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VariableDeclaration__Group__4__Impl_in_rule__VariableDeclaration__Group__431491 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__VariableDeclaration__Group__4__Impl31519 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__0__Impl_in_rule__IfStatement__Group__031560 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__1_in_rule__IfStatement__Group__031563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_64_in_rule__IfStatement__Group__0__Impl31591 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__1__Impl_in_rule__IfStatement__Group__131622 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__2_in_rule__IfStatement__Group__131625 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__IfStatement__Group__1__Impl31653 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__2__Impl_in_rule__IfStatement__Group__231684 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__3_in_rule__IfStatement__Group__231687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__ConditionAssignment_2_in_rule__IfStatement__Group__2__Impl31714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__3__Impl_in_rule__IfStatement__Group__331744 = new BitSet(new long[]{0x0010804000000180L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__4_in_rule__IfStatement__Group__331747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__IfStatement__Group__3__Impl31775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__4__Impl_in_rule__IfStatement__Group__431806 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__5_in_rule__IfStatement__Group__431809 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__ThenStatementAssignment_4_in_rule__IfStatement__Group__4__Impl31836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group__5__Impl_in_rule__IfStatement__Group__531866 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group_5__0_in_rule__IfStatement__Group__5__Impl31893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group_5__0__Impl_in_rule__IfStatement__Group_5__031936 = new BitSet(new long[]{0x0010804000000180L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__IfStatement__Group_5__1_in_rule__IfStatement__Group_5__031939 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_66_in_rule__IfStatement__Group_5__0__Impl31968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group_5__1__Impl_in_rule__IfStatement__Group_5__132000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__ElseStatementAssignment_5_1_in_rule__IfStatement__Group_5__1__Impl32027 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__0__Impl_in_rule__WhileStatement__Group__032061 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__1_in_rule__WhileStatement__Group__032064 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_82_in_rule__WhileStatement__Group__0__Impl32092 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__1__Impl_in_rule__WhileStatement__Group__132123 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__2_in_rule__WhileStatement__Group__132126 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__WhileStatement__Group__1__Impl32154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__2__Impl_in_rule__WhileStatement__Group__232185 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__3_in_rule__WhileStatement__Group__232188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__ConditionAssignment_2_in_rule__WhileStatement__Group__2__Impl32215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__3__Impl_in_rule__WhileStatement__Group__332245 = new BitSet(new long[]{0x0010804000000180L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__4_in_rule__WhileStatement__Group__332248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__WhileStatement__Group__3__Impl32276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__Group__4__Impl_in_rule__WhileStatement__Group__432307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__WhileStatement__BodyAssignment_4_in_rule__WhileStatement__Group__4__Impl32334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__0__Impl_in_rule__ForStatement__Group__032374 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__1_in_rule__ForStatement__Group__032377 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_78_in_rule__ForStatement__Group__0__Impl32405 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__1__Impl_in_rule__ForStatement__Group__132436 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__2_in_rule__ForStatement__Group__132439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__ForStatement__Group__1__Impl32467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__2__Impl_in_rule__ForStatement__Group__232498 = new BitSet(new long[]{0x8000000000000000L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__3_in_rule__ForStatement__Group__232501 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__IterationVariableAssignment_2_in_rule__ForStatement__Group__2__Impl32528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__3__Impl_in_rule__ForStatement__Group__332558 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__4_in_rule__ForStatement__Group__332561 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_rule__ForStatement__Group__3__Impl32589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__4__Impl_in_rule__ForStatement__Group__432620 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__5_in_rule__ForStatement__Group__432623 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__CollectionExpressionAssignment_4_in_rule__ForStatement__Group__4__Impl32650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__5__Impl_in_rule__ForStatement__Group__532680 = new BitSet(new long[]{0x0010804000000180L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__6_in_rule__ForStatement__Group__532683 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__ForStatement__Group__5__Impl32711 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__Group__6__Impl_in_rule__ForStatement__Group__632742 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ForStatement__BodyAssignment_6_in_rule__ForStatement__Group__6__Impl32769 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__0__Impl_in_rule__DoWhileStatement__Group__032813 = new BitSet(new long[]{0x0010804000000180L,0x00000000007C4001L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__1_in_rule__DoWhileStatement__Group__032816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_83_in_rule__DoWhileStatement__Group__0__Impl32844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__1__Impl_in_rule__DoWhileStatement__Group__132875 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__2_in_rule__DoWhileStatement__Group__132878 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__BodyAssignment_1_in_rule__DoWhileStatement__Group__1__Impl32905 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__2__Impl_in_rule__DoWhileStatement__Group__232935 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__3_in_rule__DoWhileStatement__Group__232938 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_82_in_rule__DoWhileStatement__Group__2__Impl32966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__3__Impl_in_rule__DoWhileStatement__Group__332997 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__4_in_rule__DoWhileStatement__Group__333000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__DoWhileStatement__Group__3__Impl33028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__4__Impl_in_rule__DoWhileStatement__Group__433059 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__5_in_rule__DoWhileStatement__Group__433062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__ConditionAssignment_4_in_rule__DoWhileStatement__Group__4__Impl33089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__5__Impl_in_rule__DoWhileStatement__Group__533119 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__6_in_rule__DoWhileStatement__Group__533122 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__DoWhileStatement__Group__5__Impl33150 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DoWhileStatement__Group__6__Impl_in_rule__DoWhileStatement__Group__633181 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__DoWhileStatement__Group__6__Impl33209 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContinueStatement__Group__0__Impl_in_rule__ContinueStatement__Group__033254 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
    public static final BitSet FOLLOW_rule__ContinueStatement__Group__1_in_rule__ContinueStatement__Group__033257 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContinueStatement__Group__1__Impl_in_rule__ContinueStatement__Group__133315 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__ContinueStatement__Group__2_in_rule__ContinueStatement__Group__133318 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_84_in_rule__ContinueStatement__Group__1__Impl33346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContinueStatement__Group__2__Impl_in_rule__ContinueStatement__Group__233377 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__ContinueStatement__Group__2__Impl33405 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BreakStatement__Group__0__Impl_in_rule__BreakStatement__Group__033442 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
    public static final BitSet FOLLOW_rule__BreakStatement__Group__1_in_rule__BreakStatement__Group__033445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BreakStatement__Group__1__Impl_in_rule__BreakStatement__Group__133503 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__BreakStatement__Group__2_in_rule__BreakStatement__Group__133506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_85_in_rule__BreakStatement__Group__1__Impl33534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BreakStatement__Group__2__Impl_in_rule__BreakStatement__Group__233565 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__BreakStatement__Group__2__Impl33593 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReturnStatement__Group__0__Impl_in_rule__ReturnStatement__Group__033630 = new BitSet(new long[]{0x503C8050200083F0L,0x000000000703A009L});
    public static final BitSet FOLLOW_rule__ReturnStatement__Group__1_in_rule__ReturnStatement__Group__033633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_86_in_rule__ReturnStatement__Group__0__Impl33661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReturnStatement__Group__1__Impl_in_rule__ReturnStatement__Group__133692 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__ReturnStatement__Group__2_in_rule__ReturnStatement__Group__133695 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReturnStatement__ExpressionAssignment_1_in_rule__ReturnStatement__Group__1__Impl33722 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ReturnStatement__Group__2__Impl_in_rule__ReturnStatement__Group__233752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__ReturnStatement__Group__2__Impl33780 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group__0__Impl_in_rule__Unit__Group__033817 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_rule__Unit__Group__1_in_rule__Unit__Group__033820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group__1__Impl_in_rule__Unit__Group__133878 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Alternatives_1_in_rule__Unit__Group__1__Impl33905 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_0__0__Impl_in_rule__Unit__Group_1_0__033939 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_0__1_in_rule__Unit__Group_1_0__033942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__Unit__Group_1_0__0__Impl33970 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_0__1__Impl_in_rule__Unit__Group_1_0__134001 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__Unit__Group_1_0__1__Impl34029 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__0__Impl_in_rule__Unit__Group_1_1__034064 = new BitSet(new long[]{0x00000000000001A0L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__1_in_rule__Unit__Group_1_1__034067 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__Unit__Group_1_1__0__Impl34095 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__1__Impl_in_rule__Unit__Group_1_1__134126 = new BitSet(new long[]{0x0001000080000000L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__2_in_rule__Unit__Group_1_1__134129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__NumeratorAssignment_1_1_1_in_rule__Unit__Group_1_1__1__Impl34156 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__2__Impl_in_rule__Unit__Group_1_1__234186 = new BitSet(new long[]{0x0001000080000000L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__3_in_rule__Unit__Group_1_1__234189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1_2__0_in_rule__Unit__Group_1_1__2__Impl34216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1__3__Impl_in_rule__Unit__Group_1_1__334247 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__Unit__Group_1_1__3__Impl34275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1_2__0__Impl_in_rule__Unit__Group_1_1_2__034314 = new BitSet(new long[]{0x00008000000001A0L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1_2__1_in_rule__Unit__Group_1_1_2__034317 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Unit__Group_1_1_2__0__Impl34345 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__Group_1_1_2__1__Impl_in_rule__Unit__Group_1_1_2__134376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Unit__DenominatorAssignment_1_1_2_1_in_rule__Unit__Group_1_1_2__1__Impl34403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__0__Impl_in_rule__ExplicitUnit__Group__034437 = new BitSet(new long[]{0x00000000000001A0L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__1_in_rule__ExplicitUnit__Group__034440 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__ExplicitUnit__Group__0__Impl34468 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__1__Impl_in_rule__ExplicitUnit__Group__134499 = new BitSet(new long[]{0x0001000080000000L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__2_in_rule__ExplicitUnit__Group__134502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__NumeratorAssignment_1_in_rule__ExplicitUnit__Group__1__Impl34529 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__2__Impl_in_rule__ExplicitUnit__Group__234559 = new BitSet(new long[]{0x0001000080000000L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__3_in_rule__ExplicitUnit__Group__234562 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group_2__0_in_rule__ExplicitUnit__Group__2__Impl34589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group__3__Impl_in_rule__ExplicitUnit__Group__334620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__ExplicitUnit__Group__3__Impl34648 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group_2__0__Impl_in_rule__ExplicitUnit__Group_2__034687 = new BitSet(new long[]{0x00008000000001A0L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group_2__1_in_rule__ExplicitUnit__Group_2__034690 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__ExplicitUnit__Group_2__0__Impl34718 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__Group_2__1__Impl_in_rule__ExplicitUnit__Group_2__134749 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ExplicitUnit__DenominatorAssignment_2_1_in_rule__ExplicitUnit__Group_2__1__Impl34776 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_0__0__Impl_in_rule__UnitNumerator__Group_0__034810 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_0__1_in_rule__UnitNumerator__Group_0__034813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_0__1__Impl_in_rule__UnitNumerator__Group_0__134871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ONE_in_rule__UnitNumerator__Group_0__1__Impl34898 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1__0__Impl_in_rule__UnitNumerator__Group_1__034931 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1__1_in_rule__UnitNumerator__Group_1__034934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__FactorsAssignment_1_0_in_rule__UnitNumerator__Group_1__0__Impl34961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1__1__Impl_in_rule__UnitNumerator__Group_1__134991 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1_1__0_in_rule__UnitNumerator__Group_1__1__Impl35018 = new BitSet(new long[]{0x0000000040000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1_1__0__Impl_in_rule__UnitNumerator__Group_1_1__035053 = new BitSet(new long[]{0x00000000000001A0L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1_1__1_in_rule__UnitNumerator__Group_1_1__035056 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__UnitNumerator__Group_1_1__0__Impl35084 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__Group_1_1__1__Impl_in_rule__UnitNumerator__Group_1_1__135115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitNumerator__FactorsAssignment_1_1_1_in_rule__UnitNumerator__Group_1_1__1__Impl35142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__0__Impl_in_rule__UnitDenominator__Group_1__035176 = new BitSet(new long[]{0x00000000000001A0L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__1_in_rule__UnitDenominator__Group_1__035179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__UnitDenominator__Group_1__0__Impl35207 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__1__Impl_in_rule__UnitDenominator__Group_1__135238 = new BitSet(new long[]{0x0001000040000000L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__2_in_rule__UnitDenominator__Group_1__135241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__FactorsAssignment_1_1_in_rule__UnitDenominator__Group_1__1__Impl35268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__2__Impl_in_rule__UnitDenominator__Group_1__235298 = new BitSet(new long[]{0x0001000040000000L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__3_in_rule__UnitDenominator__Group_1__235301 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1_2__0_in_rule__UnitDenominator__Group_1__2__Impl35328 = new BitSet(new long[]{0x0000000040000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1__3__Impl_in_rule__UnitDenominator__Group_1__335359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__UnitDenominator__Group_1__3__Impl35387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1_2__0__Impl_in_rule__UnitDenominator__Group_1_2__035426 = new BitSet(new long[]{0x00000000000001A0L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1_2__1_in_rule__UnitDenominator__Group_1_2__035429 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__UnitDenominator__Group_1_2__0__Impl35457 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__Group_1_2__1__Impl_in_rule__UnitDenominator__Group_1_2__135488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitDenominator__FactorsAssignment_1_2_1_in_rule__UnitDenominator__Group_1_2__1__Impl35515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group__0__Impl_in_rule__UnitFactor__Group__035549 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group__1_in_rule__UnitFactor__Group__035552 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__SymbolAssignment_0_in_rule__UnitFactor__Group__0__Impl35579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group__1__Impl_in_rule__UnitFactor__Group__135609 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group_1__0_in_rule__UnitFactor__Group__1__Impl35636 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group_1__0__Impl_in_rule__UnitFactor__Group_1__035671 = new BitSet(new long[]{0x0000000020000060L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group_1__1_in_rule__UnitFactor__Group_1__035674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__UnitFactor__Group_1__0__Impl35702 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__Group_1__1__Impl_in_rule__UnitFactor__Group_1__135733 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitFactor__ExponentAssignment_1_1_in_rule__UnitFactor__Group_1__1__Impl35760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitExponent__Group__0__Impl_in_rule__UnitExponent__Group__035794 = new BitSet(new long[]{0x0000000020000060L});
    public static final BitSet FOLLOW_rule__UnitExponent__Group__1_in_rule__UnitExponent__Group__035797 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__UnitExponent__Group__0__Impl35826 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UnitExponent__Group__1__Impl_in_rule__UnitExponent__Group__135859 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidInt_in_rule__UnitExponent__Group__1__Impl35886 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__035919 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__035922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group__0__Impl35949 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__135978 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl36005 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__036040 = new BitSet(new long[]{0x0000000000000180L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__036043 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_87_in_rule__QualifiedName__Group_1__0__Impl36071 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__136102 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group_1__1__Impl36129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinition_in_rule__Module__DefinitionsAssignment36167 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__EnumerationDefinition__NameAssignment_136198 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumerationLiteralDeclaration_in_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_036229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnumerationLiteralDeclaration_in_rule__EnumerationDefinition__LiteralDeclarationsAssignment_3_1_136260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__EnumerationLiteralDeclaration__NameAssignment36291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__TypeAliasDefinition__NameAssignment_136322 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimitiveType_in_rule__TypeAliasDefinition__TypeAssignment_336353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__RecordDefinition__NameAssignment_136384 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecordFieldDeclaration_in_rule__RecordDefinition__FieldDeclarationsAssignment_336415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__RecordFieldDeclaration__NameAssignment_036446 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeSpecifier_in_rule__RecordFieldDeclaration__TypeAssignment_236477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionKind_in_rule__FunctionDefinition__KindAssignment_036508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__FunctionDefinition__NameAssignment_236539 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTemplateParameterDeclaration_in_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_136570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTemplateParameterDeclaration_in_rule__FunctionDefinition__TemplateParameterDeclarationsAssignment_3_2_136601 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInputParameterDeclaration_in_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_036632 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInputParameterDeclaration_in_rule__FunctionDefinition__InputParameterDeclarationsAssignment_5_1_136663 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOutputParameterDeclaration_in_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_836694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOutputParameterDeclaration_in_rule__FunctionDefinition__OutputParameterDeclarationsAssignment_9_136725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheck_in_rule__FunctionDefinition__ChecksAssignment_11_036756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssertion_in_rule__FunctionDefinition__AssertionsAssignment_11_136787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFunctionObjectDeclaration_in_rule__FunctionDefinition__FunctionObjectDeclarationsAssignment_11_236818 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStateVariableDeclaration_in_rule__FunctionDefinition__StateVariableDeclarationsAssignment_11_336849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEquation_in_rule__FunctionDefinition__EquationsAssignment_11_436880 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__TemplateParameterDeclaration__NameAssignment36911 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__InputParameterDeclaration__NameAssignment36942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__OutputParameterDeclaration__NameAssignment36973 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__Check__TemplateArgumentsAssignment_1_137004 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__Check__TemplateArgumentsAssignment_1_2_137035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeSpecifier_in_rule__Check__InputParameterTypesAssignment_3_037066 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeSpecifier_in_rule__Check__InputParameterTypesAssignment_3_1_137097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeSpecifier_in_rule__Check__OutputParameterTypesAssignment_637128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeSpecifier_in_rule__Check__OutputParameterTypesAssignment_7_137159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_88_in_rule__Assertion__StaticAssignment_037195 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__Assertion__ConditionAssignment_237234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssertionStatusKind_in_rule__Assertion__StatusKindAssignment_437265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__Assertion__MessageAssignment_537296 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__StateVariableDeclaration__NameAssignment_137327 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__FunctionObjectDeclaration__NameAssignment_137358 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__FunctionObjectDeclaration__FunctionNameAssignment_337393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_137428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__FunctionObjectDeclaration__TemplateArgumentsAssignment_4_2_137459 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_89_in_rule__Equation__InitialAssignment_037495 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__Equation__LeftHandSideAssignment_137534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__Equation__RightHandSideAssignment_337565 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DataTypeSpecifier__DefinedTypeAlternatives_0_0_in_rule__DataTypeSpecifier__DefinedTypeAssignment_037596 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__DataTypeSpecifier__TypeAssignment_137633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnit_in_rule__RealType__UnitAssignment_237668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnit_in_rule__IntegerType__UnitAssignment_237699 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnit_in_rule__ComplexType__UnitAssignment_237730 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnit_in_rule__GaussianType__UnitAssignment_237761 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimitiveType_in_rule__ArrayType__DefinedElementTypeAssignment_1_0_0_037792 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ArrayType__ElementTypeAssignment_1_0_0_137827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayDimension_in_rule__ArrayType__DimensionsAssignment_1_237862 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayDimension_in_rule__ArrayType__DimensionsAssignment_1_3_137893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumericType_in_rule__TensorType__DefinedElementTypeAssignment_037924 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayDimension_in_rule__TensorType__DimensionsAssignment_237955 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayDimension_in_rule__TensorType__DimensionsAssignment_3_137986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ArrayDimension__SizeAssignment_138017 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpressionVariableDeclaration_in_rule__LetExpression__VariableDeclarationsAssignment_138048 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpressionVariableDeclaration_in_rule__LetExpression__VariableDeclarationsAssignment_2_138079 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__LetExpression__TargetExpressionAssignment_438110 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpressionVariableDeclarationPart_in_rule__LetExpressionVariableDeclaration__PartsAssignment_0_038141 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpressionVariableDeclarationPart_in_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_138172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLetExpressionVariableDeclarationPart_in_rule__LetExpressionVariableDeclaration__PartsAssignment_0_1_2_138203 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__LetExpressionVariableDeclaration__AssignedExpressionAssignment_238234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__LetExpressionVariableDeclarationPart__NameAssignment38265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_88_in_rule__IfExpression__StaticAssignment_038301 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__IfExpression__ConditionAssignment_238340 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__IfExpression__ThenExpressionAssignment_438371 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__IfExpression__ElseExpressionAssignment_638402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_88_in_rule__SwitchExpression__StaticAssignment_038438 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__SwitchExpression__ControlExpressionAssignment_238477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSwitchCase_in_rule__SwitchExpression__CasesAssignment_338508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__SwitchExpression__DefaultExpressionAssignment_638539 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImpliesExpression_in_rule__SwitchCase__CaseExpressionAssignment_138570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__SwitchCase__ResultExpressionAssignment_338601 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImpliesExpression_in_rule__RangeExpression__OperandsAssignment_1_238632 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImpliesExpression_in_rule__RangeExpression__OperandsAssignment_1_3_138663 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogicalOrExpression_in_rule__ImpliesExpression__RightOperandAssignment_1_238694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogicalAndExpression_in_rule__LogicalOrExpression__RightOperandAssignment_1_238725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEqualityExpression_in_rule__LogicalAndExpression__RightOperandAssignment_1_238756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEqualityOperator_in_rule__EqualityExpression__OperatorAssignment_1_138787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRelationalExpression_in_rule__EqualityExpression__RightOperandAssignment_1_238818 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRelationalOperator_in_rule__RelationalExpression__OperatorAssignment_1_0_0_138849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveExpression_in_rule__RelationalExpression__RightOperandAssignment_1_0_0_238880 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDataTypeSpecifier_in_rule__RelationalExpression__TypeAssignment_1_0_1_238911 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveOperator_in_rule__AdditiveExpression__OperatorAssignment_1_138942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_rule__AdditiveExpression__RightOperandAssignment_1_238973 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMultiplicativeOperator_in_rule__MultiplicativeExpression__OperatorAssignment_1_139004 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePowerExpression_in_rule__MultiplicativeExpression__RightOperandAssignment_1_239035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePowerOperator_in_rule__PowerExpression__OperatorAssignment_1_139066 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnaryExpression_in_rule__PowerExpression__ExponentAssignment_1_239097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnaryOperator_in_rule__UnaryExpression__OperatorAssignment_1_139128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePostfixExpression_in_rule__UnaryExpression__OperandAssignment_1_239159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePostfixOperator_in_rule__PostfixExpression__OperatorAssignment_1_139190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArraySubscript_in_rule__ArrayElementAccess__SubscriptsAssignment_1_239221 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArraySubscript_in_rule__ArrayElementAccess__SubscriptsAssignment_1_3_139252 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__MemberFeatureCall__MemberVariableAssignment_1_0_239287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__MemberFeatureCall__FeatureAssignment_1_1_239326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_039361 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__MemberFeatureCall__ArgumentsAssignment_1_1_4_1_139392 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__MemberFeatureCall__IdentifierAssignment_1_2_239423 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIterationVariable_in_rule__MemberFeatureCall__VariablesAssignment_1_2_439454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIterationVariable_in_rule__MemberFeatureCall__VariablesAssignment_1_2_5_139485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIterationAccumulator_in_rule__MemberFeatureCall__AccumulatorAssignment_1_2_6_139516 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__MemberFeatureCall__BreakConditionAssignment_1_2_7_139547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__MemberFeatureCall__ExpressionAssignment_1_2_939578 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__AssignableMemberFeatureCall__MemberVariableAssignment_1_239613 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__IterationVariable__NameAssignment39648 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__IterationAccumulator__NameAssignment_039679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__IterationAccumulator__InitializerAssignment_239710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__ArraySubscript__SliceAssignment_039746 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ArraySubscript__ExpressionAssignment_139785 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidDouble_in_rule__RealLiteral__ValueAssignment_039816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__RealLiteral__ModifierAssignment_139847 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnit_in_rule__RealLiteral__UnitAssignment_239878 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidLong_in_rule__IntegerLiteral__ValueAssignment_039909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__IntegerLiteral__ModifierAssignment_139940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnit_in_rule__IntegerLiteral__UnitAssignment_239971 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_90_in_rule__BooleanLiteral__TrueAssignment_1_040007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment40046 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__VariableAccess__FeatureAssignment_140081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStepExpression_in_rule__VariableAccess__StepExpressionAssignment_2_140116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__FunctionCall__FeatureAssignment_140151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__FunctionCall__ArgumentsAssignment_3_040186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__FunctionCall__ArgumentsAssignment_3_1_140217 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveStepExpression_in_rule__RangeStepExpression__EndAssignment_1_240248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAdditiveOperator_in_rule__AdditiveStepExpression__OperatorAssignment_1_140279 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegateStepExpression_in_rule__AdditiveStepExpression__RightOperandAssignment_1_240310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimitiveStepExpression_in_rule__NegateStepExpression__OperandAssignment_1_240341 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidInt_in_rule__StepLiteral__ValueAssignment40372 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__DerivativeOperator__VariableAssignment_140407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ArrayConstructionOperator__ExpressionsAssignment_140442 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ArrayConstructionOperator__ExpressionsAssignment_2_0_140473 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayConstructionIterationClause_in_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_140504 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArrayConstructionIterationClause_in_rule__ArrayConstructionOperator__IterationClausesAssignment_2_1_2_140535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__ArrayConstructionIterationClause__VariableNameAssignment_040566 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ArrayConstructionIterationClause__CollectionExpressionAssignment_240597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpressionList_in_rule__ArrayConcatenationOperator__RowsAssignment_140628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpressionList_in_rule__ArrayConcatenationOperator__RowsAssignment_2_140659 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ExpressionList__ExpressionsAssignment_040690 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ExpressionList__ExpressionsAssignment_1_140721 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExplicitUnit_in_rule__UnitConstructionOperator__UnitAssignment_140752 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ParenthesizedExpression__ExpressionsAssignment_140783 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ParenthesizedExpression__ExpressionsAssignment_2_140814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCompound_in_rule__AlgorithmExpression__BodyAssignment_240845 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__Compound__StatementsAssignment_240876 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssignableMemberFeatureCall_in_rule__Assignment__TargetAssignment_040907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__Assignment__ExpressionAssignment_240938 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__VariableDeclaration__NameAssignment_140969 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__VariableDeclaration__InitializerAssignment_341000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__IfStatement__ConditionAssignment_241031 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__IfStatement__ThenStatementAssignment_441062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__IfStatement__ElseStatementAssignment_5_141093 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__WhileStatement__ConditionAssignment_241124 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__WhileStatement__BodyAssignment_441155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIterationVariable_in_rule__ForStatement__IterationVariableAssignment_241186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ForStatement__CollectionExpressionAssignment_441217 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__ForStatement__BodyAssignment_641248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__DoWhileStatement__BodyAssignment_141279 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__DoWhileStatement__ConditionAssignment_441310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExpression_in_rule__ReturnStatement__ExpressionAssignment_141341 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitNumerator_in_rule__Unit__NumeratorAssignment_1_1_141372 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitDenominator_in_rule__Unit__DenominatorAssignment_1_1_2_141403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImplicitUnitNumerator_in_rule__Unit__NumeratorAssignment_1_241434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitNumerator_in_rule__ExplicitUnit__NumeratorAssignment_141465 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitDenominator_in_rule__ExplicitUnit__DenominatorAssignment_2_141496 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitFactor_in_rule__UnitNumerator__FactorsAssignment_1_041527 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitFactor_in_rule__UnitNumerator__FactorsAssignment_1_1_141558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitFactor_in_rule__UnitDenominator__FactorsAssignment_041589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitFactor_in_rule__UnitDenominator__FactorsAssignment_1_141620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitFactor_in_rule__UnitDenominator__FactorsAssignment_1_2_141651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValidID_in_rule__UnitFactor__SymbolAssignment_041682 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUnitExponent_in_rule__UnitFactor__ExponentAssignment_1_141713 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTensorType_in_synpred16_InternalMscript7052 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RelationalExpression__Group_1__0_in_synpred108_InternalMscript21151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStatement__Group_5__0_in_synpred134_InternalMscript31893 = new BitSet(new long[]{0x0000000000000002L});

}